lapack-0.3.2: Numerical Linear Algebra using LAPACK
Safe HaskellNone
LanguageHaskell98

Numeric.LAPACK.Matrix.Symmetric

Synopsis

Documentation

size :: Symmetric sh a -> sh Source #

fromList :: (C sh, Storable a) => Order -> sh -> [a] -> Symmetric sh a Source #

identity :: (C sh, Floating a) => Order -> sh -> Symmetric sh a Source #

diagonal :: (C sh, Floating a) => Order -> Vector sh a -> Symmetric sh a Source #

takeDiagonal :: (C sh, Floating a) => Symmetric sh a -> Vector sh a Source #

adjoint :: (C sh, Floating a) => Symmetric sh a -> Symmetric sh a Source #

stack :: (C sh0, Eq sh0, C sh1, Eq sh1, Floating a) => Symmetric sh0 a -> General sh0 sh1 a -> Symmetric sh1 a -> Symmetric (sh0 :+: sh1) a Source #

(#%%%#) :: (C sh0, Eq sh0, C sh1, Eq sh1, Floating a) => (Symmetric sh0 a, General sh0 sh1 a) -> Symmetric sh1 a -> Symmetric (sh0 :+: sh1) a infixr 2 Source #

split :: (C sh0, Eq sh0, C sh1, Eq sh1, Floating a) => Symmetric (sh0 :+: sh1) a -> (Symmetric sh0 a, General sh0 sh1 a, Symmetric sh1 a) Source #

toSquare :: (C sh, Floating a) => Symmetric sh a -> Square sh a Source #

fromHermitian :: (C sh, Real a) => Hermitian sh a -> Symmetric sh a Source #

gramian :: (C height, C width, Floating a) => General height width a -> Symmetric width a Source #

gramian A = A^T * A

gramianTransposed :: (C height, C width, Floating a) => General height width a -> Symmetric height a Source #

gramianTransposed A = A * A^T = gramian (A^T)

congruenceDiagonal :: (C height, Eq height, C width, Floating a) => Vector height a -> General height width a -> Symmetric width a Source #

congruenceDiagonal D A = A^T * D * A

congruenceDiagonalTransposed :: (C height, C width, Eq width, Floating a) => General height width a -> Vector width a -> Symmetric height a Source #

congruenceDiagonalTransposed A D = A * D * A^T

congruence :: (C height, Eq height, C width, Floating a) => Symmetric height a -> General height width a -> Symmetric width a Source #

congruence B A = A^T * B * A

congruenceTransposed :: (C height, C width, Eq width, Floating a) => General height width a -> Symmetric width a -> Symmetric height a Source #

congruenceTransposed B A = A * B * A^T

anticommutator :: (C vert, C horiz, C height, Eq height, C width, Eq width, Floating a) => Full vert horiz height width a -> Full vert horiz height width a -> Symmetric width a Source #

anticommutator A B = A^T * B + B^T * A

Not exactly a matrix anticommutator, thus I like to call it Symmetric anticommutator.

anticommutatorTransposed :: (C vert, C horiz, C height, Eq height, C width, Eq width, Floating a) => Full vert horiz height width a -> Full vert horiz height width a -> Symmetric height a Source #

anticommutatorTransposed A B = A * B^T + B * A^T = anticommutator (transpose A) (transpose B)