Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- type Symmetric sh = FlexSymmetric NonUnit sh
- size :: Symmetric sh a -> sh
- fromList :: (C sh, Storable a) => Order -> sh -> [a] -> Symmetric sh a
- autoFromList :: Storable a => Order -> [a] -> Symmetric ShapeInt a
- identity :: (C sh, Floating a) => Order -> sh -> Symmetric sh a
- diagonal :: (C sh, Floating a) => Order -> Vector sh a -> Symmetric sh a
- takeDiagonal :: (C sh, Floating a) => Symmetric sh a -> Vector sh a
- transpose :: Symmetric sh a -> Symmetric sh a
- adjoint :: (C sh, Floating a) => Symmetric sh a -> Symmetric sh a
- 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
- (#%%%#) :: (C sh0, Eq sh0, C sh1, Eq sh1, Floating a) => (Symmetric sh0 a, General sh0 sh1 a) -> Symmetric sh1 a -> Symmetric (sh0 :+: sh1) a
- 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)
- toSquare :: (C sh, Floating a) => Symmetric sh a -> Square sh a
- gramian :: (C height, C width, Floating a) => General height width a -> Symmetric width a
- gramianTransposed :: (C height, C width, Floating a) => General height width a -> Symmetric height a
- congruenceDiagonal :: (C height, Eq height, C width, Floating a) => Vector height a -> General height width a -> Symmetric width a
- congruenceDiagonalTransposed :: (C height, C width, Eq width, Floating a) => General height width a -> Vector width a -> Symmetric height a
- congruence :: (C height, Eq height, C width, Floating a) => Symmetric height a -> General height width a -> Symmetric width a
- congruenceTransposed :: (C height, C width, Eq width, Floating a) => General height width a -> Symmetric width a -> Symmetric height a
- 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
- 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
Documentation
type Symmetric sh = FlexSymmetric NonUnit sh 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 #
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.