Stability | experimental |
---|---|
Maintainer | Patrick Perry <[email protected]> |
Data.Matrix.Herm
Description
Hermitian views of matrices.
- data Herm a nn e = Herm UpLoEnum (a nn e)
- hermFromBase :: UpLoEnum -> a (n, n) e -> Herm a (n, n) e
- hermToBase :: Herm a (n, n) e -> (UpLoEnum, a (n, n) e)
- mapHerm :: (a nn e -> b nn' e) -> Herm a nn e -> Herm b nn' e
- hermL :: MatrixShaped a => a (n, n) e -> Herm a (n, n) e
- hermU :: MatrixShaped a => a (n, n) e -> Herm a (n, n) e
- coerceHerm :: Herm a mn e -> Herm a mn' e
Documentation
A hermitian view of an underlying matrix. The view can either be of the upper or lower triangular part of the matrix. The type arguments are as follows:
-
a
: the underlyting matrix type. -
nn
: a phantom type for the shape of the matrix. -
e
: the element type of the matrix.
Instances
MatrixShaped a => MatrixShaped (Herm a) | |
BLAS3 e => IMatrix (Herm Matrix) e | |
BLAS3 e => IMatrix (Herm Banded) e | |
BLAS3 e => MMatrix (Herm IOMatrix) e IO | |
BLAS3 e => MMatrix (Herm Matrix) e IO | |
BLAS3 e => MMatrix (Herm IOBanded) e IO | |
BLAS3 e => MMatrix (Herm Banded) e IO | |
BLAS3 e => MMatrix (Herm Matrix) e (ST s) | |
BLAS3 e => MMatrix (Herm (STMatrix s)) e (ST s) | |
BLAS3 e => MMatrix (Herm Banded) e (ST s) | |
BLAS3 e => MMatrix (Herm (STBanded s)) e (ST s) | |
MatrixShaped a => Shaped (Herm a) (Int, Int) | |
Show (a (n, n) e) => Show (Herm a (n, n) e) |
hermFromBase :: UpLoEnum -> a (n, n) e -> Herm a (n, n) eSource
Convert from a base matrix type to a Herm matrix type.
hermToBase :: Herm a (n, n) e -> (UpLoEnum, a (n, n) e)Source
Convert from a Herm matrix type to a base matrix type.
mapHerm :: (a nn e -> b nn' e) -> Herm a nn e -> Herm b nn' eSource
Apply a function to the unerlying matrix.
hermL :: MatrixShaped a => a (n, n) e -> Herm a (n, n) eSource
Construct a lower-triangular hermitian view into a matrix. This also checks to see if the base matrix is square.
hermU :: MatrixShaped a => a (n, n) e -> Herm a (n, n) eSource
Construct an upper-triangular hermitian view into a matrix. This also checks to see if the base matrix is square.
coerceHerm :: Herm a mn e -> Herm a mn' eSource
Cast the phantom shape type.