Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Matrix.Static.LinearAlgebra
Documentation
class Arithmetic (mat1 :: MatrixKind) (mat2 :: MatrixKind) where Source #
Methods
(@@) :: (Numeric a, SingI n, SingI m, If (mat1 == mat2) mat1 Matrix ~ mat3) => mat1 n p Vector a -> mat2 p m Vector a -> mat3 n m Vector a infixr 8 Source #
Matrix multiplication
(%+%) :: (Numeric a, SingI n, SingI m, If (mat1 == mat2) mat1 Matrix ~ mat3) => mat1 n m Vector a -> mat2 n m Vector a -> mat3 n m Vector a infixr 8 Source #
(%-%) :: (Numeric a, SingI n, SingI m, If (mat1 == mat2) mat1 Matrix ~ mat3) => mat1 n m Vector a -> mat2 n m Vector a -> mat3 n m Vector a infixr 8 Source #
(%*%) :: (Numeric a, SingI n, SingI m, If (mat1 == mat2) mat1 SparseMatrix ~ mat3) => mat1 n m Vector a -> mat2 n m Vector a -> mat3 n m Vector a infixr 8 Source #
Instances
Arithmetic Matrix Matrix Source # | |
Defined in Data.Matrix.Static.LinearAlgebra Methods (@@) :: (Numeric a, SingI n, SingI m, If (Matrix == Matrix) Matrix Matrix ~ mat3) => Matrix n p Vector a -> Matrix p m Vector a -> mat3 n m Vector a Source # (%+%) :: (Numeric a, SingI n, SingI m, If (Matrix == Matrix) Matrix Matrix ~ mat3) => Matrix n m Vector a -> Matrix n m Vector a -> mat3 n m Vector a Source # (%-%) :: (Numeric a, SingI n, SingI m, If (Matrix == Matrix) Matrix Matrix ~ mat3) => Matrix n m Vector a -> Matrix n m Vector a -> mat3 n m Vector a Source # (%*%) :: (Numeric a, SingI n, SingI m, If (Matrix == Matrix) Matrix SparseMatrix ~ mat3) => Matrix n m Vector a -> Matrix n m Vector a -> mat3 n m Vector a Source # | |
Arithmetic Matrix SparseMatrix Source # | |
Defined in Data.Matrix.Static.LinearAlgebra Methods (@@) :: (Numeric a, SingI n, SingI m, If (Matrix == SparseMatrix) Matrix Matrix ~ mat3) => Matrix n p Vector a -> SparseMatrix p m Vector a -> mat3 n m Vector a Source # (%+%) :: (Numeric a, SingI n, SingI m, If (Matrix == SparseMatrix) Matrix Matrix ~ mat3) => Matrix n m Vector a -> SparseMatrix n m Vector a -> mat3 n m Vector a Source # (%-%) :: (Numeric a, SingI n, SingI m, If (Matrix == SparseMatrix) Matrix Matrix ~ mat3) => Matrix n m Vector a -> SparseMatrix n m Vector a -> mat3 n m Vector a Source # (%*%) :: (Numeric a, SingI n, SingI m, If (Matrix == SparseMatrix) Matrix SparseMatrix ~ mat3) => Matrix n m Vector a -> SparseMatrix n m Vector a -> mat3 n m Vector a Source # | |
Arithmetic SparseMatrix Matrix Source # | |
Defined in Data.Matrix.Static.LinearAlgebra Methods (@@) :: (Numeric a, SingI n, SingI m, If (SparseMatrix == Matrix) SparseMatrix Matrix ~ mat3) => SparseMatrix n p Vector a -> Matrix p m Vector a -> mat3 n m Vector a Source # (%+%) :: (Numeric a, SingI n, SingI m, If (SparseMatrix == Matrix) SparseMatrix Matrix ~ mat3) => SparseMatrix n m Vector a -> Matrix n m Vector a -> mat3 n m Vector a Source # (%-%) :: (Numeric a, SingI n, SingI m, If (SparseMatrix == Matrix) SparseMatrix Matrix ~ mat3) => SparseMatrix n m Vector a -> Matrix n m Vector a -> mat3 n m Vector a Source # (%*%) :: (Numeric a, SingI n, SingI m, If (SparseMatrix == Matrix) SparseMatrix SparseMatrix ~ mat3) => SparseMatrix n m Vector a -> Matrix n m Vector a -> mat3 n m Vector a Source # | |
Arithmetic SparseMatrix SparseMatrix Source # | |
Defined in Data.Matrix.Static.LinearAlgebra Methods (@@) :: (Numeric a, SingI n, SingI m, If (SparseMatrix == SparseMatrix) SparseMatrix Matrix ~ mat3) => SparseMatrix n p Vector a -> SparseMatrix p m Vector a -> mat3 n m Vector a Source # (%+%) :: (Numeric a, SingI n, SingI m, If (SparseMatrix == SparseMatrix) SparseMatrix Matrix ~ mat3) => SparseMatrix n m Vector a -> SparseMatrix n m Vector a -> mat3 n m Vector a Source # (%-%) :: (Numeric a, SingI n, SingI m, If (SparseMatrix == SparseMatrix) SparseMatrix Matrix ~ mat3) => SparseMatrix n m Vector a -> SparseMatrix n m Vector a -> mat3 n m Vector a Source # (%*%) :: (Numeric a, SingI n, SingI m, If (SparseMatrix == SparseMatrix) SparseMatrix SparseMatrix ~ mat3) => SparseMatrix n m Vector a -> SparseMatrix n m Vector a -> mat3 n m Vector a Source # |
class Factorization mat where Source #
Methods
inverse :: (SingI n, Numeric a) => mat n n Vector a -> mat n n Vector a Source #
Matrix inverse
eigs :: (SingI k, SingI n, (k <= (n - 2)) ~ True) => Sing k -> mat n n Vector Double -> (Matrix k 1 (Complex Double), Matrix n k (Complex Double)) Source #
Eigenvalues (not ordered) and eigenvectors (as columns) of a general square matrix.
cholesky :: (Numeric a, SingI n) => mat n n Vector a -> mat n n Vector a Source #
Cholesky decomposition
Instances
Factorization Matrix Source # | |
Defined in Data.Matrix.Static.LinearAlgebra Methods inverse :: (SingI n, Numeric a) => Matrix n n Vector a -> Matrix n n Vector a Source # eigs :: (SingI k, SingI n, (k <= (n - 2)) ~ True) => Sing k -> Matrix n n Vector Double -> (Matrix0 k 1 (Complex Double), Matrix0 n k (Complex Double)) Source # cholesky :: (Numeric a, SingI n) => Matrix n n Vector a -> Matrix n n Vector a Source # | |
Factorization SparseMatrix Source # | |
Defined in Data.Matrix.Static.LinearAlgebra Methods inverse :: (SingI n, Numeric a) => SparseMatrix n n Vector a -> SparseMatrix n n Vector a Source # eigs :: (SingI k, SingI n, (k <= (n - 2)) ~ True) => Sing k -> SparseMatrix n n Vector Double -> (Matrix k 1 (Complex Double), Matrix n k (Complex Double)) Source # cholesky :: (Numeric a, SingI n) => SparseMatrix n n Vector a -> SparseMatrix n n Vector a Source # |