Maple Vs. Sage Vs. Geogebra Mit tudunk Lineáris algebrából??? Sipos Csaba
Geogebra MatrixFromvectors[{lista},{lista}] VectortFromPoints[{x,y}] Mátrixok, illetve vektorok definiálása: MatrixFromvectors[{lista},{lista}] VectortFromPoints[{x,y}] A geogebra 2 dimenziós vektorokat kezel Néhány fontosabb művelet: Transpose[Mátrix] Eigenvalue[Mátrix] Eigenvector[mátrix] MatrixTimesVector MatrixTimesMatrix Determinant Inverse
PointFromVector VectorFromPoint MatrixFromVectors Az eszköz egyébként nagyon szemléletes, elég sok mindent meg lehet rajta érteni. Sage egy kicsit komolyabb eszköz, mint a GeoGebra Mátrix, vektor definiálás A = Matrix([[1,2,3],[3,2,1],[1,1,1]]) w = vector([1,1,-4]) Műveltek Mátrixokkal, vektorokkal w*A A*w Sage
Sage A.eigenvalues () – A sajátértékei A.eigenvectors_left() - sajátértékek, sajátvektorok, algebrai multiplicitás Mátrix definíciójánál megadhatjuk, hogy mi felett legyen értelmezve: AZ = matrix(ZZ, [[2,0], [0,1]]) ∈ ℤ 2𝑥2 AQ = matrix(QQ, [[2,0], [0,1]]) ∈ ℚ 2𝑥2 AR = matrix(RR, [[2,0], [0,1]]) ∈ ℝ 2𝑥2 Lehetőség van Mátrix terek létrehozásáre Q, Z, R felett M = MatrixSpace(QQ,3) B = M.basis() - bázisrendszer A = M(range(9)) – mátrix létehozása M = MatrixSpace(GF(2),4,8) – kettes számrendszerben 4x8-as mátrixok
Sage A.rows() – A-nak a sorai A.columns() – A-nak az oszlopai A.transpose() – A transzponáltja fA.charpoly(’t’) - a karakterisztikus polinom . A.inverse() - inverz A.conjugate() - konjugált A[i,j] - i. sor j.eleme A.nrows() A.ncols() A.determinant() A.trace
Sage A.norm() A.norm(1) A.norm(Infinity) A.norm(‚Frob’) A.jordan_form(transformation=True) – Jordan alak, A=P^(-1)*J*P A.LU() (p permutáció mátrix, L alsó, U felső háromszög mátrix), PA=LU A.QR() (Q-ortog onális mátrix, R felsőháromszög mátrix ) A=QR A.SVD() - A=USV^(konjugált v. transzponált) Vektor Műveletek: u.dot_product(v) - <u,v>
Sage u.norm() =u.norm(2) - euklideszi norma u.norm(1) – 1-es (összeg) -norma u.norm(Infinity) – végtelen(maximum) norma Összegzés: Véleményem szerint a Sage elég jól alkalmazható lineáris algebrai feladatok megoldására, elég sok függvényt tartalmaz, amely alkalmazható és segíti a programozó munkáját
Maple A maple –ben két csomag is található a lineáris algebrai feladatokat kedvelő emberek számára A maple-ben néhány függvényhez van írva grafikus oktatófelület, ami nagyon jól használhatók a fogalmak megértésére A Linear Algebra csomagban megtalálható függvények: Basis(V) – V vektortér bázisa CharacteristicPolynomial(M,x) – Az M matrix karakterisztikus polinomja
Maple CrossProduct (v1,v2) - kiszámolja két vektor vektoriális szorzatát Determinant(M) – az M mátrix determinánsa Dimension(M) – az M mátrix dimenziója DotProduct(v1,v2) - <v1,v2> Eigenvalues(M) – M mátrix sajátértékei Eigenvectors(M) - M mátrix sajátértékei GaussianElimination(M) – Felsőháromszög alakra hozaa az M mátrixot
Maple LinearSolve(M) – A*x=b egyenlet megoldása MatrixInverse(M) - M-nek az inverze MatrixScalarMultiply(M,a) – kiszámítja az a*M-et, ahol a az skalár Transpose(M) – az M mátrix transzponáltjának a kiszámítása QRDecomposition(M) – Az M QR felbontása JordanForm(M) – Jordan felbontás
Maple MatrixVectorMultiply(M,v) – Mátrix –vektor szorzás Trace(M) – diagonális elemek összege VectorNorm(v) – norma MatrixNorm(M) - mátrix norma Összegzés: A maple-t kényelmesebbnek tartom a Sage-nél lineáris algebrában, de sajnos a Maple-ért fizetni kell!!!
Maple A Maple nagy segítségre lehet a programozónak a help-jével, amelyben példákkal illusztrálva könnyen megtalálhatjuk azt, amire szükségünk van. Van még egy programcsomag, ami Szimbolikus számításokra szintén alkalmas. A Maple inputjára tekintve biztosan jobb, mert a Maple újabb verzióiban szerintem igen csak nem sikerült megoldani az input bevitelt. Ha van még egy kis idő, akkor ejtenék pár szót a Mathematica nevű programcsomag lineáris algebrában való használhatóságáról.
Mathematica Úgy mint a Maple-ben, vagy a Sage-ben itt is megtalálhatók a legfontosabb lineáris algebrai műveletek: EigenValues Norm Cross Dot (.) – van operátor a skaláris szorzatra, ami nem hátrányos, a v1.v2 = <v1,v2> MatrixNorm LinearSolve
Mathematica SingularValueDecomposition QRDecomposition SchurDecomposition Inverse Transpose Det Stb. A Mathematica-nak is nagyon jó a helpje, talán még jobb is mint a Maplé. Mostanában dolgoztam Maplben és Mathematica-ban is és az utóbbi jobban tetszett. Lehet azért mert gyorsabb, vagy talán az input de nekem jobban tetszett.
Köszönöm a Figyelmet!!!