Administrator
|
Olen vuosikymmenten varrella Survoa kehittäessäni käyttänyt usein puhtaasti matemaattisia esimerkkejä testatakseni järjestelmän uusia ominaisuuksia. Monissa esimerkeissä on mahdollista piirtää mielenkiintoisia kuvioita. Näistäkin aiheista olen vuodesta 2010 lähtien laatinut YouTube-demoja. Esimerkkejä ovat mm. seuraavat: "Origin of Species" Color changing" A closed curve" Lissajous curve variation" Olen koostanut tällaisista demoista sarjan Mathematical art. Sarja alkaa uusimmilla demoillani, joissa kuvataan muotoa mod(X^n+Y^n,P)=0 olevien diofanttisten yhtälöiden ratkaisuja. Esim. yhtälön mod(X^4+Y^4,17)=0 ratkaisuja ovat kaikki sellaiset positiivisten kokonaislukujen muodostamat parit X,Y, joilla X:n ja Y:n neljänsien potenssien summa on jaollinen luvulla 17. Ratkaisuja on rajaton määrä. Pienin on X=1,Y=2, sillä 1^4+2^4=1+16=17. Kaikki tämän ratkaisun monikerrat 1k,2k ovat myös ratkaisuja, sillä (1k)^4+(2k)^4=k^4+2^4*k^4=(1+2^4)*k^4=17*k^4 eli jaollinen luvulla 17. Tämän lisäksi, kun (X,Y) on ratkaisu, myös lukuparit (Y,X),(X,P-Y),(P-Y,X),(P-X,Y),(Y,P-X),(P-X,P-Y),(P-Y,P-X) ja niiden monikerrat ovat aina ratkaisuja eksponentin n parillisilla arvoilla. Demossa Grids of roots in Diophantine equation X^4+Y^4=17*Z piirretään tapauksessa n=4, P=17 kaikki alueella 0<=X,Y<=2*17 olevat ratkaisut XY-koordinaatistoon ja nähdään, miten ne asettuvat tasavälisesti kahden neliöristikon varrelle. Useimmilla n,P-yhdistelmillä yhtälön mod(X^n+Y^n,P)=0 ratkaisut ovat vain pisteet, joiden koordinaatit ovat luvun P monikertoja ja tuloksena on pelkkä neliöristikko. Kuitenkin, jos n on muotoa n=j*2^k, P on alkuluku ja lukujen n ja P-1 suurin yhteinen tekijä G on selvästi suurempi kuin 1, juurten muodostama kuvio on paljon mielenkiintoisempi. Tällöin ratkaisukuvio alueella 0<=X,Y<=2*P peittyy erikokoisilla ja erisuuntaisilla neliöristikoilla, joiden lukumäärä on G ja ratkaisupisteet sijaitsevat tasavälisesti kunkin ristikon varrella. Ristikot löytyvät etsimällä minimaaliset ratkaisut (X,Y), joiden etäisyydet origosta ovat pienimmät. Jokainen tällainen X,Y-pari tuottaa yhden ristikon, jonka ruutujen koko eli peräkkäisten pisteiden väli on sqrt(X^2+Y^2). Tästä säännöllisyydestä huolimatta kuvista tulee usein mielenkiintoisia varsinkin kun ne voidaan esittää dynaamisesti vaiheittain ristikko ristikolta "silmäkooltaan" pienimmästä suurimpaan ja piirtäen peräkkäisten ristikoiden pisteet eri väreillä. Tällöin ensimmäiset ristikot näyttävät suorien viivojen yhdistelmiltä, mutta viimeisissä ristikoissa peräkkäiset pisteet erottuvat selvästi. Kunkin ristikon osalta piirtäminen aloitetaan jokaisen ratkaisuja sisältävän janan keskipisteestä käyttäen edellä mainittuja symmetriaominaisuuksia. Näin piirros on jokaisessa vaiheessa täysin symmetrinen. On mielenkiintoista havaita, miten yllättävillä tavoilla kuvion hahmo muuntuu piirtämisen edetessä. Toimintaa on tarkoituksellisesti hidastettu huomattavasti SLOW-täsmennyksellä. Vaikuttaa siltä, ettei edellä kuvattua ratkaisun luonnetta ja moninaisuutta ei ole aikaisemmin huomattu. Jos näin olisi, verkosta löytyisi myös kuvallisia esimerkkejä, mutta mitään sellaisia jälkiä en ole havainnut. Näiden yhtälöiden ratkaiseminen varsinkin suuremmilla lukujen n ja P arvoilla olisi ollut ennen tehokkaiden tietokoneiden tuloa erittäin raskasta. Sekin vähentää historiallisten esimerkkien esiintymistodennäköisyyttä. On toisaalta huomattava, ettei korkeita potensseja (usein monituhatnumeroisia lukuja) tarvitse laskea. Riittää, että käytetään modulaarista laskentatapaa, eli tarkastellaan itse potenssien asemasta niiden jakojäännöksiä modulin P suhteen, kuten esim. Wikipedia-artikkelissa Modular arithmetic on osoitettu. Olen laatinut tästä aiheesta oman YouTube-sarjan, jossa on 11 osaa. Tämä demosarja on syntynyt vähitellen sitä mukaa kun olen löytänyt uutta sanottavaa. Demojen kommentit kertovat lisää aiheesta. Olen laatinut tästä teemasta verkkoartikkelin. Survoon olen tätä tarkoitusta varten tehnyt DIOPH-alkuisia ohjelmia ja sukroja, joiden toimintatavat ilmenevät demoista. Seppo |
Free forum by Nabble | Edit this page |