Как вы вычисляете ортогональный базис матрицы, используя hmatrix? - PullRequest
1 голос
/ 20 февраля 2012

orth(somematrix) встроен в MATLAB, но, по-видимому, недоступен в библиотеке hmatrix на Haskell.

Ответы [ 2 ]

5 голосов
/ 21 февраля 2012
import Numeric.LinearAlgebra    

orth :: Field a => Matrix a -> [Vector a]
orth m = toColumns $ fst $ qr m

или без очков

orth = toColumns . fst . qr

Википедия имеет объяснение.

1 голос
/ 21 февраля 2012

Возможно, это то, что вам нужно:

orth m = toColumns u
        where (u,_,_) = compactSVD m

https://github.com/AlbertoRuiz/hmatrix/issues/10#issuecomment-4077403

...