Maple Tutorial - Algebra

download Maple Tutorial - Algebra

of 6

description

Maple Tutorial - Algebra

Transcript of Maple Tutorial - Algebra

  • Una introduccio a Maple Vorientada a lassignatura dA`lgebra

    Vera Sacristan Adinolfi1

    Departament de Matema`tica Aplicada IIFacultat dInforma`tica de BarcelonaUniversitat Polite`cnica de Catalunya

    Index

    Presentacio 1

    1 Entrades i sortides. Ajudes 1

    2 Smbols i nombres. Assignacio a variables 2

    3 Seque`ncies, llistes i conjunts 3

    4 Funcions. Equacions. Gra`fics 4

    5 Aritme`tica i polinomis 5

    6 A`lgebra lineal 6

    Presentacio

    Maple es un sistema que permet fer tres tipus ba`sics doperacions: nume`riques, simbo`li-ques i gra`fiques. Quan es treballa en mode interactiu, maple llegeix lexpressio introdudaper lusuari al full de treball (maple work sheet), lavalua i en mostra el resultat al mateixfull. Tambe es possible introduir fitxers creats externament, o altres fulls de maple, ambdades o comandes escrites en maple, i guardar en fitxers externs les dades, definicions,expressions, etc. creades en maple, o guardar el full de treball per a posteriors sessionsde treball.

    Aquesta introduccio recull la informacio ba`sica necessa`ria per comencar a treballar ambmaple, aix com una seleccio de les comandes mes utils per la realitzacio de treballspra`ctics a lassignatura dA`lgebra dels plans destudis de les Enginyeries en Informa`tica.

    1 Entrades i sortides. Ajudes

    Les entrades a maple depenen del tipus dinstal.lacio. En el nostre cas, cal selecci-onar licona corresponent al menu de programes.

    Un cop dins de maple, apareixera` el prompt > que indica que el programa esta`esperant que lusuari introdueixi la comanda.

    1Revisat per Jose Luis Ruiz Munoz, setembre 2000.

    1

  • Cal que les comandes acabin amb un punt i coma: ; . Si loblideu, maple conside-rara` que la comanda encara no esta` acabada dintroduir i esperara` que lacabeu a lalnia seguent.

    A mida que es van executant les comandes, es possible referir-nos a lultim resultatobtingut mitjancant el smbol: % ; al resultat penultim mitjancant dos smbols detant per cent: %% .

    Per a tancar el full de treball de maple cal introduir la comanda quit, que nonecessita punt i coma. Es convenient guardar pre`viament el full. Per a sortir demaple, cal triar lopcio corresponent del menu File.

    Per tal dinterrompre un proce`s durant la seva execucio, cal pitjar les tecles Control-Pausa.

    Per obtenir ajuda sobre un tema, cal teclejar les comandes ?tema o ?tema[subtema],que tampoc no necessiten punt i coma. Tambe podem explorar el help de maplemovent-nos per lestructura darbre que va apareixent.

    2 Smbols i nombres. Assignacio a variables

    Operacions aritme`tiques Les operacions aritme`tiques ba`siques sexpressen amb elssmbols seguents:

    Smbol Operacio+ suma difere`ncia producte/ quocient o be pote`ncia! factorial

    Atencio! maple no interpreta expressions com ara 2x o 2 x, introduides per lusuari, comel producte del nombre 2 per la variable x; cal escriure 2 x.

    Relacions aritme`tiques Les relacions aritme`tiques ba`siques sexpressen amb als smbolsseguents:

    Smbol Relacioa < b a < ba b a > ba >= b a ba b a 6= ba = b a = b

    Variables Es pot assignar valors a variables, mitjancant el smbol := . Un cop sha fetservir una variable, es convenient netejar-lade qualsevol valor assignat, abans de tornar-la a emprar. Per aixo cal introduir la instruccio x := x. A mes, a lhora de formar nomsde variables o dintroduir comandes, es bo recordar que maple distingeix entre les lletresminuscules i majuscules.

    2

  • Constants Algunes constants forca utils en matema`tiques tambe tenen nom en maple:

    Smbol ConstantE ePi piI

    1infinity

    Aproximacions Maple manipula les expressions algebraicament i representa els entersi els racionals de forma exacta. Les aproximacions nume`riques sobtenen mitjancant lafuncio evalf:

    evalf(e,n)

    avalua lexpressio e amb n decimals exactes.

    3 Seque`ncies, llistes i conjunts

    Una seque`ncia es, simplement, una ordenacio dobjectes, separats per comes. Per exemple,

    s:=13,2,3,5,7,3,11,13.

    No sempre cal enumerar tots els elements duna seque`ncia.

    La comanda

    s:=seq(f(i),i=1..n)

    crea la seque`ncia f(1), . . . , f(n). Observeu lus dels dos punts suspensius (fixeu-vos-hi denou a la comanda plot).

    Les llistes i els conjunts es formen a partir de les seque`ncies. Una llista, que sescriu entreclaus quadrades, te en compte lordre dels objectes i admet repeticions. Per exemple,

    l:=[13,2,3,5,7,3,11,13].

    Un conjunt, que sescriu entre claus, no te en compte lordre dels objectes i no admetrepeticions. Per exemple,

    c:={2,3,5,7,11,13}.Per extreure lelement n-e`sim duna seque`ncia s, una llista l o un conjunt c, cal fer s[n],l[n] i c[n] respectivament.

    Per calcular el nombre delements duna seque`ncia s, una llista l o un conjunt c, cal fernops(s), nops(l) i nops(c) respectivament.

    Els elements duna llista l de longitud n es poden sumar o multiplicar amb les comandes

    sum(l[i],i=1..n)

    i

    product(l[i],i=1..n

    respectivament.

    3

  • 4 Funcions. Equacions. Gra`fics

    Funcions Lusuari pot definir la funcio que desitji mitjancant una comanda de la forma

    nom:=variable->expressio

    o be

    nom:=(var1,var2,...,varn)->expressio.

    Per exemple,

    f:=y->y^2.

    Tanmateix, maple te moltes funcions incorporades, algunes de les quals senumeren acontinuacio. Les funcions especficament referides a temes de lassignatura dA`lgebra espoden trobar als apartats corresponents.

    abs(x) Calcula el valor absolut del nombre x.

    sqrt(x) Calcula larrel quadrada de x.

    exp(x) Calcula lexponencial ex.

    ln(x) Calcula el logaritme neperia` de x.

    min(x1,...,xn) Calcula el mnim de x1, . . . , xn.

    max(x1,...,xn) Calcula el ma`xim de x1, . . . , xn.

    round(x) Arrodoneix x.

    trunc(x) Trunca x.

    signum(z) Es la funcio que val z|z| si z 6= 0 i val 1 si z = 0.sin(x), cos(x), tan(x) Son les funcions trigonome`triques.

    arcsin(x), arccos(x),... Son les funcions trigonome`triques inverses.

    binomial(n,m) Calcula el coeficient binomial(nm

    ).

    sum(f(i),i=1..n) Calcula la suma f(1) + . . .+ f(n).

    product(f(i),i=1..n) Calcula el producte f(1) + . . .+ f(n).

    Equacions Maple resol equacions de forma exacta o aproximada mitjancant, entredaltres, les comandes seguents.

    Per a resoldre una equacio e farem servir la comanda:

    solve(e)

    El para`metre e tambe pot ser un conjunt dequacions. Amb la comanda

    solve(e,x)

    resolem lequacio e en la variable x. e por ser un sistema dequacions i x un conjunt devariables. La comanda fsolve, amb modalitats ana`logues, tambe resol equacions, pero`no pas per manipulacio de formules matema`tiques sino utilitzant me`todes nume`rics. Pertant, dona com a resultat solucions aproximades.

    Les dues comandes seguents poden ser-vos utils:

    simplify(e)expand(e)

    La primera simplifica lexpressio e; la segona distribueix productes respecte de sumes iaplica regles de transformacio trigonome`triques i exponencials.

    4

  • Gra`fics Maple dibuixa gra`fiques de funcions mitjancant, entre daltres, les comandesseguents:

    plot(expr,x=a..b)

    amb la que maple dibuixa la funcio f(x) = expr per a x [a, b]. En lloc duna expressio,es pot escriure un conjunt dexpressions, fent que maple dibuixi diverses funcions alhora.Amb la comanda

    plot(expr,x=a..b,c..d)

    maple dibuixa la funcio f(x) = expr per a x [a, b] i f(x) [c, d]. En lloc dunaexpressio, tambe es pot escriure un conjunt dexpressions, fent que Maple dibuixi diversesfuncions alhora.

    Per a gra`fics tridimensionals, podem fer servir la comanda:

    plot3d(expr,x=a..b,y=c..d)

    que dibuixa la funcio de dues variables f(x, y) = expr, per a (x, y) [a, b] [c, d].

    5 Aritme`tica i polinomis

    Per treballar amb els nombres enters, questions com ara la divisibilitat, les equacionsdiofa`ntiques, etc., conve carregar un paquet de comandes especfic, fent with(numtheory).

    Aquestes son les comandes dus mes frequent en el marc de laritme`tica:

    isprime(n) Aplica un test de primalitat probabilstica a lenter n. Si laresposta es true, probablement n es primer. Si la resposta esfalse, segur que no ho es.

    ithprime(i) Calcula el primer i-e`sim.

    nextprime(n) Calcula el mes petit dels primers n.prevprime(n) Calcula el mes gran dels primers n.factorset(n) Dona el conjunt dels divisors primers de n.

    ifactor(n) Dona la descomposicio de n en factors primers.

    divisors(n) Calcula tots els divisors de n.

    iquo(a,b) Calcula el quocient enter de la divisio de a per b.

    irem(a,b) Calcula el residu de la divisio entera de a per b.

    modp(a,b) Calcula a (mod b).

    Power(a,b) mod p Calcula ab (mod p).

    igcd(a1,...,an) Calcula el ma`xim comu divisor de la seque`ncia a1, . . . , an.

    ilcm(a1,...,an) Calcula el mnim comu multiple de la seque`ncia a1, . . . , an.

    isolve(e) Calcula les solucions enteres de lequacio diofa`ntica lineal e.

    phi(n) Calcula el valor de la funcio dEuler en n.

    Pel que fa a lestudi dels polinomis, les funcions seleccionades son les seguents:

    collect(p,x) Agrupa tots els coeficients de p que multipliquen la mateixapote`ncia de x.

    5

  • coeff(p,x,n) Calcula el coeficient de xn dins p. Pot necessitar un collectprevi.

    lcoeff(p,x,n) Calcula el coeficient de la ma`xima pote`ncia de x dins p.

    tcoeff(p,x,n) Calcula el terme independent de p.

    degree(p,x) Calcula del grau del polinomi p en x.

    divide(p1,p2) Si p1 i p2 son polinomis a coeficients racionals, comprova si p2divideix p1. En cas afirmatiu, la comanda divide(p1,p2,q)guarda el quocient de la divisio a la variable q.

    gcd(p1,...,pn) Calcula el ma`xim comu divisor dels polinomis p1, . . . , pn.

    factor(p) Factoritza el polinomi p al cos dels seus coeficients.

    6 A`lgebra lineal

    Per treballar amb matrius, sistemes dequacions lineals, etc., cal carregar el paquet queconte les comandes especfiques per aquest tema fent with(linalg).

    Les comandes principals son les seguents:

    vector([x1,..,xn]) Crea el vector (x1, . . . , xn).

    vector(n,f) Crea el vector (f(1), . . . , f(n)).

    matrix(m,n,[a11,..,amn]) Crea la matriu (aji ), 1 i m, 1 j n.matrix(m,n,f) Crea la matriu (aji ) Mmn, amb aji = f(i, j).evalm(array(1..n,1..n,identity)) Crea la matriu identitat de n n.matadd(A,B) Suma les matrius A i B.

    multiply(A,B) Multiplica les matrius A i B.

    scalarmul(A,) Multiplica la matriu A per lescalar .

    evalm(A^n) Calcula la pote`ncia n-e`sima de la matriu A.

    trace(A) Calcula la traca de la matriu A.

    det(A) Calcula el determinant de la matriu A.

    inverse(A) Calcula la matriu inversa de A.

    transpose(A) Calcula la transposta de la matriu A.

    adj(A) Calcula la adjunta de la transposta de A.

    rank(A) Calcula el rang de la matriu A.

    linsolve(A,b) Resol el sistema Ax = b.

    linsolve(A,B) Resol el sistema AX = B, on B es una matriu.

    nullspace(A) Dona una base de solucions del sistema Ax = 0.

    charpoly(A,x) Calcula el polinomi caracterstic de A.

    eigenvals(A) Calcula els valors propis de la matriu A.

    eigenvects(A) Forma una seque`ncia de llistes, cada una de les quals conte 3elements: un valor propi, la seva multiplicitat i una llista ambtants vectors propis independents com es possible.

    6