Kaedah chakravala

Kaedah ***chakravala*** () ialah algoritma kitaran untuk menyelesaikan tak tentu persamaan kuadratiks , termasuk persamaan Pell. Ia biasanya dikaitkan dengan Bhāskara II, (s. 1114 – 1185 CE) walaupun ada yang mengaitkannya dengan Jayadeva (s. 950 ~ 1000 CE). Jayadeva menegaskan bahawa pendekatan Brahmagupta untuk menyelesaikan persamaan jenis ini boleh digeneralisasikan, dan dia kemudian menerangkan kaedah umum ini, yang kemudiannya diperhalusi oleh Bhāskara II dalam risalah *[[Bijaganita]]*nya. Dia memanggilnya kaedah Chakravala: *chakra* bermaksud "roda" dalam Sanskrit, merujuk kepada sifat kitaran algoritma. C.-O. Selenius berpendapat bahawa tiada persembahan Eropah pada masa Bhāskara, dan tidak lama kemudian, melebihi ketinggian kerumitan matematiknya yang mengagumkan.

Kaedah ini juga dikenali sebagai **kaedah kitaran** dan mengandungi kesan aruhan matematik.

## Sejarah
*Chakra* dalam bahasa Sanskrit bermaksud kitaran. Mengikut legenda popular, Chakravala menunjukkan rangkaian mitos gunung yang mengelilingi bumi seperti dinding dan tidak dihadkan oleh cahaya dan kegelapan.

Brahmagupta pada 628 CE mengkaji persamaan kuadratik tak tentu, termasuk persamaan Pell

:\,x^2 = Ny^2 + 1,

untuk integer minimum *x* dan *y*. Brahmagupta boleh menyelesaikannya untuk beberapa *N*, tetapi bukan semua.

Jayadeva (abad ke-9) dan Bhaskara (abad ke-12) menawarkan penyelesaian lengkap pertama untuk persamaan, menggunakan kaedah *chakravala* untuk mencari \,x^2 = 61y^2 + 1, penyelesaiannya

:\,x = 1 766 319 049, y = 226 153 980.

Kes ini terkenal dengan kesukarannya, dan pertama kali diselesaikan di Eropah oleh Brouncker pada 1657–58 sebagai tindak balas kepada cabaran oleh Fermat , menggunakan pecahan bersambung. Kaedah untuk masalah umum pertama kali diterangkan sepenuhnya oleh Lagrange pada tahun 1766. Kaedah Lagrange, walau bagaimanapun, memerlukan pengiraan 21 penumpuan berturut-turut bagi pecahan bersambung untuk punca kuasa dua daripada 61, manakala kaedah *chakravala* adalah lebih mudah. Selenius, dalam penilaiannya tentang kaedah "chakravala", menyatakan

: "Kaedah ini mewakili algoritma penghampiran terbaik dengan panjang minimum yang, disebabkan oleh beberapa sifat pengecilan, dengan usaha yang minimum dan mengelakkan bilangan besar secara automatik menghasilkan penyelesaian terbaik kepada persamaan. Kaedah *chakravala* menjangkakan kaedah Eropah dengan lebih daripada seribu tahun. Tetapi tiada persembahan Eropah dalam keseluruhan bidang algebra pada satu masa lebih lewat daripada Bhaskara, bahkan hampir menyamai zaman kita, menyamai kerumitan dan kepintaran yang menakjubkan dari *chakravala*."

Hermann Hankel memanggil kaedah *chakravala*
: "perkara terbaik yang dicapai dalam teori nombor sebelum Lagrange."

## Kaedahnya
Daripada pengenalan Brahmagupta, kita perhatikan bahawa untuk diberikan *N*,

:(x_1x_2 + Ny_1y_2)^2 - N(x_1y_2 + x_2y_1)^2 = (x_1^2 - Ny_1^2)(x_2^2 - Ny_2^2)

Untuk persamaan x^2 - Ny^2 = k, ini membenarkan "komposisi" (*samāsa*) dua penyelesaian tiga kali ganda (x_1, y_1, k_1) dan (x_2, y_2, k_2) menjadi tiga kali ganda baru

:(x_1x_2 + Ny_1y_2 \,,\, x_1y_2 + x_2y_1 \,,\, k_1k_2).

Dalam kaedah umum, idea utama ialah mana-mana tiga (a,b,k) (iaitu, satu yang memenuhi a^2 - Nb^2 = k) boleh digubah dengan tiga kali ganda (m, 1, m^2 - N) untuk mendapatkan tiga kali ganda (am + Nb, a+bm, k(m^2-N) ) untuk sebarang *m*. Dengan mengandaikan kita bermula dengan tiga kali ganda yang \gcd(a,b)=1, ini boleh dikecilkan dengan *k* (ini ialah lemma Bhaskara):

:a^2 - Nb^2 = k \Rightarrow \left(\frac{am+Nb}{k}\right)^2 - N\left(\frac{a+bm}{k}\right)^2 = \frac{m^2-N}{k}

Oleh kerana tanda-tanda di dalam petak tidak penting, penggantian berikut adalah mungkin:

:a\leftarrow\frac{am+Nb}, b\leftarrow\frac{a+bm}, k\leftarrow\frac{m^2-N}{k}

Apabila integer positif *m* dipilih supaya (*a*&nbsp;+&nbsp;*bm*)/*k* ialah integer, begitu juga dengan dua nombor lain dalam rangkap tiga. Di antara *m* itu, kaedah memilih kaedah yang meminimumkan nilai mutlak *m*2&nbsp;&minus;&nbsp;*N* dan oleh itu daripada (*m*2&nbsp;&minus;&nbsp;*N*)/*k*. Kemudian hubungan penggantian digunakan untuk *m* sama dengan nilai yang dipilih. Ini menghasilkan tiga kali ganda baharu (*a*, *b*, *k*). Proses ini diulang sehingga tiga kali ganda dengan k=1 ditemui. Kaedah ini sentiasa ditamatkan dengan penyelesaian (dibuktikan oleh Lagrange pada tahun 1768).
Secara pilihan, kita boleh berhenti apabila *k* ialah ±1, ±2, atau ±4, kerana pendekatan Brahmagupta memberikan penyelesaian untuk kes tersebut.

## Kaedah gubahan Brahmagupta
Pada tahun 628 Masihi, Brahmagupta menemui cara umum untuk mencari x dan y bagi x^2 = Ny^2 + 1, apabila diberi a^2 = Nb^2 + k, apabila k ialah ±1, ±2, atau ±4. 

### k = -1
Menggunakan pengenalan Brahmagupta, untuk mengarang tiga (a,b,k) dengan dirinya sendiri:
(a^2+Nb^2)^2-N(2ab)^2=k^2 \Rightarrow (2a^2-k)^2-N(2ab)^2=k^2

Tiga kali ganda baharu boleh dinyatakan sebagai (2a^2-k,2ab,k^2). Menggantikan k=-1 untuk mendapatkan penyelesaian:

x=2a^2+1, 
y=2ab

### k = ±2
Sekali lagi menggunakan persamaan,(2a^2-k)^2-N(2ab)^2=k^2\Rightarrow \left( \frac{2a^2-k}{k} \right)^2-N \left (\frac{2ab}{k} \right)^2=1

Menggantikan k=2,

x=a^2-1, 
y=ab

Menggantikan k=-2,

x=a^2+1, 
y=ab

### k = 4
Menggantikan k=4 ke dalam persamaan (\frac{2a^2-4}{4})^2-N(\frac{2ab}{4})^2=1 mencipta tiga kali ganda (\frac{a^2-2}{2},\frac{ab}{2},1).

Manakah penyelesaian jika a genap:

x=\frac{a^2-2}{2},
y=\frac{ab}{2}


Jika a ganjil, mulakan dengan persamaan (\frac{a}{2})^2-N(\frac{b}{2})^2=1 dan (\ frac{2a^2-4}{4})^2-N(\frac{2ab}{4})^2=1.

Membawa kepada tiga kali ganda (\frac{a}{2},\frac{b}{2},1) dan (\frac{a^2-2}{2},\frac{ab}{2},1). Mengarang tiga kali ganda memberi (\frac{a}{2}(a^2-3))^2-N(\frac{b}{2}(a^2-1))^2=1

Apabila a ganjil,

x=\frac{a}{2}(a^2-3))^2,
y=(\frac{b}{2}(a^2-1))^2

### k = -4
Apabila k=-4, then (\frac{a}{2})^2-N(\frac{b}{2})^2=-1. Mengarang dengan sendiri membuahkan hasil (\frac{a^2+Nb^2}{4})^2-N(\frac{ab}{2})^2=1\Rightarrow(\frac{a^2+2}{2})^2-N(\frac{ab}{2})^2=1.

Sekali lagi mengarang sendiri membuahkan hasil (\frac{(a^2+2)^2+Na^2b^2)}{4})^2-N(\frac{ab(a^2+2)}{2})^2=1\Rightarrow (\frac{a^4+4a^2+2}{2})^2-N(\frac{ab(a^2+2)}{2})^2=1

Akhir sekali, daripada persamaan terdahulu, susun tiga kali ganda (\frac{a^2+2}{2},\frac{ab}{2},1) dan (\frac{a^4+4a^2+2}{2},\frac{ab(a^2+2)}{2},1), untuk mendapatkan
(\frac{(a^2+2)(a^4+4a^2+2)+Na^2b^2 (a^2+2)}{4})^2-N(\frac{ab(a^4+4a^2+3)}{2})^2=1\Rightarrow(\frac{(a^2+2)(a^4+4a^2+1)}{2})^2-N(\frac{ab(a^2+3)(a^2+1)}{2})^2=1\Rightarrow(\frac{(a^2+2)[(a^2+1)(a^2+3)-2)]}{2})^2-N(\frac{ab(a^2+3)(a^2+1)}{2})^2=1. 

Ini memberi kita penyelesaian

x=\frac{(a^2+2)[(a^2+1)(a^2+3)-2)]}{2}
y=\frac{ab(a^2+3)(a^2+1)}{2}

(Note, k=-4 berguna untuk mencari penyelesaian kepada Persamaan Pell, tetapi ia bukan selalunya pasangan integer terkecil. cth. 36^2-52*5^2=-4. Persamaan akan memberi anda x=1093436498,y=151632270, yang apabila dimasukkan ke dalam Persamaan Pell menghasilkan 1195601955878350801-1195601955878350800 = 1, yang berfungsi, tetapi begitu juga x = 649,y=90 untuk N=52.

## Contoh
### ''n'' = 61
Kes *n*&nbsp;=&nbsp;61 (menentukan penyelesaian integer yang memuaskan a^2 - 61b^2 = 1), dikeluarkan sebagai cabaran oleh Fermat berabad-abad kemudian, telah diberikan oleh Bhaskara sebagai contoh.

Kita mulakan dengan penyelesaian a^2 - 61b^2 = k untuk sebarang *k* yang ditemui dengan apa-apa cara. Dalam kes ini kita boleh membiarkan *b* menjadi 1, oleh itu, oleh kerana 8^2 - 61\cdot1^2 = 3, kita mempunyai tiga kali ganda (a,b,k) = (8, 1, 3). Mengarangnya dengan (m, 1, m^2-61) memberikan tiga kali ganda (8m+61, 8+m, 3(m^2-61)), yang dikecilkan (atau lemma Bhaskara digunakan secara langsung) untuk mendapatkan:
: \left( \frac{8m+61}{3}, \frac{8+m}{3}, \frac{m^2-61}{3} \right).

Untuk 3 membahagikan 8+m dan |m^2-61| menjadi minimum, kami memilih m=7, supaya kami mempunyai tiga kali ganda (39, 5, -4). Memandangkan *k* ialah &tolak;4, kita boleh menggunakan idea Brahmagupta: ia boleh dikecilkan kepada penyelesaian rasional (39/2, 5/2, -1)\,, yang digubah dengan dirinya sendiri tiga kali, dengan masing-masing m={7,11,9}, apabila k menjadi segi empat sama dan penskalaan boleh digunakan, ini memberikan (1523/2, 195/2, 1 )\,. Akhir sekali, prosedur sedemikian boleh diulang sehingga penyelesaian ditemui (memerlukan 9 gubahan diri tambahan dan 4 skala persegi tambahan): (1766319049,\, 226153980,\, 1). Ini ialah penyelesaian integer minimum.

### ''n'' = 67
Katakan kita hendak menyelesaikan x^2 - 67y^2 = 1 untuk *x* dan *y*.

Kita mulakan dengan penyelesaian a^2 - 67b^2 = k untuk sebarang *k* yang ditemui dengan sebarang cara; dalam kes ini kita boleh membiarkan *b* menjadi 1, dengan itu menghasilkan 8^2 - 67\cdot1^2 = -3. Pada setiap langkah, kami menemui *m*&nbsp;>&nbsp;0 sedemikian rupa sehingga *k* membahagikan *a*&nbsp;+&nbsp;*bm* dan |*m*2&nbsp;&tolak;&nbsp;67| adalah minimum. Kami kemudian mengemas kini *a*, *b* dan *k* kepada \frac{am+Nb}, \frac{a+bm}  dan \frac{m^2-N}{k} masing-masing.

;Lelaran pertama
Kami mempunyai (a,b,k) = (8,1,-3). Kami mahukan integer positif *m* supaya *k* membahagi *a*&nbsp;+&nbsp;*bm*, iaitu 3 bahagi 8 + m dan |*m*2&nbsp;&tolak;&nbsp;67| adalah minimum. Syarat pertama membayangkan bahawa *m* adalah dalam bentuk 3*t* + 1 (iaitu 1, 4, 7, 10,… dll.), dan di antara *m* itu, nilai minimum ialah dicapai untuk *m* = 7. Menggantikan (*a*,&nbsp;*b*,&nbsp;*k*) dengan \left(\frac{am+Nb}, \frac{a+bm}, \frac{m^2-N}{k}\right), kita mendapat nilai baharu a = (8\ cdot7+67\cdot1)/3 = 41, b = (8 + 1\cdot7)/3 = 5, k = (7^2-67)/(-3) = 6. Iaitu, kami mempunyai penyelesaian baharu:
: 41^2 - 67\cdot(5)^2 = 6.

Pada ketika ini, satu pusingan algoritma kitaran selesai.

;Lelaran kedua
Kami kini mengulangi proses itu. Kami mempunyai (a,b,k) = (41,5,6). Kami mahukan *m*&nbsp;>&nbsp;0 supaya *k* membahagikan *a*&nbsp;+&nbsp;*bm*, iaitu 6 bahagi 41&nbsp;+&nbsp;5*m * dan |*m*2&nbsp;&minus;&nbsp;67| adalah minimum. Syarat pertama membayangkan bahawa *m* adalah dalam bentuk 6*t*&nbsp;+&nbsp;5 (iaitu 5, 11, 17,… dsb.), dan antara *m* itu, |*m*2&nbsp;&minus;&nbsp;67| adalah minimum untuk *m*&nbsp;=&nbsp;5. Ini membawa kepada penyelesaian baharu *a*&nbsp;=&nbsp;(41⋅5&nbsp;+&nbsp;67⋅5)/6, dsb.:
:90^2 - 67 \cdot 11^2 = -7.

;Lelaran ketiga
Untuk 7 membahagi 90 + 11*m*, kita mesti mempunyai *m* = 2&nbsp;+&nbsp;7*t* (iaitu 2, 9, 16,… dsb.) dan antara * m*, kita pilih *m* = 9.

:221^2 - 67\cdot 27^2 = -2.

;Penyelesaian muktamad
Pada ketika ini, kita boleh meneruskan kaedah kitaran (dan ia akan berakhir, selepas tujuh lelaran), tetapi memandangkan sebelah kanan adalah antara ±1, ±2, ±4, kita juga boleh menggunakan pemerhatian Brahmagupta secara langsung. Mengarang tiga kali ganda (221, 27, &tolak;2) dengan dirinya sendiri, kita dapat
: \left(\frac{221^2 + 67\cdot27^2}{2}\right)^2 - 67\cdot(221\cdot27)^2 = 1,

iaitu, kita mempunyai penyelesaian integer:
: 48842^2 - 67 \cdot 5967^2 = 1.

Persamaan ini menghampiri \sqrt{67} sebagai  \frac{48842}{5967} dalam jidar kira-kira  2 \times 10^{-9}.

## Nota

## Rujukan
*Florian Cajori (1918), Origin of the Name "Mathematical Induction", *[[The American Mathematical Monthly]]* **25** (5), p.&nbsp;197-201.
*George Gheverghese Joseph, *[[The Crest of the Peacock: Non-European Roots of Mathematics]]* (1975).
*G. R. Kaye, "Indian Mathematics", *Isis* **2**:2 (1919), p.&nbsp;326–356.
*Clas-Olaf Selenius, "Rationale of the chakravala process of Jayadeva and Bhaskara II", *Historia Mathematica* **2** (1975), pp.&nbsp;167–184.
*Clas-Olaf Selenius, "Kettenbruchtheoretische Erklärung der zyklischen Methode zur Lösung der Bhaskara-Pell-Gleichung", *Acta Acad. Abo. Math. Phys.* **23** (10) (1963), pp.&nbsp;1–44.
*Hoiberg, Dale & Ramchandani, Indu (2000). *Students' Britannica India*. Mumbai: Popular Prakashan. 
*Goonatilake, Susantha (1998). *Toward a Global Science: Mining Civilizational Knowledge*. Indiana: Indiana University Press. .
*Kumar, Narendra (2004). *Science in Ancient India*. Delhi: Anmol Publications Pvt Ltd. 
*Ploker, Kim (2007) "Mathematics in India". *The Mathematics of Egypt, Mesopotamia, China, India, and Islam: A Sourcebook* New Jersey: Princeton University Press. 
*

## Pautan luar
*Introduction to chakravala