lapack-0.5.1: Numerical Linear Algebra using LAPACK

Safe HaskellNone
LanguageHaskell98

Numeric.LAPACK.Matrix.BandedHermitian

Synopsis

Documentation

type BandedHermitian offDiag sh = Hermitian offDiag sh Source #

data Transposition #

Constructors

NonTransposed 
Transposed 

class (C neg, C pos) => Semidefinite neg pos Source #

assureFullRank :: (Semidefinite neg pos, C zero) => AnyHermitianP pack neg zero pos bands sh a -> AnyHermitianP pack neg False pos bands sh a Source #

assureAnyRank :: (Semidefinite neg pos, C zero) => AnyHermitianP pack neg True pos bands sh a -> AnyHermitianP pack neg zero pos bands sh a Source #

relaxSemidefinite :: (C neg, C zero, C pos) => AnyHermitianP pack neg False pos bands sh a -> AnyHermitianP pack neg zero pos bands sh a Source #

relaxIndefinite :: (C neg, C zero, C pos) => AnyHermitianP pack neg zero pos bands sh a -> Quadratic pack HermitianUnknownDefiniteness bands bands sh a Source #

assurePositiveDefiniteness :: (C neg, C zero, C pos) => AnyHermitianP pack neg zero pos bands sh a -> Quadratic pack HermitianPositiveDefinite bands bands sh a Source #

relaxDefiniteness :: (C neg, C zero, C pos) => Quadratic pack HermitianPositiveDefinite bands bands sh a -> AnyHermitianP pack neg zero pos bands sh a Source #

size :: BandedHermitian offDiag sh a -> sh Source #

fromList :: (Natural offDiag, C size, Floating a) => UnaryProxy offDiag -> Order -> size -> [a] -> BandedHermitian offDiag size a Source #

identity :: (C sh, Floating a) => sh -> HermitianPosDef U0 sh a Source #

diagonal :: (C sh, Floating a) => Vector sh (RealOf a) -> Diagonal sh a Source #

takeDiagonal :: (C neg, C zero, C pos) => (Natural offDiag, C size, Floating a) => FlexHermitian neg zero pos offDiag size a -> Vector size (RealOf a) Source #

toHermitian :: (C neg, C zero, C pos) => (Natural offDiag, C size, Floating a) => FlexHermitian neg zero pos offDiag size a -> FlexHermitian neg zero pos size a Source #

toBanded :: (C neg, C zero, C pos, Natural offDiag, C size, Floating a) => FlexHermitian neg zero pos offDiag size a -> Square offDiag offDiag size a Source #

forceOrder :: (C neg, C zero, C pos, Natural offDiag, C size, Floating a) => Order -> FlexHermitian neg zero pos offDiag size a -> FlexHermitian neg zero pos offDiag size a Source #

takeTopLeft :: (C neg, C zero, C pos, Natural offDiag, C sh0, C sh1, Floating a) => FlexHermitian neg zero pos offDiag (sh0 ::+ sh1) a -> FlexHermitian neg zero pos offDiag sh0 a Source #

takeBottomRight :: (C neg, C zero, C pos, Natural offDiag, C sh0, C sh1, Floating a) => FlexHermitian neg zero pos offDiag (sh0 ::+ sh1) a -> FlexHermitian neg zero pos offDiag sh1 a Source #

negate :: (C neg, C zero, C pos, Natural offDiag, C sh, Floating a) => FlexHermitian neg zero pos offDiag sh a -> FlexHermitian pos zero neg offDiag sh a Source #

multiplyVector :: (C neg, C zero, C pos, Natural offDiag, C size, Eq size, Floating a) => Transposition -> FlexHermitian neg zero pos offDiag size a -> Vector size a -> Vector size a Source #

multiplyFull :: (C neg, C zero, C pos, Natural offDiag, Measure meas, C vert, C horiz, C height, Eq height, C width, Floating a) => Transposition -> FlexHermitian neg zero pos offDiag height a -> Full meas vert horiz height width a -> Full meas vert horiz height width a Source #

gramian :: (C size, Eq size, Floating a, Natural sub, Natural super) => Square sub super size a -> HermitianPosSemidef (sub :+: super) size a Source #

sumRank1 :: (Natural k, Indexed sh, Floating a) => Order -> sh -> [(RealOf a, (Index sh, StaticVector (Succ k) a))] -> HermitianPosSemidef k sh a Source #

The list represents ragged rows of a sparse matrix.

eigenvalues :: (C neg, C zero, C pos, Natural offDiag) => (Permutable sh, Floating a) => FlexHermitian neg zero pos offDiag sh a -> Vector sh (RealOf a) Source #

eigensystem :: (C neg, C zero, C pos, Natural offDiag) => (Permutable sh, Floating a) => FlexHermitian neg zero pos offDiag sh a -> (Square sh a, Vector sh (RealOf a)) Source #

For symmetric eigenvalue problems, eigensystem and schur coincide.