Sıradan diferansiyel denklemler için sayısal yöntemler - Numerical methods for ordinary differential equations

Diferansiyel denklem için sayısal entegrasyonun gösterimi Mavi: Euler yöntemi, yeşil: the orta nokta yöntemi, kırmızı: tam çözüm, Adım boyutu
Aynı örnek için Orta nokta yöntemi, Euler yönteminden daha hızlı birleşir. .

Sıradan diferansiyel denklemler için sayısal yöntemler bulmak için kullanılan yöntemler sayısal çözümlerine yaklaşımlar adi diferansiyel denklemler (ODE'ler). Kullanımları "Sayısal entegrasyon ", ancak bu terim aynı zamanda integraller.

Birçok diferansiyel denklem kullanılarak çözülemez sembolik hesaplama ("analiz"). Bununla birlikte, pratik amaçlar için - mühendislik gibi - çözüme sayısal bir yaklaşım genellikle yeterlidir. algoritmalar burada incelenen böyle bir yaklaşımı hesaplamak için kullanılabilir. Alternatif bir yöntem, aşağıdaki teknikleri kullanmaktır. hesap elde etmek için seri genişleme çözümün.

Sıradan diferansiyel denklemler, aşağıdakiler dahil birçok bilimsel disiplinde ortaya çıkar: fizik, kimya, Biyoloji, ve ekonomi.[1] Ek olarak, bazı yöntemler sayısal kısmi diferansiyel denklemler dönüştürmek kısmi diferansiyel denklem daha sonra çözülmesi gereken sıradan bir diferansiyel denklem haline getirilir.

Sorun

Birinci dereceden diferansiyel denklem bir İlk değer sorunu (IVP) formunun,[2]

nerede bir işlev ve başlangıç ​​koşulu verilen bir vektördür. Birinci derece sadece ilk türevi olduğu anlamına gelir y denklemde görünür ve daha yüksek türevler yoktur.

Üst düzey sistemlere genelliği kaybetmeden, kendimizi aşağıdakilerle sınırlandırıyoruz: birinci derece Diferansiyel denklemler, çünkü daha yüksek dereceden bir ODE, ekstra değişkenler ekleyerek daha büyük bir birinci derece denklem sistemine dönüştürülebilir. Örneğin, ikinci dereceden denklem y'' = −y iki birinci dereceden denklem olarak yeniden yazılabilir: y' = z ve z' = −y.

Bu bölümde, IVP'ler için sayısal yöntemleri açıklıyoruz ve sınır değer problemleri (BVP'ler) farklı bir araç seti gerektirir. BVP'de, çözümün değerleri veya bileşenleri tanımlanır y birden fazla noktada. Bu nedenle, BVP'leri çözmek için farklı yöntemlerin kullanılması gerekir. Örneğin, atış yöntemi (ve türevleri) veya benzeri global yöntemler sonlu farklar,[3] Galerkin yöntemleri,[4] veya sıralama yöntemleri bu tür problemler için uygundur.

Picard-Lindelöf teoremi sağlanan benzersiz bir çözüm olduğunu belirtir f dır-dir Lipschitz-sürekli.

Yöntemler

Birinci dereceden IVP'leri çözmek için sayısal yöntemler genellikle iki büyük kategoriden birine girer:[5] doğrusal çok adımlı yöntemler veya Runge-Kutta yöntemleri. Yöntemleri açık ve örtük olanlara bölerek daha ileri bir ayrım gerçekleştirilebilir. Örneğin, örtük doğrusal çok adımlı yöntemler Dahil etmek Adams-Moulton yöntemleri, ve geriye doğru farklılaştırma yöntemleri (BDF), oysa örtük Runge – Kutta yöntemleri[6] çapraz olarak örtük Runge – Kutta (DIRK) dahil,[7][8] tek başına çapraz olarak örtük Runge – Kutta (SDIRK),[9] ve Gauss – Radau[10] (dayalı Gauss kuadratürü[11]) Sayısal yöntemler. Açık örnekler doğrusal çok adımlı aile Dahil et Adams-Bashforth yöntemleri ve daha düşük köşegenli herhangi bir Runge – Kutta yöntemi Kasap tablosu dır-dir açık. Gevşek bir kural, katı diferansiyel denklemler örtük şemaların kullanılmasını gerektirirken, katı olmayan problemler açık şemalarla daha verimli bir şekilde çözülebilir.

Sözde genel doğrusal yöntemler (GLM'ler), yukarıdaki iki büyük yöntem sınıfının bir genellemesidir.[12]

Euler yöntemi

Eğri üzerindeki herhangi bir noktadan, bir çizgi boyunca kısa bir mesafeyi hareket ettirerek eğri üzerindeki yakın bir noktanın yaklaşık değerini bulabilirsiniz. teğet eğriye.

Diferansiyel denklem (1) ile başlayarak, türevi değiştiriyoruz y'tarafından Sonlu fark yaklaşım

yeniden düzenlendiğinde aşağıdaki formülü verir

ve (1) kullanmak:

Bu formül genellikle şu şekilde uygulanır. Bir adım boyutu seçiyoruz hve diziyi oluşturuyoruz t0, t1 = t0 + h, t2 = t0 + 2h,… İle ifade ediyoruz yn kesin çözümün sayısal bir tahmini y(tn). (3) tarafından motive edilerek, bu tahminleri aşağıdaki şekilde hesaplıyoruz yinelemeli plan

Bu Euler yöntemi (veya ileri Euler yöntemi aksine geriye dönük Euler yöntemi, aşağıda açıklanacaktır). Yöntemin adı Leonhard Euler 1768'de kim tarif etti.

Euler yöntemi bir örnektir. açık yöntem. Bu, yeni değerin yn + 1 zaten bilinen şeyler açısından tanımlanır, örneğin yn.

Geriye dönük Euler yöntemi

(2) yerine yaklaştırmayı kullanırsak

biz alırız geriye dönük Euler yöntemi:

Geriye dönük Euler yöntemi bir örtük yöntem, yani bulmak için bir denklem çözmemiz gerektiği anlamına gelir yn+1. Biri sıklıkla kullanır sabit nokta yineleme veya (bazı değişiklikler) Newton – Raphson yöntemi Bunu başarmak için.

Bu denklemi çözmek, açık yöntemlerden daha fazla zamana mal olur; Kullanılacak yöntemi seçerken bu maliyet dikkate alınmalıdır. (6) gibi örtük yöntemlerin avantajı, bir sorunu çözmek için genellikle daha kararlı olmalarıdır. katı denklem, adım boyutu daha büyük h kullanılabilir.

Birinci dereceden üstel entegratör yöntemi

Üstel entegratörler, son zamanlarda pek çok gelişme görmüş büyük bir entegratör sınıfını tanımlar.[13] En azından 1960'lara kadar uzanıyorlar.

(1) yerine, diferansiyel denklemin formlardan biri olduğunu varsayıyoruz

veya doğrusal bir terim üretmek için bir arka plan durumu hakkında yerel olarak doğrusallaştırılmıştır ve doğrusal olmayan bir terim .

Üstel tümleştiriciler, (7) ile çarpılarak oluşturulur. ve sonucun bir zaman aralığı boyunca tam olarak entegre edilmesi :

Bu integral denklem kesindir, ancak integrali tanımlamaz.

Birinci dereceden üstel entegratör, tutularak gerçekleştirilebilir tam aralık boyunca sabit:

Genellemeler

Euler yöntemi genellikle yeterince doğru değildir. Daha kesin bir ifadeyle, yalnızca bir siparişe sahiptir (kavramı sipariş aşağıda açıklanmıştır). Bu, matematikçilerin üst düzey yöntemler aramasına neden oldu.

Bir olasılık, yalnızca önceden hesaplanan değeri kullanmak değil yn karar vermek yn+1, ancak çözümü daha eski değerlere bağlı hale getirmek. Bu sözde verir çok adımlı yöntem. Belki de en basit olanı leapfrog yöntemi bu ikinci derecedir ve (kabaca konuşursak) iki zaman değerine dayanır.

Hemen hemen tüm pratik çok adımlı yöntemler, doğrusal çok adımlı yöntemler, hangi forma sahip

Başka bir olasılık, aralıkta daha fazla nokta kullanmaktır [tn,tn+1]. Bu, ailesine götürür Runge-Kutta yöntemleri, adını Carl Runge ve Martin Kutta. Dördüncü dereceden yöntemlerinden biri özellikle popülerdir.

Gelişmiş özellikler

Bir ODE'yi çözmek için bu yöntemlerden birinin iyi bir şekilde uygulanması, zaman adımlı formülden daha fazlasını gerektirir.

Her zaman aynı adım boyutunu kullanmak genellikle verimsizdir, bu nedenle değişken adım boyutu yöntemleri geliştirildi. Genellikle, adım boyutu, adım başına (yerel) hata bazı tolerans seviyelerinin altında olacak şekilde seçilir. Bu, yöntemlerin ayrıca bir hesaplama yapması gerektiği anlamına gelir. hata göstergesi, yerel hatanın bir tahmini.

Bu fikrin bir uzantısı, farklı siparişlerin farklı yöntemleri arasında dinamik olarak seçim yapmaktır (buna bir değişken sipariş yöntemi). Dayalı yöntemler Richardson ekstrapolasyonu,[14] benzeri Bulirsch – Stoer algoritması,[15][16] genellikle farklı sıralardan çeşitli yöntemler oluşturmak için kullanılır.

Diğer istenen özellikler şunları içerir:

  • yoğun çıktı: tüm entegrasyon aralığı için ucuz sayısal tahminler ve sadece noktalarda değil t0, t1, t2, ...
  • olay yeri: belirli bir işlevin kaybolduğu zamanları bulmak. Bu, genellikle bir kök bulma algoritması.
  • için destek paralel hesaplama.
  • zamana göre entegrasyon için kullanıldığında, zamanın tersine çevrilebilirliği

Alternatif yöntemler

Birçok yöntem burada tartışılan çerçeveye girmez. Bazı alternatif yöntem sınıfları şunlardır:

  • çok türevi yöntemler, yalnızca işlevi kullanmayan f aynı zamanda türevleri. Bu sınıf şunları içerir: Hermite – Obreschkoff yöntemleri ve Fehlberg yöntemleri gibi yöntemlerin yanı sıra Parker – Sochacki yöntemi[17] veya Bychkov-Scherbakov yöntemi, katsayıları hesaplar Taylor serisi çözümün y tekrarlı.
  • ikinci dereceden ODE'ler için yöntemler. Tüm yüksek dereceli ODE'lerin (1) formundaki birinci dereceden ODE'lere dönüştürülebileceğini söyledik. Bu kesinlikle doğru olsa da, ilerlemenin en iyi yolu olmayabilir. Özellikle, Nyström yöntemleri doğrudan ikinci mertebeden denklemlerle çalışır.
  • geometrik entegrasyon yöntemleri[18][19] özellikle özel ODE sınıfları için tasarlanmıştır (örneğin, semplektik entegratörler çözümü için Hamilton denklemleri ). Sayısal çözümün bu sınıfların temel yapısına veya geometrisine saygı duymasına dikkat ederler.
  • Nicelleştirilmiş durum sistemleri yöntemleri durum nicelemesi fikrine dayanan bir ODE entegrasyon yöntemleri ailesidir. Sık süreksizliklere sahip seyrek sistemleri simüle ederken etkilidirler.

Zaman içinde paralel yöntemler

Gerektiren uygulamalar için paralel hesaplama açık süper bilgisayarlar sayısal bir yöntemle sunulan eşzamanlılık derecesi alakalı hale gelir. Gelen zorluklar göz önüne alındığında üst düzey bilgi işlem sistemler, sayısal yöntemler ilk değer problemleri zamansal yönde eşzamanlılık sağlayabilecek olan çalışmalar yapılmaktadır.[20]Parareal nispeten iyi bilinen bir örnektir böyle bir paralel zaman entegrasyon yöntemi, ancak erken fikirler 1960'lara kadar uzanıyor.[21]

Analiz

Sayısal analiz sadece sayısal yöntemlerin tasarımı değil, aynı zamanda analizidir. Bu analizdeki üç temel kavram şunlardır:

  • yakınsama: yöntemin çözüme yakın olup olmadığı,
  • sipariş: çözüme ne kadar yaklaştığı ve
  • istikrar: hataların bastırılıp azaltılmayacağı.[22]

Yakınsama

Sayısal bir yöntem olduğu söyleniyor yakınsak sayısal çözüm adım boyutu olarak kesin çözüme yaklaşırsa h 0'a gider. Daha doğrusu, her ODE (1) için bir Lipschitz işlevi f ve hepsi t* > 0,

Yukarıda belirtilen tüm yöntemler yakınsaktır.

Tutarlılık ve düzen

Sayısal yöntemin

yerel (kesme) hatası yöntemin bir adımı tarafından işlenen hatadır. Yani, önceki adımlarda herhangi bir hata yapılmadığı varsayılarak, yöntem tarafından verilen sonuç ile kesin çözüm arasındaki farktır:

Yöntem olduğu söyleniyor tutarlı Eğer

Yöntem vardır sipariş Eğer

Dolayısıyla bir yöntem 0'dan büyük bir sıraya sahipse tutarlıdır. Yukarıda sunulan (ileri) Euler yöntemi (4) ve geriye dönük Euler yönteminin (6) her ikisi de 1. sıraya sahiptir, dolayısıyla tutarlıdırlar. Pratikte kullanılan yöntemlerin çoğu daha yüksek seviyeye ulaşır. Tutarlılık yakınsama için gerekli bir koşuldur[kaynak belirtilmeli ], ancak yeterli değil; bir yöntemin yakınsak olması için hem tutarlı hem de sıfır kararlı.

İlgili bir kavram, genel (kesme) hatasısabit bir zamana ulaşmak için ihtiyaç duyulan tüm adımlarda yaşanan hata t. Açıkça, zamandaki genel hata t dır-dir yN − y(t) nerede N = (tt0)/h. Bir küresel hata psırayla tek adımlı yöntem O (hp); özellikle böyle bir yöntem yakınsaktır. Bu ifade, çok adımlı yöntemler için mutlaka doğru değildir.

Kararlılık ve sertlik

Bazı diferansiyel denklemler için, Euler yöntemi gibi standart yöntemlerin uygulanması, açıkça Runge-Kutta yöntemleri veya çok adımlı yöntemler (örneğin, Adams – Bashforth yöntemleri) —çözümlerde istikrarsızlık sergiler, ancak diğer yöntemler kararlı çözümler üretebilir. Denklemdeki bu "zor davranış" (kendisi karmaşık olmayabilir) şu şekilde tanımlanır: sertlikve genellikle altta yatan problemde farklı zaman ölçeklerinin varlığından kaynaklanır.[23] Örneğin, mekanik bir sistemdeki bir çarpışma çarpma osilatörü tipik olarak nesnelerin hareket süresinden çok daha küçük bir zaman ölçeğinde meydana gelir; bu tutarsızlık durum parametrelerinin eğrilerinde çok "keskin dönüşler" meydana getirir.

Sert problemler her yerde bulunur kimyasal kinetik, kontrol teorisi, katı mekanik, hava Durumu tahmini, Biyoloji, plazma fiziği, ve elektronik. Sertliğin üstesinden gelmenin bir yolu, diferansiyel denklem fikrini aşağıdakilere genişletmektir. diferansiyel dahil etme düzensizliğe izin veren ve modelleyen.[24][25]

Tarih

Aşağıda bir zaman çizelgesi Bu alandaki bazı önemli gelişmelerden.[26][27]

İkinci dereceden tek boyutlu sınır değer problemlerine sayısal çözümler

Sınır değer problemleri (BVP'ler) genellikle orijinal BVP'nin ayrıklaştırılmasıyla elde edilen yaklaşık olarak eşdeğer bir matris probleminin çözülmesiyle sayısal olarak çözülür.[28] BVP'leri bir boyutta sayısal olarak çözmek için en yaygın kullanılan yöntem, Sonlu Fark Yöntemi.[3] Bu yöntem, oluşturmak için nokta değerlerinin doğrusal kombinasyonlarından yararlanır sonlu fark katsayıları fonksiyonun türevlerini tanımlayan. Örneğin, ikinci dereceden merkezi fark ilk türeve yaklaşıklık şu şekilde verilir:

ve ikinci dereceden merkezi fark ikinci türev için şu şekilde verilir:

Bu formüllerin her ikisinde de, komşu arasındaki mesafedir x ayrıklaştırılmış alandaki değerler. Biri daha sonra standart olarak çözülebilen doğrusal bir sistem oluşturur. matris yöntemleri. Örneğin, çözülecek denklemin:

Bir sonraki adım, problemi ayrıklaştırmak ve aşağıdaki gibi doğrusal türev yaklaşımları kullanmak olacaktır.

ve ortaya çıkan doğrusal denklem sistemini çözer. Bu, aşağıdaki gibi denklemlere yol açar:

İlk bakışta, bu denklem sistemi, denklemin değişkenlerle çarpılmayan hiçbir terim içermemesi gerçeğiyle bağlantılı olarak güçlük çekiyor gibi görünüyor, ama aslında bu yanlış. Şurada: ben = 1 ve n - 1 Sınır değerlerini içeren bir terim var ve ve bu iki değer bilindiği için, bunları basitçe bu denkleme ikame edebilir ve sonuç olarak önemsiz olmayan çözümleri olan homojen olmayan doğrusal bir denklem sistemine sahip olabilir.

Ayrıca bakınız

Notlar

  1. ^ Chicone, C. (2006). Uygulamalı sıradan diferansiyel denklemler (Cilt 34). Springer Science & Business Media.
  2. ^ Bradie (2006, s. 533–655)
  3. ^ a b LeVeque, R.J. (2007). Sıradan ve kısmi diferansiyel denklemler için sonlu fark yöntemleri: kararlı durum ve zamana bağlı problemler (Cilt 98). SIAM.
  4. ^ Slimane Adjerid ve Mahboub Baccouch (2010) Galerkin yöntemleri. Scholarpedia, 5 (10): 10056.
  5. ^ Griffiths, D. F. ve Higham, D. J. (2010). Sıradan diferansiyel denklemler için sayısal yöntemler: başlangıç ​​değer problemleri. Springer Science & Business Media.
  6. ^ Hairer, Nørsett & Wanner (1993, s. 204–215)
  7. ^ Alexander, R. (1977). Katı ODE'ler için çapraz olarak örtük Runge – Kutta yöntemleri. SIAM Sayısal Analiz Dergisi, 14 (6), 1006-1021.
  8. ^ Nakit, J.R. (1979). Hata tahminleri ile çapraz olarak örtük Runge-Kutta formülleri. IMA Uygulamalı Matematik Dergisi, 24 (3), 293-301.
  9. ^ Ferracina, L. ve Spijker, M.N. (2008). Tek başına çapraz olarak örtük Runge-Kutta yöntemlerinin güçlü kararlılığı. Uygulamalı Sayısal Matematik, 58 (11), 1675-1686.
  10. ^ Everhart, E. (1985). Gauss-Radau aralıklarını kullanan verimli bir entegratör. International Astronomical Union Colloquium'da (Cilt 83, s. 185-202). Cambridge University Press.
  11. ^ Weisstein, Eric W. "Gauss Dörtgenliği." MathWorld'den - Bir Wolfram Web Kaynağı. https://mathworld.wolfram.com/GaussianQuadrature.html
  12. ^ Kasap, J.C. (1987). Adi diferansiyel denklemlerin sayısal analizi: Runge-Kutta ve genel doğrusal yöntemler. Wiley-Interscience.
  13. ^ Hochbruck (2010, s. 209–286) Bu, üstel entegratörler için modern ve kapsamlı bir inceleme belgesidir
  14. ^ Brezinski, C. ve Zaglia, M.R. (2013). Ekstrapolasyon yöntemleri: teori ve pratik. Elsevier.
  15. ^ Monroe, J.L. (2002). Ekstrapolasyon ve Bulirsch-Stoer algoritması. Fiziksel İnceleme E, 65 (6), 066116.
  16. ^ Kirpekar, S. (2003). Bulirsch Stoer ekstrapolasyon yönteminin uygulanması. Makine Mühendisliği Bölümü, UC Berkeley / California.
  17. ^ Nurminskii, E. A. ve Buryi, A. A. (2011). Grafik işlemcileri kullanarak sıradan diferansiyel denklem sistemlerini çözmek için Parker-Sochacki yöntemi. Sayısal Analiz ve Uygulamalar, 4 (3), 223.
  18. ^ Hairer, E., Lubich, C. ve Wanner, G. (2006). Geometrik sayısal entegrasyon: sıradan diferansiyel denklemler için yapıyı koruyan algoritmalar (Cilt 31). Springer Science & Business Media.
  19. ^ Hairer, E., Lubich, C. ve Wanner, G. (2003). Störmer – Verlet yöntemi ile gösterilen geometrik sayısal entegrasyon. Açta Numerica, 12,399-450.
  20. ^ Gander, Martin J. 50 yıllık Zaman Paralel Zaman Entegrasyonu. Matematiksel ve Hesaplamalı Bilimlerde Katkılar. 9 (1 ed.). Springer Uluslararası Yayıncılık. doi:10.1007/978-3-319-23321-5. ISBN  978-3-319-23321-5.
  21. ^ Nievergelt, Jürg (1964). "Sıradan diferansiyel denklemleri entegre etmek için paralel yöntemler". ACM'nin iletişimi. 7 (12): 731–733. doi:10.1145/355588.365137.
  22. ^ Higham, N.J. (2002). Sayısal algoritmaların doğruluğu ve kararlılığı (Cilt 80). SIAM.
  23. ^ Miranker, A. (2001). Katı Denklemler ve Tekil Pertürbasyon Problemleri için Sayısal Yöntemler: ve tekil pertürbasyon problemleri (Cilt 5). Springer Science & Business Media.
  24. ^ Markus Kunze ve Tassilo Kupper (2001). "Düzgün Olmayan Dinamik Sistemler: Genel Bakış". Bernold Fiedler'da (ed.). Dinamik Sistemlerin Ergodik Teorisi, Analizi ve Etkin Simülasyonu. Springer Science & Business Media. s. 431. ISBN  978-3-540-41290-8.CS1 Maint: yazar parametresini kullanır (bağlantı)
  25. ^ Thao Dang (2011). "Hibrit Sistemlerin Modele Dayalı Testi". Justyna Zander, Ina Schieferdecker ve Pieter J. Mosterman'da (ed.). Gömülü Sistemler için Model Tabanlı Test. CRC Basın. s. 411. ISBN  978-1-4398-1845-9.
  26. ^ Brezinski, C. ve Wuytack, L. (2012). Sayısal analiz: 20. yüzyıldaki tarihsel gelişmeler. Elsevier.
  27. ^ Kasap, J.C. (1996). Runge-Kutta yöntemlerinin geçmişi. Uygulamalı sayısal matematik, 20 (3), 247-260.
  28. ^ Ascher, U. M., Mattheij, R.M. ve Russell, R.D. (1995). Adi diferansiyel denklemler için sınır değer problemlerinin sayısal çözümü. Endüstriyel ve Uygulamalı Matematik Derneği.

Referanslar

  • Bradie Brian (2006). Sayısal Analize Dostça Bir Giriş. Upper Saddle Nehri, New Jersey: Pearson Prentice Hall. ISBN  978-0-13-013054-9.
  • J. C. Kasap, Sıradan diferansiyel denklemler için sayısal yöntemler, ISBN  0-471-96758-0
  • Ernst Hairer, Syvert Paul Nørsett ve Gerhard Wanner, Adi diferansiyel denklemlerin çözümü I: Katı olmayan problemler, ikinci baskı, Springer Verlag, Berlin, 1993. ISBN  3-540-56670-8.
  • Ernst Hairer ve Gerhard Wanner, Adi diferansiyel denklemlerin çözümü II: Katı ve diferansiyel cebirsel problemler, ikinci baskı, Springer Verlag, Berlin, 1996. ISBN  3-540-60452-9.
    (Bu iki ciltlik monografi sistematik olarak alanın tüm yönlerini kapsar.)
  • Hochbruck, Marlis; Ostermann, Alexander (Mayıs 2010). "Üstel entegratörler". Açta Numerica. 19: 209–286. Bibcode:2010AcNum..19..209H. CiteSeerX  10.1.1.187.6794. doi:10.1017 / S0962492910000048.
  • Arieh Iserles, Diferansiyel Denklemlerin Sayısal Analizinde İlk Kurs, Cambridge University Press, 1996. ISBN  0-521-55376-8 (ciltli), ISBN  0-521-55655-4 (ciltsiz).
    (Matematikte ileri düzey lisans ve lisansüstü öğrencileri hedefleyen ders kitabı, ayrıca sayısal kısmi diferansiyel denklemler.)
  • John Denholm Lambert, Sıradan Diferansiyel Sistemler için Sayısal Yöntemler, John Wiley & Sons, Chichester, 1991. ISBN  0-471-92990-5.
    (Ders kitabı, Iserles'in kitabından biraz daha zor.)

Dış bağlantılar