Genius implementuje velmi užitečné rutiny pro lineární algebru a práci s maticemi. Viz Lineární algebra a Práce s maticemi v kapitole se seznamem funkcí GEL.
Rutiny lineární algebry implementované v jazyce GEL v současnosti nepochází s příliš testovaného balíku pro numeriku a proto by neměly být používány pro kritické numerické výpočty. Na druhou stranu Genius implementuje opravdu hodně operací lineární algebry s racionálními a celočíselnými koeficienty. Ty jsou přirozeně přesné a v praxi vám poskytnou mnohem lepší výsledky, než běžné rutiny pro lineární algebru s dvojitou přesností.
Například je pro praktické účely zbytečné počítat hodnost nebo nulový prostor matice desetinných čísel, musíme vzít v úvahu, že matice mají určité malé chyby. To může vést k tomu, že získáte jiné výsledky, než očekáváte. Problém je, že za malou odchylkou každé matice je plná hodnost a invertovatelnost. Avšak pokud je matice z racionálních čísel, pak hodnost a nulový prostor jsou vždy přesné.
Vzato obecně, když Genius počítá podle určitého prostoru vektorů (například s funkcí NullSpace
), získá báze jako matici, ve které jsou sloupce vektory báze. Když Genius mluví o lineárním podprostoru, míní tím matici, jejíž prostor sloupců je daný lineární podprostor.
Měli byste vzít na vědomí, že Genius si umí zapamatovat určité vlastnosti matice. Například si bude pamatovat, že je v řádkově redukované podobě. Když je prováděno hodně volání funkcí, které interně používají řádkově redukovanou matici, můžeme matici řádkově redukovat dopředu. Postupná volání rref
budou velmi rychlá.