AbeLie matematikk


Sage computer


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

Regnignsartene

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.


Algebra

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)

Ligninger
Man kan løse ligninger på helt naturlig måte. For eksempel kan vi prøve på ligningen $5x+7=32$. Man skriver da solve, ligningen og hva som er den ukjente.
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)

Løkker

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.


Betingelser

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'

Løkker og betingelser

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