Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- type BandedHermitian offDiag sh = Hermitian offDiag sh
- data Transposition
- class (C neg, C pos) => Semidefinite neg pos
- assureFullRank :: (Semidefinite neg pos, C zero) => AnyHermitianP pack neg zero pos bands sh a -> AnyHermitianP pack neg False pos bands sh a
- assureAnyRank :: (Semidefinite neg pos, C zero) => AnyHermitianP pack neg True pos bands sh a -> AnyHermitianP pack neg zero pos bands sh a
- relaxSemidefinite :: (C neg, C zero, C pos) => AnyHermitianP pack neg False pos bands sh a -> AnyHermitianP pack neg zero pos bands sh a
- relaxIndefinite :: (C neg, C zero, C pos) => AnyHermitianP pack neg zero pos bands sh a -> Quadratic pack HermitianUnknownDefiniteness bands bands sh a
- assurePositiveDefiniteness :: (C neg, C zero, C pos) => AnyHermitianP pack neg zero pos bands sh a -> Quadratic pack HermitianPositiveDefinite bands bands sh a
- relaxDefiniteness :: (C neg, C zero, C pos) => Quadratic pack HermitianPositiveDefinite bands bands sh a -> AnyHermitianP pack neg zero pos bands sh a
- size :: BandedHermitian offDiag sh a -> sh
- fromList :: (Natural offDiag, C size, Floating a) => UnaryProxy offDiag -> Order -> size -> [a] -> BandedHermitian offDiag size a
- identity :: (C sh, Floating a) => sh -> HermitianPosDef U0 sh a
- diagonal :: (C sh, Floating a) => Vector sh (RealOf a) -> Diagonal sh a
- takeDiagonal :: (C neg, C zero, C pos) => (Natural offDiag, C size, Floating a) => FlexHermitian neg zero pos offDiag size a -> Vector size (RealOf a)
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- gramian :: (C size, Eq size, Floating a, Natural sub, Natural super) => Square sub super size a -> HermitianPosSemidef (sub :+: super) size a
- sumRank1 :: (Natural k, Indexed sh, Floating a) => Order -> sh -> [(RealOf a, (Index sh, StaticVector (Succ k) a))] -> HermitianPosSemidef k sh a
- eigenvalues :: (C neg, C zero, C pos, Natural offDiag) => (Permutable sh, Floating a) => FlexHermitian neg zero pos offDiag sh a -> Vector sh (RealOf a)
- 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))
Documentation
type BandedHermitian offDiag sh = Hermitian offDiag sh Source #
data Transposition #
Instances
class (C neg, C pos) => Semidefinite neg pos Source #
Instances
Semidefinite True False Source # | |
Defined in Numeric.LAPACK.Matrix.Array.Hermitian | |
Semidefinite False True Source # | |
Defined in Numeric.LAPACK.Matrix.Array.Hermitian |
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 #
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.