Pole, vektory a matice
Pole je obecná několikarozměrná datová struktura, jejíž speciálními typy jsou matice a vektory. V tomto místě se omezíme pouze na základní definice a vlastnosti těchto struktur, výpočty s nimi a další jejich vlastnoti jsou uvedeny dále v oddíle lineární algebra nebo v helpu linalg .
Obecně lze definovat pole takto:
> array(0..1,-1..0,[(0,-1)=a, (0,0)=b, (1,-1)=c]);
Lze i jednodušeji:
>
v:=array([a,b,c]);
type(v,list); #POZOR v není seznam
type(v,array); #je to pole
type(v,vector); #a navíc vektor
Výše uvedený zápis je tedy ekvivalentní zápisu v:=vector([a,b,c]); podobně lze zadat matici:
>
M:=matrix([[a,b],[c,d]]);
M[1,2]:=3;
print(M); #zobrazí matici
Lze zadávat i mnoho specifických typů matic, např:
>
matrix(2,2,0); #nulova matice
M:=array(symmetric,1..2,1..2): M[1,2]:=2: print(M);
Pro konverze do jiného typu datové struktury lze opět použít pčíkaz convert a dále s výhodou použíp příkaz map .
> Ms:=convert(M,listlist);
> map(op,%);
> convert(Ms,matrix); #konverze zpet