Algebra 2, Harjoitustyö 1 Lasse Rautiainen, 131996 Joensuun yliopisto, Matematiikka 3. joulukuuta 23 Tehtävä Tarkastellaan käyrää. Valonsäteet tulevat positiivisen y-akselin suunnasta ja heijastuvat käyrästä. Määritä näin syntyvä kaustinen. Laske myös kaustisen singulaariset pisteet. Onko saamassasi käyrässä epäfysikaalisia komponentteja? Piirrä kuva. 1 Johdanto Optiikassa termi kaustinen (caustic) tarkoittaa heijastuneiden (tai taittuneiden) valon säteiden verhokäyrää (envelope). Verhokäyrä on käyrä, joka koskettaa jokaista suora-, käyrä- taso- tai pintajoukon jäsentä. Verhokäyrää kutsutaan katakaustiseksi (catacaustic) kun se muodostuu heijastumalla, ja diakaustiseksi (diacaustic) kun se muodostuu taittumalla, jostakin pinnasta. Jälkimmäistä voidaan kutsua myös ortonomiseksi tai toissijaiseksi kaustiseksi. Sana kaustinen voi tarkoittaa sekä katakaustista että diakaustista. Käytännössä kaustisia löytyy lähes kaikkialta mistä löytyy metalleja, nesteitä ja valoa. Esimerkiksi vedellä täytetyn uima-altaan pohjassa oleva valon muodostama kuvio on kaustinen. Myös tapa, jolla suurennuslasi kokoaa auringonsäteet jotta paperi syttyy palamaan on kaustinen. Kaustinen ei välttämättä ole aina käyrä. Esimerkiksi jos valonlähde on paraabelin polttopiste, niin paraabelin käyrästä heijastuneet valonsäteet eivät leikkaa toisiaan. Kaustinen esiteltiin ja sitä tutkittiin ensimmäisen kerran Saksalaisen Ehrenfried Tschirnhaus toimesta vuonna 1682. Kuriositeettina mainittakoon, että myös Johann Bernoulli, Jacob Bernoulli, de L Hôpital, Quaterlet ja Lagrange ovat tutkineet käyrien kaustisia [1,2]. Tässä dokumentissa kuvatussa algebrallisessa tehtävän ratkaisussa on käytetty hyväksi polynomilaskentaan erikoistunutta Singular -ohjelmistoa [3]. Polynomien kuvaajien piirtämiseen on käytetty Surf -ohjelmistoa [4]. Lisäksi olen ohjelmoinut Java -sovelman (applet), jolla voi havannoida muodostuvaa kaustista. Sovelmaan voi tutustua osoitteessa http://cs.joensuu.fi/~lrauti/caustic/caustic.html. 2 Ratkaisu Kaustinen on menetelmä uuden käyrän johtamisesta annetusta käyrästä ja pisteestä. Kun annetaan käyrä ja kiinnitetty piste S (valonlähde), katakaustinen on pisteestä S saapuvien ja käyrästä heijastuneiden valonsäteiden muodostama verhokäyrä. Diakaustinen on taittuneiden valonsäteiden muodostama verhokäyrä. Tässä ratkaisussa tarkastellaan käyrästä heijastuvaa katakaustista. Tehtävän määrittelystä käy ilmi, että valonsäteet tulevat positiivisen y-akselin suunnasta. Tämä tarkoittaa sitä, että piste S on äärettömyydessä, jolloin valonsäteet voivat olla rinnakkaisia. Fermatin periaatteesta voidaan havannoida heijastumislaki, jonka mukaan tuleva ja heijastunut säde sekä pinnan normaali ovat samassa tasossa. Lisäksi tuleva ja heijastunut säde muodostavat pinnan normaalin kanssa yhtä 1
suuret kulmat: tulokulma = heijastuskulma (kts. kuva 1). Tehtävässä oletetaan, että käyrä on sileä. Käyrän sileydellä tietyllä välillä tarkoitetaan ominaisuutta, joka takaa sen, että käyrän jokaiseen pisteeseen kyseisellä välillä voidaan piirtää tangentti Kuva 1: Valonsäteen heijastuminen peilistä. Käyttäen heijastumislakia ja trigonometriaa, voidaan laskea heijastuneen valonsäteen kulmakerroin kun tuleva valonsäde osuu tangentille, jonka kulmakerroin on k, vertikaalisesti eli y-akselin suuntaisesti. Heijastuneen valonsäteen kulmakerroin on tällöin. Huomataan, että kyseessä on tangentin kulmakertoimen ja tangentin normaalin kulmakertoimen summa kerrottuna puolikkaalla. Todistus jätetään lukijalle harjoitustehtäväksi. Näin ollen käyrälle (1) kohtaan piirretyn heijastuneen valonsäteen yhtälö on (2) Käyrä (1) voidaan parametrisoida muotoon (3) Käyrän (1) gradientti eli derivaatta on muotoa Sijoittamalla käyrän parametrisointi (3) ja gradientti yhtälöön (2) saadaan 2
Koska Singular -ohjelma ei osaa käsitellä kuutiojuuria, on tehtävä seuraava sijoitus Kuutiojuuri luvusta on sama kuin yhtälön ratkaisu. Kun u sijoitetaan yhtälöön (2) saadaan yhtälöpari joka voidaan sieventää muotoon (4) (5) Derivoidaan yhtälö (4) t:n suhteen (6) Lasketaan u:n gradientti Sijoitetaan u:n gradientti yhtälöön (6) (7) Kerrotaan yhtälöstä (7) u:n termit pois nimittäjistä (8) 3
Määritelmä [5]: Olkoon. Varieteettien verhokäyrä on, missä. Sovelletaan määritelmää 8.3, jolloin saadaan yhtälöistä (4), (5) ja (8) seuraava yhtälöryhmä Määritellään Singular -ohjelmassa eliminointijärjestys renkaassa ja muodostetaan yhtälöistä ja ideaali. > ring r=,(t,u,x,y),(dp(2),dp(2)); > poly f1=-9*t^3*u-8*t^3+9*t^2*u*x-4*t^2*x+12*t*u^2*y+9*t*u+12*t-9*u*x; > poly f2=u^3-t^2+1; > poly f3=-27*t^2*u^3-6*t^4-24*t^2*u^2+18*t*u^3*x+6*t^3*x-8*t*u^2*x+12*u^4*y+ 16*t^2*u*y+9*u^3+6*t^2+12*u^2-6*t*x; > ideal i=f1,f2,f3; Toinen eliminointi-ideaali saadaan nyt laskemalla Gröbner -kanta. > ideal g=groebner(i); Gröbner -kannassa on kaikkiaan 15 polynomia (kts. liite 1), joista ensimmäisessä on vain x:n ja y:n termejä. > g; g[1]=63145521x2+27322444692x18y2+51659253846x16y4+6336689976x14y6+... Huomataan, että ensimmäinen polynomi jakaantuu tekijöihin > poly p=g[1]; > ideal f=factorize(p)[1]; Ideaalin viidennen polynomin varieteetti on haettu kaustinen > poly p=f[5]; > p; 8661249x1+2834352x8y2+7558272x6y4+538848x4y6+248171256x8y+31454896x6y3+... Siis kaustinen on V(p) ja se voidaan todeta myös Surf -ohjelman avulla > LIB surf.lib ; > plot(p); 4
Kuvasta 2 huomataan, että käyrän (1) alapuolelle jää epäfysikaalisia komponentteja kaustisesta. Kuva 2: Käyrä (1) ja kaustinen. Jotta piste olisi singulaaripiste on p:n ja sen gradientin hävittävä pisteessä. Määritellään ideaali, jonka virittäjäalkiot ovat p:n osittaisderivaatat x:n ja y:n suhteen, sekä p itse. > ideal i=p, jacob(p); Haetaan ideaalin Gröbner -kanta > ideal g=std(i); Tehtävän kannalta merkittävä singulaarinen piste on. 5
Viitteet [1] Robert C. Yates (1952) Curves and Their Properties. the National Council of Teachers of Mathematics. [2] School of Mathematics and Statistics, University of St Andrews, Scotland Ehrenfried Walter von Tschirnhaus. WWW-sivusto, http://www-groups.dcs.st-and.ac.uk/~history/ Mathematicians/Tschirnhaus.html (3.11.23). [3] Singular version 2..4 A Computer Algebra System for Polynomial Computations. WWW-sivusto, http://www.singular.uni-kl.de/ (3.11.23). [4] Surf version 1..4 Visualization of Real Algebraic Geometry. WWW-sivusto, http://surf. sourceforge.net/ (3.11.23). [5] Jukka Tuomela (23) Algebra 2 -kurssin luennot. Joensuun Yliopisto, Matematiikan laitos. 6
Liite 1: Singular -ohjelman käskyt kokonaisuudessaan Kun Gröbner -kannat ovat isoja, kuten tehtävässä, on hyvä käyttää option(prot); -komentoa. Tällöin ohjelma näyttää laskennan edistymisen. > ring r=,(t,u,x,y),(dp(2),dp(2)); > poly f1=-9*t^3*u-8*t^3+9*t^2*u*x-4*t^2*x+12*t*u^2*y+9*t*u+12*t-9*u*x; > poly f2=u^3-t^2+1; > poly f3=-27*t^2*u^3-6*t^4-24*t^2*u^2+18*t*u^3*x+6*t^3*x-8*t*u^2*x+12*u^4*y+ 16*t^2*u*y+9*u^3+6*t^2+12*u^2-6*t*x; > ideal i=f1,f2,f3; > ideal g=groebner(i); > g; g[1]=63145521x2+27322444692x18y2+51659253846x16y4+...... g[15]=223968773844811392862118378167292491561763766516364292198771536... > poly p=g[1]; > p; 63145521x2+27322444692x18y2+51659253846x16y4+6336689976x14y6+... > ideal f=factorize(p)[1]; > f; f[1]=1 f[2]=x-1 f[3]=x+1 f[4]=729x8+2916x6y2+4374x4y4+2916x2y6+729y8+216x6y+648x4y3+648x2y5+216y7-... f[5]=8661249x1+2834352x8y2+7558272x6y4+538848x4y6+248171256x8y+... > poly p=f[5]; // ** redefining p ** > p; 8661249x1+2834352x8y2+7558272x6y4+538848x4y6+248171256x8y+31454896x6y3+... > ring r2=,(x,y),dp; > poly p=fetch(r,p); // tämä ei jostain syystä nyt toimi > p; 961 > poly p=8661249x1+2834352x8y2+7558272x6y4+538848x4y6+248171256x8y+... // ** redefining p ** > LIB "surf.lib"; // ** loaded /usr/local/singular/2--4/lib/surf.lib (1.19.2.6,22/7/17) > plot(p); > ideal i=p, jacob(p); > i; i[1]=8661249x9+22674816x7y2+45349632x5y4+2155392x3y6+19853748x7y+... i[2]=566874x8y+323388x6y3+323388x4y5+248171256x8+943622688x6y2+... i[3]=8661249x1+2834352x8y2+7558272x6y4+538848x4y6+248171256x8y+... > ideal g=std(i); > g; g[1]=223254x7y+416448x5y3+11943936x3y5+7962624xy7-3212195x7+... g[2]=183213328416768y9-74943283232385x8+977767424967348x6y2+...... g[9]=4336245x9+1133748x7y2+22674816x5y4+177696x3y6+99268524x7y+... > poly g1=subst(g[1],x,); > g1; > poly g2=subst(g[2],x,); > g2; 183213328416768y9+616228268326524y8+146465851632192y7+... > poly g3=subst(g[3],x,); 7
> g3; > poly g4=subst(g[4],x,); > g4; 17426175732378499984488594388554869561365478833186819458498... > poly g5=subst(g[5],x,); > g5; > poly g6=subst(g[6],x,); > g6; -1778995421314311448399879828161368461422223421845187891953651... > poly g7=subst(g[7],x,); > g7; > poly g8=subst(g[8],x,); > g8; -123834728448y9+48792454299648y8-25765325172y7+25531281644544y6+... > poly g9=subst(g[9],x,); > g9; > LIB "solve.lib"; > laguerre_solve(g2); [1]: (-1.11886689-i*2.67724212) [2]: (-1.11886689+i*2.67724212) [3]: -54.65115511 [4]: [5]: [6]: [7]: [8]: [9]: > laguerre_solve(g4); [1]: (-.69165126+i*.6996575) [2]: (-.69165126-i*.6996575) [3]: 53.3952665 [4]: [5]: [6]: [7]: [8]: [9]: 8
> laguerre_solve(g6); [1]: (.5812482-i*.89253142) [2]: (.5812482+i*.89253142) [3]: 84.81891566 [4]: [5]: [6]: [7]: [8]: [9]: > laguerre_solve(g8); [1]: (.1955292+i*.85734198) [2]: (.1955292-i*.85734198) [3]: 393.9745783 [4]: [5]: [6]: [7]: [8]: [9]: 9