Kommando | Hendelse |
---|---|
print t | skriver ut t |
pretty_print(t) | skriver pent |
var('a,b') | setter variable |
factor() | faktoriserer, tall eller algebra |
expand() | løser opp et utrykke |
solve(3*x==9,x) | løser ligningen i parantesen med x som ukjent |
for n in range(1,10): | utfører noe for n fra 1 til 10 |
if | setter betingelse |
t.is_integer() | er sant hvis t er heltall |
Sage kan brukes til å regne med alminnelige tall.
3 + 4 5*6 3^3 2/5
I alminnelighet blir bare det siste utrykket skrevet ut. Vil man ha alle utskrevet må man skrive print foran.
print 3 + 4 #sum print 5*6 #produkt print 3^3 #potens print 3/7 #brøk print N(3/7) #numerisk
Hvis man vil at det skal skrives ut penere skriver man 'pretty_print':
pretty_print(3 + 4) pretty_print(5*6) pretty_print(3^3) pretty_print(3/7)
Desimaltall får man ved å skrive 3.0 for eksempel.
I sage kan man også utføre algebraiske operasjoner. De grunnleggende potensreglene utføres automatisk uten at man behøver å gi noen bestemt kommando. Når man for eksempel skriver $a*a$ vil resultatet bli $a^2$. Man må alltid først klarere den variabelen det er snakk om.De to grunnoperajonene er å løse opp paranteser (expand()), og å samle utrykkene (factor()).
var('a') #variabelen må 'deklareres' på denne måten. pretty_print(a*a*a*a*a) pretty_print(1/(a*a*a*a*a)) pretty_print(a^(1/2))
Når man vil løse opp et utrykk med paranteser bruker man kommandoen expand(). Vi vil da kunne få kvadratsetningene.
var('a,b,c') #Her er tre variable. expand(c*(a+b)) expand((a+b)^2) expand((a-b)^2) expand((a+b)*(a-b))
Omvendt kan man faktorisere utrykk.
var('a,b') factor(a^2-b^2) factor(a^3+b^3)
var('x') solve(5*x+7==22,x)
En ligning med to ukjente
var('x,y') solve([5*x+7*y==56,3*x-y==18],x,y)
Annengradsligninger kan også løses
var('x') solve(x^2-7*x+12==0,x)
Man finner formelen ved å løse den generelle annengradsligning
var('x,a,b,c') l=solve(a*x^2+b*x+c==0,x) pretty_print(l)
Neste trinn i en vektfølge kan man finne.
var('x,a,b,c') l=solve(1/2*3/(1+2+3)==2/3*x/(2+3+x),x) pretty_print(l)
Man finner også et generelt utrykk for denne.
var('x,a,b,c') l=solve(a/b*c/(a+b+c)==b/c*x/(b+c+x),x) pretty_print(l)
Ligninger med to ukjente må settes i klamme
var('x,y') l=solve([3*x+2*y==19,4*x+y==17],x,y) pretty_print(l)
Man kan skrive en rekke med tall ved å bruke en løkke. Man skrives at noe skal gjøres for alle tall i et visst område(range). Man må sette colon etter når løkken er skrevet, og så skrive hva som skal gjøres for hver gang. Man må ha et innrykk for det som skal gjøres.
for n in range(1,10): print n,n^2 #naturlige og kvadrattall.
Ved hjelp av løkkene kan man skrive ulike følger. Det kan enten gjøres med formel, eller det kan gjøres rekursivt.
Det kan settes betingelser for at ting skal skje. For eksempel at et tall tilfredstiller visse betingelsen.
a=3 b=5 if a < b: print a, 'er minst' else: print b, 'er minst'
Man kan gå gjennom en følge og se om noen tall oppfyller visse betingelser.
for n in range(1,20): k = n^(1/2) if k.is_integer(): print n
Vi kan se hvordan potenser av binomer utvikler seg.
var('a,b') for n in range(1,7): u = expand((a+b)^n) pretty_print(u)
Sage computer