Csomagok I.

lineáris algebra (linalg)

A linalg csomag alapvetõ lineáris algebrai feladatok megoldására alkalmas parancsok összessége.

> with(linalg);

Warning, new definition for fibonacci

Warning, new definition for norm

Warning, new definition for trace

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

vektorok

A Maple-ben a vektorokat és a mátrixokat tömbökként implementálták, ezért az array eljárás hívásával hozhatók létre. Alternatív megoldásként használhatjuk a vector és a matrix rutinokat is.

> x:=array([1,2,3]);

[Maple Math]

> v:=vector([1,6,3]);

[Maple Math]

Létrehozhatunk üres vektort is, ezt utána egyesével fel kell tölteni.

> c:=vector(10);
c[1]:=9;

[Maple Math]

[Maple Math]

Mivel a vektor tömb, ezért a print eljárással lehet kiíratni a tartalmát a képernyõre.

> print(x),print(v),print(c);

[Maple Math]

[Maple Math]

[Maple Math]

A vektormûveletek eredményeit az evalm eljárás segítségével lehet kiértékelni illetve megjeleníteni.

> x+v; x-v; 3*v;

[Maple Math]

[Maple Math]

[Maple Math]

> evalm(x+v), evalm(x-v), evalm(3*v);

[Maple Math]

A skaláris szorzatot vagy beépített paranccsal, vagy mûvelettel lehet kiszámítani.

> dotprod(x,v);

[Maple Math]

> evalm(x&*v);

[Maple Math]

Vektoriális szorzat:

> crossprod(x,v);

[Maple Math]

A vektor normáját/hosszát ( [Maple Math] ) a norm eljárás adja meg.

> norm(v);

[Maple Math]

Két vektor szögét határozhatjuk meg az angle eljárással.

> angle(x,v);

[Maple Math]

> evalf(%);

[Maple Math]

>

mátrixok

Mátrix létrehozása elemei sorfolytonos megadásával a matrix parancs alábbi meghívásával történik:

> A:=matrix([[1,1,1],[2,2,2],[3,3,3]]);

[Maple Math]

Üres mátrixot is létrehozhatunk, melynek elemeit késõbb egyenként megadhatjuk. Ekkor a mátrix dimenzióját adjuk át a parancsnak:

> M:=matrix(2,3);

[Maple Math]

> M[1,3]:=2;

[Maple Math]

A fenti két módszert vegyesen is alkalmazhatjuk. Ekkor olyan mátrixot is megadhatunk, melynek csak néhány elemét határoztuk meg.

> matrix(5,5,[[1,2],[3,4]]);

[Maple Math]

Mivel a mátrix is tömb, ezért a print vagy az evalm eljárással írathatjuk ki.

> print(A);

[Maple Math]

> evalm(A);

[Maple Math]

Mátrixokon végzett algebrai mûveleteket vagy az evalm és az algebrai mûveletek segítségével vagy egyéb beépített parancsokkal végezhetjük el. A matadd eljárás két mátrixot ad össze.

> B:=matrix([[2,5,4],[1,0,-1],[-3,1,2]]);

[Maple Math]

> evalm(A+B);

[Maple Math]

> matadd(A,B);

[Maple Math]

A mátrix szorzása skalárral:

> evalm(2*B);

[Maple Math]

Lineáris kombináció kiszámolása:

> evalm(2*A-3*B);

[Maple Math]

Ugyanezt a matadd paranccsal is kiszámíthatjuk:

> matadd(A,B,2,-3);

[Maple Math]

Mátrixok szorzatának jelölésére a &* szorzásoperátort, vagy a multiply eljárást kell alkalmazni.

> evalm(A&*B);

[Maple Math]

> multiply(A,B);

[Maple Math]

A &* operátor mátrixok vektorral való szorzásánál is alkalmazható.

> a:=vector([4,3,2]);

[Maple Math]

> evalm(a&*A);

[Maple Math]

A Maple ebben az esetben a -t sorvektorként értelmezi, mert így értelmezhetõ a szorzás.

> evalm(A&*a);

[Maple Math]

Az a -t itt oszlopvektorként értelmezi a Maple.

Mátrixok hatványai a szokásos
^ operátorral számíthatók ki.

> evalm(B^2);

[Maple Math]

> evalm(A^3);

[Maple Math]

A map parancsot egy mátrixra alkalmazva a mátrix minden elemére kiértékelhetünk egy függvényt.

> map(exp,A);

[Maple Math]

Mátrix transzponálását a transpose eljárással végezhetjük el.

> transpose(A);
transpose(B);

[Maple Math]

[Maple Math]

A mátrix inverzének meghatározásásra szolgál az inverse függvény.

> inverse(B);

[Maple Math]

A mátrix determinánsát a det függvénnyel határozhatjuk meg.

> det(B);

[Maple Math]

A mátrix rangja, sor-és oszlopvektor-rendszerének bázisa is könnyen kiszámolható:

> rank(A),rank(B);

[Maple Math]

> rowspace(B),colspace(B);

[Maple Math]

A B x =a egyenletrendszert a linsolve eljárás segítségével oldhatjuk meg.

> linsolve(B,a);

[Maple Math]

A mátrix sajátértékeit az eigenvalues , a sajátvektorokat az eigenvectors eljárással számíthatjuk ki.

> F:=matrix([[1,1],[4,1]]);

[Maple Math]

> eigenvalues(F);

[Maple Math]

> eigenvectors(F);

[Maple Math]

Az eigenvectors megadja a sajátértékeket, azt, hogy hányszoros sajátérték és a sajátértékhez tartozó sajátvektort.

>

>

számelmélet (numtheory)

prímtényezõs felbontás:

> ifactor(2345634345);

[Maple Math]

legnagyobb közös osztó:

> igcd(234,654);

[Maple Math]

> igcd(234,142,768);

[Maple Math]

legkisebb közös többszörös:

> ilcm(96,36);

[Maple Math]

> ilcm(23,12,28);

[Maple Math]

prímszám ellenõrzés:

> isprime(2567);

[Maple Math]

következõ prímszám:

> nextprime(2567);

[Maple Math]

elõzõ prímszám:

> prevprime(2567);

[Maple Math]

i-edik prímszám:

> for i from 1 to 10 do
printf("%d. prímszám=%d\n",i,ithprime(i));
od;

1. prímszám=2

2. prímszám=3

3. prímszám=5

4. prímszám=7

5. prímszám=11

6. prímszám=13

7. prímszám=17

8. prímszám=19

9. prímszám=23

10. prímszám=29

> with(numtheory);

Warning, new definition for B

Warning, new definition for F

Warning, new definition for M

Warning, new definition for order

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

n-edik Fermat szám: [Maple Math] +1

> for i from 1 to 7 do
i,fermat(i),isprime(fermat(i));
od;

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

[Maple Math]

Euler-féle [Maple Math] függvény: az n-hez relatív prím és n-nél kisebb egész számok száma

> phi(2);
phi(5);

[Maple Math]

[Maple Math]

Összes osztók:

> divisors(234);

[Maple Math]

>

kombinatorika (combinat)

> with(combinat);

Warning, new definition for fibonacci

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

Kombinációk szemléltetése:

> choose(10,2);

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

> choose({a,b,c,d},3);

[Maple Math]

Kombinációk száma:

> numbcomb(10,2);

[Maple Math]

> choose([a,a,a,b,b,c],2);

[Maple Math]

> numbcomb([a,a,a,b,b,c],2);

[Maple Math]

Binomiális együttható ( n alatt a k ):

> binomial(10,2);

[Maple Math]

Multinomiális együttható ( n alatt a [Maple Math] , [Maple Math] ,..., [Maple Math] ), ahol [Maple Math] + [Maple Math] +...+ [Maple Math] = [Maple Math] , kiszámítása:

> multinomial(10,2,3,5);

[Maple Math]

Partíciós feladat: [Maple Math] +...+ [Maple Math] egyenlet összes pozitív megoldásai elõállítása

> composition(5,3);

[Maple Math]

> numbcomp(5,3);

[Maple Math]

Particionálás - a megadott n természetes számot hányféleképpen állíthatjuk elõ természetes számok összegeként:

> partition(5);

[Maple Math]

> numbpart(5);

[Maple Math]

Permutációk - n db elem összes permitációi:

> permute(3);

[Maple Math]

> permute({a,b,c});

[Maple Math]

> numbperm(3);

[Maple Math]

n elem k hosszú ismétlés nélküli variációi

> permute(5,3);

[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]
[Maple Math]

> numbperm(5,3);

[Maple Math]

n elemû halmaz összes részhalmaza:

> powerset(3);

[Maple Math]

Véletlen kombináció kiválasztása:

> randcomb(8,3);
randcomb(8,3);
randcomb(8,3);

[Maple Math]

[Maple Math]

[Maple Math]

Véletlen permutáció:

> randperm(10);
randperm(10);

[Maple Math]

[Maple Math]

Véletlen partíció:

> randpart(5);
randpart(5);
randpart(5);

[Maple Math]

[Maple Math]

[Maple Math]

>

>