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 |