Tämän työarkin tavoitteena on esitellä Sagen ominaisuuksia sekä koota ohjeita ja esimerkkejä Sagen yleisimpien toimintojen käytöstä.
Sivu on viimeksi päivitetty 26.9.2011.
Sage-palvelimelle rekisteröityminenVoit halutessasi kokeilla Sagen käyttöä ja tämän työarkin komentoja rekisteröitymällä Sage-palvelimelle. Muun muassa kolmiulotteiset kuvaajat ja vuorovaikutteiset sovellukset eivät toimi ilman palvelimelle kirjautumista. Rekisteröitymistä varten tarvitset käyttäjätunnuksen ja salasanan.
Jos sinulla on jo Notebook-tili toisella Sage-palvelimella, voit ladata tämän työarkin sivun ylälaidan linkistä Download. |
Notebook eli muistikirja on Sagen graafinen käyttöliittymä, joka toimii rajapintana Sage-palvelimen ja käyttäjän välillä. Muistikirjaan on koottu kaikki luodut ja jaetut työarkit.
Worksheet eli työarkki on Sagen dokumentti, jossa tehdyt laskutoimitukset ja objektit on järjestetty niin sanottuihin soluihin (cell). Työarkki koostuu käyttäjän syötteistä ja työarkin yhteyteen talletetuista objekteista, kuten kuva- ja tekstitiedostoista. Käyttäjän tekemät muuttujien ja funktioiden määrittelyt pysyvät palvelimen muistissa niin kauan, kun työarkki pysyy aktiivisena. Työarkkeja voidaan ladata muistikirjaan ja tallentaa tiedostoiksi sekä jakaa muiden palvelimen käyttäjien kesken.
Alla on yksi tyhjä solu.
|
|
Uusi solu luodaan viemällä hiiren osoitin solun alapuolelle ja klikkaamalla ilmestyvää sinistä vaakasuoraa palkkia.
HTML-soluja voidaan luoda pitämällä shift-näppäintä pohjassa samalla, kun uusi solu luodaan. HTML-soluja muokataan yksinkertaisella graafisella editorilla. Ne voivat sisältää tekstiä, kuvia, animaatioita, linkkejä tai vaikkapa GeoGebra-sovelluksia. HTML-solua editoidaan kaksoisklikkaamalla solua, esimerkiksi tätä tekstiä.
Solu poistetaan tyhjentämällä sen sisältö ja painamalla backspace-näppäintä solun ollessa aktiivinen.
Tyhjässä työarkissa on valmiina yksi solu, johon laskutoimitus tai ohjelmalause voidaan kirjoittaa. Solun ollessa aktiivinen se evaluoidaan joko klikkaamalla tekstiä evaluate tai näppäinkomennolla shift+enter.
Lasketaan aluksi joitakin yksinkertaisia laskutoimituksia:
4 4 |
120 120 |
Potenssimerkintä 2^3 kirjoitetaan Sagessa muodossa 2^3:
8 8 |
Murtolukuja:
47/60 47/60 |
Lausekkeen itseisarvo määritetään abs-metodilla:
2 2 |
Lasketaan logaritmi log_3{9}:
2 2 |
Luvun neliöjuuri määritetään sqrt-komennon avulla:
sqrt(5) + 3 sqrt(5) + 3 |
Alaviiva _ viittaa viimeksi laskettuun tulokseen:
sqrt(5) sqrt(5) |
Show-komento näyttää tulosteen matemaattisella notaatiolla kirjoitettuna:
|
e + 1 e + 1 |
|
1 1 |
3.14159265358979 3.14159265358979 |
3.1415926535897932384626433832795028841971693993751058209749445923078164\ 06286208998628034825342117068 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068 |
0.295520206661340 0.295520206661340 |
-1 -1 |
0.255341921221036 0.255341921221036 |
Sagen funktioista saa lisätietoa kirjoittamalla komennon jälkeen kysymysmerkin (?)
Kaksi kysymysmerkkiä (??) näyttää komennon lähdekoodin.
|
File: /home/sage/sage/local/lib/python2.6/site-packages/sage/functions/trig.py Type: <class ‘sage.functions.trig.Function_tan’> Definition: tan(*args, coerce=True, hold=False, dont_call_method_on_arg=False) Docstring:
File: /home/sage/sage/local/lib/python2.6/site-packages/sage/functions/trig.py Type: <class ‘sage.functions.trig.Function_tan’> Definition: tan(*args, coerce=True, hold=False, dont_call_method_on_arg=False) Docstring:
|
Tab-näppäin (sarkain) täydentää annetun syötteen. Voit kokeilla täydentämistä kahdessa seuraavassa solussa. (Edellyttää palvelimelle kirjautumista.)
|
|
|
|
Luonnollinen logaritmi ja eksponenttifunktio:
1 1 |
e^2 e^2 |
Ennen symbolista laskentaa tulee määritellä käytettävät muuttujakirjaimet var-komennon avulla:
(x, y) (x, y) |
x^2 + x + 1 x^2 + x + 1 |
Kerrotaan lausekkeen (x+1)^4 sulut auki expand-metodilla:
x^4 + 4*x^3 + 6*x^2 + 4*x + 1 x^4 + 4*x^3 + 6*x^2 + 4*x + 1 |
Factor-metodi muokkaa lausekkeen tulomuotoon:
(x + 1)^4 (x + 1)^4 |
Lausekkeiden sieventäminen tapahtuu mm. simplify ja full_simplify -metodien avulla.
sin(x)^2 + cos(x)^2 sin(x)^2 + cos(x)^2 |
1 1 |
Lausekkeita voidaan nimetä ja nimettyjen lausekkeiden avulla voidaan suorittaa laskutoimituksia:
x - 3 x - 3 |
(2*x + 1)*(3*x - 2) (2*x + 1)*(3*x - 2) |
(3*x - 2)^(2*x + 1) (3*x - 2)^(2*x + 1) |
Lausekkeisiin sijoittaminen tapahtuu kirjoittamalla sijoitettava lukuarvo sulkeisiin lausekkeen jälkeen. Tämä edellyttää, että myös lauseke on sulkeissa.
7 7 |
13 13 |
Määritellään funktio f(x)=x^2+x+1:
|
|
Funktion arvo pisteessä x=2, eli f(2):
7 7 |
Uusi funktio voidaan myös määritellä toisten funktioiden avulla, esimerkiksi yhdistettynä funktiona:
(x^2 + x + 1)^2 (x^2 + x + 1)^2 |
49 49 |
Ratkaistaan yhtälö 4x - 3 = 6:
[x == (9/4)] [x == (9/4)] |
Toisen asteen yhtälö x^2+3x+2=0:
[x == -2, x == -1] [x == -2, x == -1] |
Myös epäyhtälöitä voidaan ratkaista. Ratkaistaan, millä x:n arvoilla epäyhtälö 3x-2>5 on voimassa:
[[x > (7/3)]] [[x > (7/3)]] |
Epäyhtälön x^2 + 3x + 2 < 0 ratkaisut:
[[x > -2, x < -1]] [[x > -2, x < -1]] |
Ratkaistaan viidennen asteen yhtälö 2x^5 + 3x^4 - 30x^3 - 57x^2 - 2x + 24 = 0:
[x == 4, x == -1, x == -1/2*sqrt(17) - 3/2, x == 1/2*sqrt(17) - 3/2, x == (-3/2)] [x == 4, x == -1, x == -1/2*sqrt(17) - 3/2, x == 1/2*sqrt(17) - 3/2, x == (-3/2)] |
Derivoidaan lauseke \sin(x)\cos(x):
-sin(x)^2 + cos(x)^2 -sin(x)^2 + cos(x)^2 |
Derivoidaan funktio f(x)=\sqrt{\sin(x)}*e^{\tan(x)}:
|
Olkoon g(x)=\sqrt{x^2-y^2}. Määritetään f_x ja f_y.
x/sqrt(x^2 - y^2) x/sqrt(x^2 - y^2) |
-y/sqrt(x^2 - y^2) -y/sqrt(x^2 - y^2) |
Määritetään f_{xy} ja esitetään se matemaattisella notaatiolla kirjoitettuna:
|
Esitetään vielä f_x ja f_y LaTeXin avulla ladottuna siten, että Sage kääntää lausekkeen LaTeX-muotoon:
f_x = \frac{x}{\sqrt{x^{2} - y^{2}}} f_y = -\frac{y}{\sqrt{x^{2} - y^{2}}} f_x = \frac{x}{\sqrt{x^{2} - y^{2}}} f_y = -\frac{y}{\sqrt{x^{2} - y^{2}}} |
Integroidaan lauseke 1+x+\log(x)+\sin(x):
1/2*x^2 + x*log(x) - cos(x) 1/2*x^2 + x*log(x) - cos(x) |
Määritetään lausekkeen \sqrt{x^2+1} integraali:
|
Ratkaistaan differentiaaliyhtälö y'=y+x:
-((x + 1)*e^(-x) - c)*e^x -((x + 1)*e^(-x) - c)*e^x |
Edellisen differenttiaaliyhtälön suuntaelementtien piirtäminen:
|
|
Kaksiulotteisia kuvaajia piirretään komennolla plot( f(x), \small(x, x_{\rm min}, x_{\rm max}), optiot).
Piirretään polynomin 3x^4-3x^2-1 kuvaaja välillä (-3,1):
|
|
Kuvaajille voidaan antaa erilaisia optioita, joilla määritetään muun muassa käyrän leveyttä, väriä, tyyliä ja koordinaatistoon liittyviä ominaisuuksia.
Metodeihin liittyviä optioita on listattu Sagen dokumentaatiossa. Esimerkiksi plot-metodin optioista saa selostuksen komennolla plot?.
|
|
Piirretään polynomi x^3+3x^2-1 välillä [-3, 1] siten, että viivan väriksi on määritelty vihreä, leveydeksi arvo kolme ja tyyliksi eräänlainen katkoviiva.
|
|
Sagessa voidaan luoda animaatioita muodostamalla listan, joka koostuu animaation yksittäisistä kuvista. Tämän jälkeen animate-metodi tuottaa listan kuvien perusteella gif-animaation.
|
|
|
|
|
Alla tekstit ovat esitetty LaTeX-ladontajärjestelmän avulla kirjoitettuina. Kuvat yhdistetään plus-merkkejä käyttämällä ja esitetään show-metodilla.
|
|
Piirretään pinnan z=x^2-y^3+10\sin{(xy)} tasa-arvokäyrät ja muita pinnan muotoa havainnollistavia kuvia. Myöhemmin pinnasta luodaan kolmiulotteinen malli.
|
|
|
|
|
|
Seuraava kuva esittää graafisesti alueet, joissa epäyhtälö \frac{\sin(x^2 + y^2)}{(1+y+xy)}>0 on voimassa.
Kuvassa epäyhtälö on tosi sinisellä alueella (incol) ja epätosi vihreällä alueella (outcol).
|
|
Kolmiulotteiset kappaleet ja kuvaajat esitetään Jmol-nimisessä Java-sovelluksessa, jossa kappaleita voidaan reaaliaikaisesti tarkastella eri suunnista ja etäisyyksiltä.
|
|
|
|
Piirretään pinta z=x^2-y^3+10\sin{(xy)},
kun x\in[-4, 4], y\in[-4, 4]. Pinta on sama kuin tasa-arvokäyrien tarkastelussa ylempänä.
|
|
Piirretään pinta (f_x, f_y, f_z), missä
\begin{cases} f_x=\sinh(v)\sin(u) \\ f_y=-\sinh(v)\cos(u) \\
f_z=3u,
\end{cases}
kun u\in(-\pi, \pi) ja v\in(-\pi, \pi).
|
|
Piirretään yhtälön (x^2 + y^2 + z^2)^2 + 8xyz - 10(x^2 + y^2 + z^2) + 25=0 toteuttavan pistejoukon kolmiulotteinen malli:
|
|
Opetuskäytön kannalta yksi Sagen mielenkiintoisimmista ominaisuuksista on mahdollisuus ohjelmoida interaktiivisia sovelluksia. Tällä tarkoitetaan ohjelman parametrien ajonaikaista manipulointia erilaisten säätimien, kytkimien, valikoiden ja tekstikenttien avulla. Vuorovaikutteisten ohjelmien avulla opiskelija voi tutkia jonkin parametrin vaikutusta esimerkiksi kuvaajan käyttäytymiseen. Parametri voi myös liittyä suoraan ohjelman toimintaan, kuten tarkasteluvälin valintaan.
Lisää esimerkkejä interaktiivisista sovelluksista on kerätty pääsivulle.
Click to the left again to hide and once more to show the dynamic interactive window |
Useiden vuorovaikutteisten sovellusten englanninkielisiä versioita voidaan kutsua myös suoraan Sagessa (Sagen versiosta 4.7.1 alkaen).
Esimerkkinä Taylorin polynomien toimintaa havainnollistava sovellus:
|
|||||||||||||||||||||||||||||||||||||
|
|