Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- type General height width = Full Big Big height width
- type Tall height width = Full Big Small height width
- type Wide height width = Full Small Big height width
- type Square size = Full Small Small size size
- data Full vert horiz height width = Full {
- fullOrder :: Order
- fullExtent :: Extent vert horiz height width
- fullHeight :: (C vert, C horiz) => Full vert horiz height width -> height
- fullWidth :: (C vert, C horiz) => Full vert horiz height width -> width
- data Order
- flipOrder :: Order -> Order
- general :: Order -> height -> width -> General height width
- square :: Order -> sh -> Square sh
- wide :: (C height, C width) => Order -> height -> width -> Wide height width
- tall :: (C height, C width) => Order -> height -> width -> Tall height width
- data Split lower vert horiz height width
- type SplitGeneral lower height width = Split lower Big Big height width
- data Triangle = Triangle
- data Reflector = Reflector
- splitGeneral :: lower -> Order -> height -> width -> SplitGeneral lower height width
- splitFromFull :: lower -> Full vert horiz height width -> Split lower vert horiz height width
- data Hermitian size = Hermitian {
- hermitianOrder :: Order
- hermitianSize :: size
- hermitian :: Order -> size -> Hermitian size
- data Triangular lo diag up size = Triangular {
- triangularDiag :: diag
- triangularUplo :: (lo, up)
- triangularOrder :: Order
- triangularSize :: size
- type Identity = Triangular Empty Unit Empty
- type Diagonal = Triangular Empty NonUnit Empty
- type LowerTriangular diag = Triangular Filled diag Empty
- type UpperTriangular diag = Triangular Empty diag Filled
- type Symmetric = FlexSymmetric NonUnit
- diagonal :: Order -> size -> Triangular Empty NonUnit Empty size
- lowerTriangular :: Order -> size -> LowerTriangular NonUnit size
- upperTriangular :: Order -> size -> UpperTriangular NonUnit size
- symmetric :: Order -> size -> Symmetric size
- autoDiag :: TriDiag diag => diag
- autoUplo :: (Content lo, Content up) => (lo, up)
- type DiagUpLo lo up = (DiagUpLoC lo up, DiagUpLoC up lo)
- switchDiagUpLo :: DiagUpLoC lo up => f Empty Empty -> f Empty Filled -> f Filled Empty -> f lo up
- switchDiagUpLoSym :: (Content lo, Content up) => f Empty Empty -> f Empty Filled -> f Filled Empty -> f Filled Filled -> f lo up
- class TriDiag diag
- switchTriDiag :: TriDiag diag => f Unit -> f NonUnit -> f diag
- data Unit = Unit
- data NonUnit = NonUnit
- data Banded sub super vert horiz height width = Banded {
- bandedOffDiagonals :: (UnaryProxy sub, UnaryProxy super)
- bandedOrder :: Order
- bandedExtent :: Extent vert horiz height width
- type BandedGeneral sub super = Banded sub super Big Big
- type BandedSquare sub super size = Banded sub super Small Small size size
- type BandedLowerTriangular sub size = BandedSquare sub U0 size
- type BandedUpperTriangular super size = BandedSquare U0 super size
- type BandedDiagonal size = BandedSquare U0 U0 size
- data BandedIndex row column
- = InsideBox row column
- | VertOutsideBox Int column
- | HorizOutsideBox row Int
- bandedGeneral :: (UnaryProxy sub, UnaryProxy super) -> Order -> height -> width -> Banded sub super Big Big height width
- bandedSquare :: (UnaryProxy sub, UnaryProxy super) -> Order -> size -> Banded sub super Small Small size size
- bandedFromFull :: (UnaryProxy sub, UnaryProxy super) -> Full vert horiz height width -> Banded sub super vert horiz height width
- type UnaryProxy a = Proxy (Un a)
- addOffDiagonals :: (Natural subA, Natural superA, Natural subB, Natural superB, (subA :+: subB) ~ subC, (superA :+: superB) ~ superC) => (UnaryProxy subA, UnaryProxy superA) -> (UnaryProxy subB, UnaryProxy superB) -> ((Nat subC, Nat superC), (UnaryProxy subC, UnaryProxy superC))
- class Content c
- data BandedHermitian off size = BandedHermitian {}
- bandedHermitian :: UnaryProxy off -> Order -> size -> BandedHermitian off size
- class C shape => Box shape
- type family HeightOf shape
- type family WidthOf shape
- height :: Box shape => shape -> HeightOf shape
- width :: Box shape => shape -> WidthOf shape
Documentation
data Full vert horiz height width Source #
Full | |
|
Instances
(C vert, C horiz, C size, size ~ height, Eq height, C width) => Multiply (Hermitian size) (Full vert horiz height width) Source # | |
(Natural offDiag, C vert, C horiz, C size, size ~ height, Eq height, C width, Eq width) => Multiply (BandedHermitian offDiag size) (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (BandedHermitian offDiag size) (Full vert horiz height width) matrixMatrix :: Floating a => Array (BandedHermitian offDiag size) a -> Array (Full vert horiz height width) a -> Array (Multiplied (BandedHermitian offDiag size) (Full vert horiz height width)) a | |
(C vert, C horiz, Eq height, Eq width) => Eq (Full vert horiz height width) Source # | |
(C vert, C horiz, Show height, Show width) => Show (Full vert horiz height width) Source # | |
(C vert, C horiz, C height, C width) => C (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(C vert, C horiz, Indexed height, Indexed width) => Indexed (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private indices :: Full vert horiz height width -> [Index (Full vert horiz height width)] # offset :: Full vert horiz height width -> Index (Full vert horiz height width) -> Int # uncheckedOffset :: Full vert horiz height width -> Index (Full vert horiz height width) -> Int # inBounds :: Full vert horiz height width -> Index (Full vert horiz height width) -> Bool # sizeOffset :: Full vert horiz height width -> (Int, Index (Full vert horiz height width) -> Int) # uncheckedSizeOffset :: Full vert horiz height width -> (Int, Index (Full vert horiz height width) -> Int) # | |
(C vert, C horiz, InvIndexed height, InvIndexed width) => InvIndexed (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(C vert, C horiz, NFData height, NFData width) => NFData (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(C vert, C horiz, C height, C width) => Box (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(C vert, C horiz, C height, C width) => FormatArray (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Format | |
(Small ~ vert, Small ~ horiz, C height, height ~ width) => SquareShape (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class toSquare :: (HeightOf (Full vert horiz height width) ~ sh, Floating a) => Array (Full vert horiz height width) a -> Square sh a identityOrder :: (HeightOf (Full vert horiz height width) ~ sh, Floating a) => Order -> sh -> Array (Full vert horiz height width) a takeDiagonal :: (HeightOf (Full vert horiz height width) ~ sh, Floating a) => Array (Full vert horiz height width) a -> Vector sh a | |
(C vert, C horiz, C height, Eq height, C width, Eq width) => Additive (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class | |
(C vert, C horiz, C height, C width) => ShapeOrder (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class | |
(C vert, C horiz, C height, C width) => Homogeneous (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class zero :: Floating a => Full vert horiz height width -> Array (Full vert horiz height width) a negate :: Floating a => Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a scaleReal :: Floating a => RealOf a -> Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a | |
(C vert, C horiz, C height, C width) => Complex (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class conjugate :: Floating a => Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a fromReal :: Floating a => Array (Full vert horiz height width) (RealOf a) -> Array (Full vert horiz height width) a toComplex :: Floating a => Array (Full vert horiz height width) a -> Array (Full vert horiz height width) (ComplexOf a) | |
(Small ~ vert, Small ~ horiz, C height, height ~ width) => Power (Full vert horiz height width) Source # | |
(vert ~ Small, horiz ~ Small, C height, height ~ width) => MultiplySquare (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply transposableSquare :: (HeightOf (Full vert horiz height width) ~ height0, Eq height0, C width0, C vert0, C horiz0, Floating a) => Transposition -> Array (Full vert horiz height width) a -> Full0 vert0 horiz0 height0 width0 a -> Full0 vert0 horiz0 height0 width0 a squareFull :: (HeightOf (Full vert horiz height width) ~ height0, Eq height0, C width0, C vert0, C horiz0, Floating a) => Array (Full vert horiz height width) a -> Full0 vert0 horiz0 height0 width0 a -> Full0 vert0 horiz0 height0 width0 a fullSquare :: (WidthOf (Full vert horiz height width) ~ width0, Eq width0, C height0, C vert0, C horiz0, Floating a) => Full0 vert0 horiz0 height0 width0 a -> Array (Full vert horiz height width) a -> Full0 vert0 horiz0 height0 width0 a | |
(C vert, C horiz, C width, C height) => MultiplyVector (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply matrixVector :: (WidthOf (Full vert horiz height width) ~ width0, Eq width0, Floating a) => Array (Full vert horiz height width) a -> Vector width0 a -> Vector (HeightOf (Full vert horiz height width)) a vectorMatrix :: (HeightOf (Full vert horiz height width) ~ height0, Eq height0, Floating a) => Vector height0 a -> Array (Full vert horiz height width) a -> Vector (WidthOf (Full vert horiz height width)) a | |
(vert ~ Small, horiz ~ Small, C height, height ~ width) => Inverse (Full vert horiz height width) Source # | |
(vert ~ Small, horiz ~ Small, C height, height ~ width) => Solve (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Divide solve :: (Floating a, HeightOf (Full vert horiz height width) ~ height0, Eq height0, C vert0, C horiz0, C width0) => Transposition -> Array (Full vert horiz height width) a -> Full0 vert0 horiz0 height0 width0 a -> Full0 vert0 horiz0 height0 width0 a solveRight :: (Floating a, HeightOf (Full vert horiz height width) ~ height0, Eq height0, C vert0, C horiz0, C width0) => Array (Full vert horiz height width) a -> Full0 vert0 horiz0 height0 width0 a -> Full0 vert0 horiz0 height0 width0 a solveLeft :: (Floating a, HeightOf (Full vert horiz height width) ~ width0, Eq width0, C vert0, C horiz0, C height0) => Full0 vert0 horiz0 height0 width0 a -> Array (Full vert horiz height width) a -> Full0 vert0 horiz0 height0 width0 a | |
(vert ~ Small, horiz ~ Small, C height, height ~ width) => Determinant (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Divide determinant :: Floating a => Array (Full vert horiz height width) a -> a | |
(C vert, C horiz, C size, size ~ width, Eq width, C height) => Multiply (Full vert horiz height width) (Hermitian size) Source # | |
(Natural offDiag, C vert, C horiz, C size, size ~ width, Eq width, C height, Eq height) => Multiply (Full vert horiz height width) (BandedHermitian offDiag size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (Full vert horiz height width) (BandedHermitian offDiag size) matrixMatrix :: Floating a => Array (Full vert horiz height width) a -> Array (BandedHermitian offDiag size) a -> Array (Multiplied (Full vert horiz height width) (BandedHermitian offDiag size)) a | |
(Content lo, Content up, TriDiag diag, C vert, C horiz, C size, size ~ height, Eq height, C width) => Multiply (Triangular lo diag up size) (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (Triangular lo diag up size) (Full vert horiz height width) matrixMatrix :: Floating a => Array (Triangular lo diag up size) a -> Array (Full vert horiz height width) a -> Array (Multiplied (Triangular lo diag up size) (Full vert horiz height width)) a | |
(Content lo, Content up, TriDiag diag, C vert, C horiz, C size, size ~ width, Eq width, C height) => Multiply (Full vert horiz height width) (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (Full vert horiz height width) (Triangular lo diag up size) matrixMatrix :: Floating a => Array (Full vert horiz height width) a -> Array (Triangular lo diag up size) a -> Array (Multiplied (Full vert horiz height width) (Triangular lo diag up size)) a | |
(C heightA, C widthA, C widthB, widthA ~ heightB, Eq heightB, C vertA, C horizA, C vertB, C horizB) => Multiply (Full vertA horizA heightA widthA) (Full vertB horizB heightB widthB) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply | |
(Natural sub, Natural super, C vertA, C horizA, C vertB, C horizB, C heightA, C widthA, C widthB, widthA ~ heightB, Eq heightB) => Multiply (Full vertA horizA heightA widthA) (Banded sub super vertB horizB heightB widthB) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply | |
(Natural sub, Natural super, C vertA, C horizA, C vertB, C horizB, C heightA, C widthA, C widthB, widthA ~ heightB, Eq heightB) => Multiply (Banded sub super vertA horizA heightA widthA) (Full vertB horizB heightB widthB) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply | |
type Index (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type HeightOf (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private |
data Split lower vert horiz height width Source #
Instances
(C vert, C horiz, Eq lower, Eq height, Eq width) => Eq (Split lower vert horiz height width) Source # | |
(C vert, C horiz, Show lower, Show height, Show width) => Show (Split lower vert horiz height width) Source # | |
(Eq lower, C vert, C horiz, C height, C width) => C (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(Eq lower, C vert, C horiz, Indexed height, Indexed width) => Indexed (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private indices :: Split lower vert horiz height width -> [Index (Split lower vert horiz height width)] # offset :: Split lower vert horiz height width -> Index (Split lower vert horiz height width) -> Int # uncheckedOffset :: Split lower vert horiz height width -> Index (Split lower vert horiz height width) -> Int # inBounds :: Split lower vert horiz height width -> Index (Split lower vert horiz height width) -> Bool # sizeOffset :: Split lower vert horiz height width -> (Int, Index (Split lower vert horiz height width) -> Int) # uncheckedSizeOffset :: Split lower vert horiz height width -> (Int, Index (Split lower vert horiz height width) -> Int) # | |
(Eq lower, C vert, C horiz, InvIndexed height, InvIndexed width) => InvIndexed (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(NFData lower, C vert, C horiz, NFData height, NFData width) => NFData (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(Eq lower, C vert, C horiz, C height, C width) => Box (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(Eq lower, C vert, C horiz, C height, C width) => FormatArray (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Format | |
type Index (Split lower vert horiz height width) Source # | |
type HeightOf (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private |
splitGeneral :: lower -> Order -> height -> width -> SplitGeneral lower height width Source #
splitFromFull :: lower -> Full vert horiz height width -> Split lower vert horiz height width Source #
Store the upper triangular half of a real symmetric or complex Hermitian matrix.
Hermitian | |
|
Instances
Eq size => Eq (Hermitian size) Source # | |
Show size => Show (Hermitian size) Source # | |
C size => C (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
Indexed size => Indexed (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private indices :: Hermitian size -> [Index (Hermitian size)] # offset :: Hermitian size -> Index (Hermitian size) -> Int # uncheckedOffset :: Hermitian size -> Index (Hermitian size) -> Int # inBounds :: Hermitian size -> Index (Hermitian size) -> Bool # sizeOffset :: Hermitian size -> (Int, Index (Hermitian size) -> Int) # uncheckedSizeOffset :: Hermitian size -> (Int, Index (Hermitian size) -> Int) # | |
InvIndexed size => InvIndexed (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
NFData size => NFData (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
C size => Box (Hermitian size) Source # | |
C size => FormatArray (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Format | |
C size => SquareShape (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class toSquare :: (HeightOf (Hermitian size) ~ sh, Floating a) => Array (Hermitian size) a -> Square sh a identityOrder :: (HeightOf (Hermitian size) ~ sh, Floating a) => Order -> sh -> Array (Hermitian size) a takeDiagonal :: (HeightOf (Hermitian size) ~ sh, Floating a) => Array (Hermitian size) a -> Vector sh a | |
(C size, Eq size) => Additive (Hermitian size) Source # | |
C size => ShapeOrder (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class | |
C size => Homogeneous (Hermitian size) Source # | |
C size => Complex (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class | |
C size => Power (Hermitian size) Source # | |
C shape => MultiplySquare (Hermitian shape) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply transposableSquare :: (HeightOf (Hermitian shape) ~ height, Eq height, C width, C vert, C horiz, Floating a) => Transposition -> Array (Hermitian shape) a -> Full vert horiz height width a -> Full vert horiz height width a squareFull :: (HeightOf (Hermitian shape) ~ height, Eq height, C width, C vert, C horiz, Floating a) => Array (Hermitian shape) a -> Full vert horiz height width a -> Full vert horiz height width a fullSquare :: (WidthOf (Hermitian shape) ~ width, Eq width, C height, C vert, C horiz, Floating a) => Full vert horiz height width a -> Array (Hermitian shape) a -> Full vert horiz height width a | |
C shape => MultiplyVector (Hermitian shape) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply matrixVector :: (WidthOf (Hermitian shape) ~ width, Eq width, Floating a) => Array (Hermitian shape) a -> Vector width a -> Vector (HeightOf (Hermitian shape)) a vectorMatrix :: (HeightOf (Hermitian shape) ~ height, Eq height, Floating a) => Vector height a -> Array (Hermitian shape) a -> Vector (WidthOf (Hermitian shape)) a | |
C shape => Inverse (Hermitian shape) Source # | |
C shape => Solve (Hermitian shape) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Divide solve :: (Floating a, HeightOf (Hermitian shape) ~ height, Eq height, C vert, C horiz, C width) => Transposition -> Array (Hermitian shape) a -> Full vert horiz height width a -> Full vert horiz height width a solveRight :: (Floating a, HeightOf (Hermitian shape) ~ height, Eq height, C vert, C horiz, C width) => Array (Hermitian shape) a -> Full vert horiz height width a -> Full vert horiz height width a solveLeft :: (Floating a, HeightOf (Hermitian shape) ~ width, Eq width, C vert, C horiz, C height) => Full vert horiz height width a -> Array (Hermitian shape) a -> Full vert horiz height width a | |
C shape => Determinant (Hermitian shape) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Divide determinant :: Floating a => Array (Hermitian shape) a -> a | |
(C shapeA, shapeA ~ shapeB, Eq shapeB) => Multiply (Hermitian shapeA) (Hermitian shapeB) Source # | |
(C vert, C horiz, C size, size ~ height, Eq height, C width) => Multiply (Hermitian size) (Full vert horiz height width) Source # | |
(C vert, C horiz, C size, size ~ width, Eq width, C height) => Multiply (Full vert horiz height width) (Hermitian size) Source # | |
type Index (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type HeightOf (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private |
data Triangular lo diag up size Source #
Triangular | |
|
Instances
(Eq diag, Eq lo, Eq up, Eq size) => Eq (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private (==) :: Triangular lo diag up size -> Triangular lo diag up size -> Bool # (/=) :: Triangular lo diag up size -> Triangular lo diag up size -> Bool # | |
(Show diag, Show lo, Show up, Show size) => Show (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private showsPrec :: Int -> Triangular lo diag up size -> ShowS # show :: Triangular lo diag up size -> String # showList :: [Triangular lo diag up size] -> ShowS # | |
(Content lo, TriDiag diag, Content up, C size) => C (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private size :: Triangular lo diag up size -> Int # uncheckedSize :: Triangular lo diag up size -> Int # | |
(Content lo, TriDiag diag, Content up, Indexed size) => Indexed (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private type Index (Triangular lo diag up size) # indices :: Triangular lo diag up size -> [Index (Triangular lo diag up size)] # offset :: Triangular lo diag up size -> Index (Triangular lo diag up size) -> Int # uncheckedOffset :: Triangular lo diag up size -> Index (Triangular lo diag up size) -> Int # inBounds :: Triangular lo diag up size -> Index (Triangular lo diag up size) -> Bool # sizeOffset :: Triangular lo diag up size -> (Int, Index (Triangular lo diag up size) -> Int) # uncheckedSizeOffset :: Triangular lo diag up size -> (Int, Index (Triangular lo diag up size) -> Int) # | |
(Content lo, TriDiag diag, Content up, InvIndexed size) => InvIndexed (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private indexFromOffset :: Triangular lo diag up size -> Int -> Index (Triangular lo diag up size) # uncheckedIndexFromOffset :: Triangular lo diag up size -> Int -> Index (Triangular lo diag up size) # | |
(Content lo, TriDiag diag, Content up, NFData size) => NFData (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private rnf :: Triangular lo diag up size -> () # | |
(Content lo, TriDiag diag, Content up, C size) => Box (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private type HeightOf (Triangular lo diag up size) Source # type WidthOf (Triangular lo diag up size) Source # height :: Triangular lo diag up size -> HeightOf (Triangular lo diag up size) Source # width :: Triangular lo diag up size -> WidthOf (Triangular lo diag up size) Source # | |
(Content lo, Content up, TriDiag diag, C size) => FormatArray (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Format formatArray :: (Floating a, Output out) => String -> Array (Triangular lo diag up size) a -> out Source # | |
(Content lo, TriDiag diag, Content up, C size) => SquareShape (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class toSquare :: (HeightOf (Triangular lo diag up size) ~ sh, Floating a) => Array (Triangular lo diag up size) a -> Square sh a identityOrder :: (HeightOf (Triangular lo diag up size) ~ sh, Floating a) => Order -> sh -> Array (Triangular lo diag up size) a takeDiagonal :: (HeightOf (Triangular lo diag up size) ~ sh, Floating a) => Array (Triangular lo diag up size) a -> Vector sh a | |
(Content lo, Eq lo, NonUnit ~ diag, Content up, Eq up, C size, Eq size) => Additive (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class add :: Floating a => Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) a sub :: Floating a => Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) a | |
(Content lo, TriDiag diag, Content up, C size) => ShapeOrder (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class forceOrder :: Floating a => Order -> Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) a shapeOrder :: Triangular lo diag up size -> Order Source # | |
(Content lo, NonUnit ~ diag, Content up, C size) => Homogeneous (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class zero :: Floating a => Triangular lo diag up size -> Array (Triangular lo diag up size) a negate :: Floating a => Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) a scaleReal :: Floating a => RealOf a -> Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) a | |
(Content lo, TriDiag diag, Content up, C size) => Complex (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class conjugate :: Floating a => Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) a fromReal :: Floating a => Array (Triangular lo diag up size) (RealOf a) -> Array (Triangular lo diag up size) a toComplex :: Floating a => Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) (ComplexOf a) | |
(PowerContentDiag lo diag up, C size) => Power (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply square :: Floating a => Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) a power :: Floating a => Int -> Array (Triangular lo diag up size) a -> Array (Triangular lo diag up size) a | |
(Content lo, Content up, TriDiag diag, C shape) => MultiplySquare (Triangular lo diag up shape) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply transposableSquare :: (HeightOf (Triangular lo diag up shape) ~ height, Eq height, C width, C vert, C horiz, Floating a) => Transposition -> Array (Triangular lo diag up shape) a -> Full vert horiz height width a -> Full vert horiz height width a squareFull :: (HeightOf (Triangular lo diag up shape) ~ height, Eq height, C width, C vert, C horiz, Floating a) => Array (Triangular lo diag up shape) a -> Full vert horiz height width a -> Full vert horiz height width a fullSquare :: (WidthOf (Triangular lo diag up shape) ~ width, Eq width, C height, C vert, C horiz, Floating a) => Full vert horiz height width a -> Array (Triangular lo diag up shape) a -> Full vert horiz height width a | |
(Content lo, Content up, TriDiag diag, C shape) => MultiplyVector (Triangular lo diag up shape) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply matrixVector :: (WidthOf (Triangular lo diag up shape) ~ width, Eq width, Floating a) => Array (Triangular lo diag up shape) a -> Vector width a -> Vector (HeightOf (Triangular lo diag up shape)) a vectorMatrix :: (HeightOf (Triangular lo diag up shape) ~ height, Eq height, Floating a) => Vector height a -> Array (Triangular lo diag up shape) a -> Vector (WidthOf (Triangular lo diag up shape)) a | |
(PowerContentDiag lo diag up, C shape) => Inverse (Triangular lo diag up shape) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Divide inverse :: Floating a => Array (Triangular lo diag up shape) a -> Array (Triangular lo diag up shape) a | |
(Content lo, Content up, TriDiag diag, C shape) => Solve (Triangular lo diag up shape) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Divide solve :: (Floating a, HeightOf (Triangular lo diag up shape) ~ height, Eq height, C vert, C horiz, C width) => Transposition -> Array (Triangular lo diag up shape) a -> Full vert horiz height width a -> Full vert horiz height width a solveRight :: (Floating a, HeightOf (Triangular lo diag up shape) ~ height, Eq height, C vert, C horiz, C width) => Array (Triangular lo diag up shape) a -> Full vert horiz height width a -> Full vert horiz height width a solveLeft :: (Floating a, HeightOf (Triangular lo diag up shape) ~ width, Eq width, C vert, C horiz, C height) => Full vert horiz height width a -> Array (Triangular lo diag up shape) a -> Full vert horiz height width a | |
(Content lo, Content up, TriDiag diag, C shape) => Determinant (Triangular lo diag up shape) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Divide determinant :: Floating a => Array (Triangular lo diag up shape) a -> a | |
(C sizeA, sizeA ~ sizeB, Eq sizeB, MultiplyTriangular loA upA loB upB, TriDiag diagA, TriDiag diagB) => Multiply (Triangular loA diagA upA sizeA) (Triangular loB diagB upB sizeB) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (Triangular loA diagA upA sizeA) (Triangular loB diagB upB sizeB) matrixMatrix :: Floating a => Array (Triangular loA diagA upA sizeA) a -> Array (Triangular loB diagB upB sizeB) a -> Array (Multiplied (Triangular loA diagA upA sizeA) (Triangular loB diagB upB sizeB)) a | |
(Content lo, Content up, TriDiag diag, C vert, C horiz, C size, size ~ height, Eq height, C width) => Multiply (Triangular lo diag up size) (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (Triangular lo diag up size) (Full vert horiz height width) matrixMatrix :: Floating a => Array (Triangular lo diag up size) a -> Array (Full vert horiz height width) a -> Array (Multiplied (Triangular lo diag up size) (Full vert horiz height width)) a | |
(Content lo, Content up, TriDiag diag, C vert, C horiz, C size, size ~ width, Eq width, C height) => Multiply (Full vert horiz height width) (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (Full vert horiz height width) (Triangular lo diag up size) matrixMatrix :: Floating a => Array (Full vert horiz height width) a -> Array (Triangular lo diag up size) a -> Array (Multiplied (Full vert horiz height width) (Triangular lo diag up size)) a | |
type Index (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type HeightOf (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private |
type Identity = Triangular Empty Unit Empty Source #
type Diagonal = Triangular Empty NonUnit Empty Source #
type LowerTriangular diag = Triangular Filled diag Empty Source #
type UpperTriangular diag = Triangular Empty diag Filled Source #
lowerTriangular :: Order -> size -> LowerTriangular NonUnit size Source #
upperTriangular :: Order -> size -> UpperTriangular NonUnit size Source #
switchDiagUpLo :: DiagUpLoC lo up => f Empty Empty -> f Empty Filled -> f Filled Empty -> f lo up Source #
switchDiagUpLoSym :: (Content lo, Content up) => f Empty Empty -> f Empty Filled -> f Filled Empty -> f Filled Filled -> f lo up Source #
data Banded sub super vert horiz height width Source #
Banded | |
|
Instances
(Natural offDiag, Natural sub, Natural super, C vert, C horiz, C size, size ~ height, Eq height, C width, Eq width) => Multiply (BandedHermitian offDiag size) (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (BandedHermitian offDiag size) (Banded sub super vert horiz height width) matrixMatrix :: Floating a => Array (BandedHermitian offDiag size) a -> Array (Banded sub super vert horiz height width) a -> Array (Multiplied (BandedHermitian offDiag size) (Banded sub super vert horiz height width)) a | |
(Natural sub, Natural super, C vertA, C horizA, C vertB, C horizB, C heightA, C widthA, C widthB, widthA ~ heightB, Eq heightB) => Multiply (Full vertA horizA heightA widthA) (Banded sub super vertB horizB heightB widthB) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply | |
(C vert, C horiz, Eq height, Eq width) => Eq (Banded sub super vert horiz height width) Source # | |
(Natural sub, Natural super, C vert, C horiz, Show height, Show width) => Show (Banded sub super vert horiz height width) Source # | |
(Natural sub, Natural super, C vert, C horiz, C height, C width) => C (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(Natural sub, Natural super, C vert, C horiz, Indexed height, Indexed width) => Indexed (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private indices :: Banded sub super vert horiz height width -> [Index (Banded sub super vert horiz height width)] # offset :: Banded sub super vert horiz height width -> Index (Banded sub super vert horiz height width) -> Int # uncheckedOffset :: Banded sub super vert horiz height width -> Index (Banded sub super vert horiz height width) -> Int # inBounds :: Banded sub super vert horiz height width -> Index (Banded sub super vert horiz height width) -> Bool # sizeOffset :: Banded sub super vert horiz height width -> (Int, Index (Banded sub super vert horiz height width) -> Int) # uncheckedSizeOffset :: Banded sub super vert horiz height width -> (Int, Index (Banded sub super vert horiz height width) -> Int) # | |
(Natural sub, Natural super, C vert, C horiz, InvIndexed height, InvIndexed width) => InvIndexed (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(Natural sub, Natural super, C vert, C horiz, NFData height, NFData width) => NFData (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(Natural sub, Natural super, C vert, C horiz, C height, C width) => Box (Banded sub super vert horiz height width) Source # | |
(Natural sub, Natural super, C vert, C horiz, C height, C width) => FormatArray (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Format | |
(Natural sub, Natural super, Small ~ vert, Small ~ horiz, C height, height ~ width) => SquareShape (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class toSquare :: (HeightOf (Banded sub super vert horiz height width) ~ sh, Floating a) => Array (Banded sub super vert horiz height width) a -> Square sh a identityOrder :: (HeightOf (Banded sub super vert horiz height width) ~ sh, Floating a) => Order -> sh -> Array (Banded sub super vert horiz height width) a takeDiagonal :: (HeightOf (Banded sub super vert horiz height width) ~ sh, Floating a) => Array (Banded sub super vert horiz height width) a -> Vector sh a | |
(Natural sub, Natural super, C vert, C horiz, C height, C width) => Homogeneous (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class zero :: Floating a => Banded sub super vert horiz height width -> Array (Banded sub super vert horiz height width) a negate :: Floating a => Array (Banded sub super vert horiz height width) a -> Array (Banded sub super vert horiz height width) a scaleReal :: Floating a => RealOf a -> Array (Banded sub super vert horiz height width) a -> Array (Banded sub super vert horiz height width) a | |
(Natural sub, Natural super, C vert, C horiz, C height, C width) => Complex (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class conjugate :: Floating a => Array (Banded sub super vert horiz height width) a -> Array (Banded sub super vert horiz height width) a fromReal :: Floating a => Array (Banded sub super vert horiz height width) (RealOf a) -> Array (Banded sub super vert horiz height width) a toComplex :: Floating a => Array (Banded sub super vert horiz height width) a -> Array (Banded sub super vert horiz height width) (ComplexOf a) | |
(Natural sub, Natural super, vert ~ Small, horiz ~ Small, C height, height ~ width) => MultiplySquare (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply transposableSquare :: (HeightOf (Banded sub super vert horiz height width) ~ height0, Eq height0, C width0, C vert0, C horiz0, Floating a) => Transposition -> Array (Banded sub super vert horiz height width) a -> Full vert0 horiz0 height0 width0 a -> Full vert0 horiz0 height0 width0 a squareFull :: (HeightOf (Banded sub super vert horiz height width) ~ height0, Eq height0, C width0, C vert0, C horiz0, Floating a) => Array (Banded sub super vert horiz height width) a -> Full vert0 horiz0 height0 width0 a -> Full vert0 horiz0 height0 width0 a fullSquare :: (WidthOf (Banded sub super vert horiz height width) ~ width0, Eq width0, C height0, C vert0, C horiz0, Floating a) => Full vert0 horiz0 height0 width0 a -> Array (Banded sub super vert horiz height width) a -> Full vert0 horiz0 height0 width0 a | |
(Natural sub, Natural super, C vert, C horiz, C height, C width) => MultiplyVector (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply matrixVector :: (WidthOf (Banded sub super vert horiz height width) ~ width0, Eq width0, Floating a) => Array (Banded sub super vert horiz height width) a -> Vector width0 a -> Vector (HeightOf (Banded sub super vert horiz height width)) a vectorMatrix :: (HeightOf (Banded sub super vert horiz height width) ~ height0, Eq height0, Floating a) => Vector height0 a -> Array (Banded sub super vert horiz height width) a -> Vector (WidthOf (Banded sub super vert horiz height width)) a | |
(Natural sub, Natural super, vert ~ Small, horiz ~ Small, C width, C height, width ~ height) => Solve (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Divide solve :: (Floating a, HeightOf (Banded sub super vert horiz height width) ~ height0, Eq height0, C vert0, C horiz0, C width0) => Transposition -> Array (Banded sub super vert horiz height width) a -> Full vert0 horiz0 height0 width0 a -> Full vert0 horiz0 height0 width0 a solveRight :: (Floating a, HeightOf (Banded sub super vert horiz height width) ~ height0, Eq height0, C vert0, C horiz0, C width0) => Array (Banded sub super vert horiz height width) a -> Full vert0 horiz0 height0 width0 a -> Full vert0 horiz0 height0 width0 a solveLeft :: (Floating a, HeightOf (Banded sub super vert horiz height width) ~ width0, Eq width0, C vert0, C horiz0, C height0) => Full vert0 horiz0 height0 width0 a -> Array (Banded sub super vert horiz height width) a -> Full vert0 horiz0 height0 width0 a | |
(Natural sub, Natural super, vert ~ Small, horiz ~ Small, C width, C height, width ~ height) => Determinant (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Divide determinant :: Floating a => Array (Banded sub super vert horiz height width) a -> a | |
(Natural offDiag, Natural sub, Natural super, C vert, C horiz, C size, size ~ width, Eq width, C height, Eq height) => Multiply (Banded sub super vert horiz height width) (BandedHermitian offDiag size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (Banded sub super vert horiz height width) (BandedHermitian offDiag size) matrixMatrix :: Floating a => Array (Banded sub super vert horiz height width) a -> Array (BandedHermitian offDiag size) a -> Array (Multiplied (Banded sub super vert horiz height width) (BandedHermitian offDiag size)) a | |
(Natural sub, Natural super, C vertA, C horizA, C vertB, C horizB, C heightA, C widthA, C widthB, widthA ~ heightB, Eq heightB) => Multiply (Banded sub super vertA horizA heightA widthA) (Full vertB horizB heightB widthB) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply | |
(Natural subA, Natural superA, Natural subB, Natural superB, C vertA, C horizA, C vertB, C horizB, C heightA, C widthA, C widthB, widthA ~ heightB, Eq heightB) => Multiply (Banded subA superA vertA horizA heightA widthA) (Banded subB superB vertB horizB heightB widthB) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply | |
type Index (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type HeightOf (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private |
type BandedLowerTriangular sub size = BandedSquare sub U0 size Source #
type BandedUpperTriangular super size = BandedSquare U0 super size Source #
type BandedDiagonal size = BandedSquare U0 U0 size Source #
data BandedIndex row column Source #
InsideBox row column | |
VertOutsideBox Int column | |
HorizOutsideBox row Int |
Instances
(Eq row, Eq column) => Eq (BandedIndex row column) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private (==) :: BandedIndex row column -> BandedIndex row column -> Bool # (/=) :: BandedIndex row column -> BandedIndex row column -> Bool # | |
(Show row, Show column) => Show (BandedIndex row column) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private showsPrec :: Int -> BandedIndex row column -> ShowS # show :: BandedIndex row column -> String # showList :: [BandedIndex row column] -> ShowS # |
bandedGeneral :: (UnaryProxy sub, UnaryProxy super) -> Order -> height -> width -> Banded sub super Big Big height width Source #
bandedSquare :: (UnaryProxy sub, UnaryProxy super) -> Order -> size -> Banded sub super Small Small size size Source #
bandedFromFull :: (UnaryProxy sub, UnaryProxy super) -> Full vert horiz height width -> Banded sub super vert horiz height width Source #
type UnaryProxy a = Proxy (Un a) Source #
addOffDiagonals :: (Natural subA, Natural superA, Natural subB, Natural superB, (subA :+: subB) ~ subC, (superA :+: superB) ~ superC) => (UnaryProxy subA, UnaryProxy superA) -> (UnaryProxy subB, UnaryProxy superB) -> ((Nat subC, Nat superC), (UnaryProxy subC, UnaryProxy superC)) Source #
data BandedHermitian off size Source #
BandedHermitian | |
|
Instances
Eq size => Eq (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private (==) :: BandedHermitian off size -> BandedHermitian off size -> Bool # (/=) :: BandedHermitian off size -> BandedHermitian off size -> Bool # | |
(Natural off, Show size) => Show (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private showsPrec :: Int -> BandedHermitian off size -> ShowS # show :: BandedHermitian off size -> String # showList :: [BandedHermitian off size] -> ShowS # | |
(Natural off, C size) => C (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private size :: BandedHermitian off size -> Int # uncheckedSize :: BandedHermitian off size -> Int # | |
(Natural off, Indexed size) => Indexed (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private type Index (BandedHermitian off size) # indices :: BandedHermitian off size -> [Index (BandedHermitian off size)] # offset :: BandedHermitian off size -> Index (BandedHermitian off size) -> Int # uncheckedOffset :: BandedHermitian off size -> Index (BandedHermitian off size) -> Int # inBounds :: BandedHermitian off size -> Index (BandedHermitian off size) -> Bool # sizeOffset :: BandedHermitian off size -> (Int, Index (BandedHermitian off size) -> Int) # uncheckedSizeOffset :: BandedHermitian off size -> (Int, Index (BandedHermitian off size) -> Int) # | |
(Natural off, InvIndexed size) => InvIndexed (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private indexFromOffset :: BandedHermitian off size -> Int -> Index (BandedHermitian off size) # uncheckedIndexFromOffset :: BandedHermitian off size -> Int -> Index (BandedHermitian off size) # | |
(Natural off, NFData size) => NFData (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private rnf :: BandedHermitian off size -> () # | |
(Natural off, C size) => Box (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private type HeightOf (BandedHermitian off size) Source # type WidthOf (BandedHermitian off size) Source # height :: BandedHermitian off size -> HeightOf (BandedHermitian off size) Source # width :: BandedHermitian off size -> WidthOf (BandedHermitian off size) Source # | |
(Natural offDiag, C size) => FormatArray (BandedHermitian offDiag size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Format formatArray :: (Floating a, Output out) => String -> Array (BandedHermitian offDiag size) a -> out Source # | |
(Natural offDiag, C size) => SquareShape (BandedHermitian offDiag size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class toSquare :: (HeightOf (BandedHermitian offDiag size) ~ sh, Floating a) => Array (BandedHermitian offDiag size) a -> Square sh a identityOrder :: (HeightOf (BandedHermitian offDiag size) ~ sh, Floating a) => Order -> sh -> Array (BandedHermitian offDiag size) a takeDiagonal :: (HeightOf (BandedHermitian offDiag size) ~ sh, Floating a) => Array (BandedHermitian offDiag size) a -> Vector sh a | |
(Natural off, C size) => Homogeneous (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class zero :: Floating a => BandedHermitian off size -> Array (BandedHermitian off size) a negate :: Floating a => Array (BandedHermitian off size) a -> Array (BandedHermitian off size) a scaleReal :: Floating a => RealOf a -> Array (BandedHermitian off size) a -> Array (BandedHermitian off size) a | |
(Natural off, C size) => Complex (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Class conjugate :: Floating a => Array (BandedHermitian off size) a -> Array (BandedHermitian off size) a fromReal :: Floating a => Array (BandedHermitian off size) (RealOf a) -> Array (BandedHermitian off size) a toComplex :: Floating a => Array (BandedHermitian off size) a -> Array (BandedHermitian off size) (ComplexOf a) | |
(Natural offDiag, C size) => MultiplySquare (BandedHermitian offDiag size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply transposableSquare :: (HeightOf (BandedHermitian offDiag size) ~ height, Eq height, C width, C vert, C horiz, Floating a) => Transposition -> Array (BandedHermitian offDiag size) a -> Full vert horiz height width a -> Full vert horiz height width a squareFull :: (HeightOf (BandedHermitian offDiag size) ~ height, Eq height, C width, C vert, C horiz, Floating a) => Array (BandedHermitian offDiag size) a -> Full vert horiz height width a -> Full vert horiz height width a fullSquare :: (WidthOf (BandedHermitian offDiag size) ~ width, Eq width, C height, C vert, C horiz, Floating a) => Full vert horiz height width a -> Array (BandedHermitian offDiag size) a -> Full vert horiz height width a | |
(Natural offDiag, C size) => MultiplyVector (BandedHermitian offDiag size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply matrixVector :: (WidthOf (BandedHermitian offDiag size) ~ width, Eq width, Floating a) => Array (BandedHermitian offDiag size) a -> Vector width a -> Vector (HeightOf (BandedHermitian offDiag size)) a vectorMatrix :: (HeightOf (BandedHermitian offDiag size) ~ height, Eq height, Floating a) => Vector height a -> Array (BandedHermitian offDiag size) a -> Vector (WidthOf (BandedHermitian offDiag size)) a | |
(Natural offDiag, C size) => Solve (BandedHermitian offDiag size) Source # | There is no solver for indefinite matrices. Thus the instance will fail for indefinite but solvable systems. |
Defined in Numeric.LAPACK.Matrix.Plain.Divide solve :: (Floating a, HeightOf (BandedHermitian offDiag size) ~ height, Eq height, C vert, C horiz, C width) => Transposition -> Array (BandedHermitian offDiag size) a -> Full vert horiz height width a -> Full vert horiz height width a solveRight :: (Floating a, HeightOf (BandedHermitian offDiag size) ~ height, Eq height, C vert, C horiz, C width) => Array (BandedHermitian offDiag size) a -> Full vert horiz height width a -> Full vert horiz height width a solveLeft :: (Floating a, HeightOf (BandedHermitian offDiag size) ~ width, Eq width, C vert, C horiz, C height) => Full vert horiz height width a -> Array (BandedHermitian offDiag size) a -> Full vert horiz height width a | |
(Natural offDiag, C size) => Determinant (BandedHermitian offDiag size) Source # | There is no solver for general banded Hermitian matrices. Thus the instance will fail for an indefinite matrix. |
Defined in Numeric.LAPACK.Matrix.Plain.Divide determinant :: Floating a => Array (BandedHermitian offDiag size) a -> a | |
(Natural offDiagA, Natural offDiagB, C sizeA, sizeA ~ sizeB, C sizeB, Eq sizeB) => Multiply (BandedHermitian offDiagA sizeA) (BandedHermitian offDiagB sizeB) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (BandedHermitian offDiagA sizeA) (BandedHermitian offDiagB sizeB) matrixMatrix :: Floating a => Array (BandedHermitian offDiagA sizeA) a -> Array (BandedHermitian offDiagB sizeB) a -> Array (Multiplied (BandedHermitian offDiagA sizeA) (BandedHermitian offDiagB sizeB)) a | |
(Natural offDiag, C vert, C horiz, C size, size ~ height, Eq height, C width, Eq width) => Multiply (BandedHermitian offDiag size) (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (BandedHermitian offDiag size) (Full vert horiz height width) matrixMatrix :: Floating a => Array (BandedHermitian offDiag size) a -> Array (Full vert horiz height width) a -> Array (Multiplied (BandedHermitian offDiag size) (Full vert horiz height width)) a | |
(Natural offDiag, Natural sub, Natural super, C vert, C horiz, C size, size ~ height, Eq height, C width, Eq width) => Multiply (BandedHermitian offDiag size) (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (BandedHermitian offDiag size) (Banded sub super vert horiz height width) matrixMatrix :: Floating a => Array (BandedHermitian offDiag size) a -> Array (Banded sub super vert horiz height width) a -> Array (Multiplied (BandedHermitian offDiag size) (Banded sub super vert horiz height width)) a | |
(Natural offDiag, C vert, C horiz, C size, size ~ width, Eq width, C height, Eq height) => Multiply (Full vert horiz height width) (BandedHermitian offDiag size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (Full vert horiz height width) (BandedHermitian offDiag size) matrixMatrix :: Floating a => Array (Full vert horiz height width) a -> Array (BandedHermitian offDiag size) a -> Array (Multiplied (Full vert horiz height width) (BandedHermitian offDiag size)) a | |
(Natural offDiag, Natural sub, Natural super, C vert, C horiz, C size, size ~ width, Eq width, C height, Eq height) => Multiply (Banded sub super vert horiz height width) (BandedHermitian offDiag size) Source # | |
Defined in Numeric.LAPACK.Matrix.Plain.Multiply type Multiplied (Banded sub super vert horiz height width) (BandedHermitian offDiag size) matrixMatrix :: Floating a => Array (Banded sub super vert horiz height width) a -> Array (BandedHermitian offDiag size) a -> Array (Multiplied (Banded sub super vert horiz height width) (BandedHermitian offDiag size)) a | |
type Index (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type HeightOf (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private |
bandedHermitian :: UnaryProxy off -> Order -> size -> BandedHermitian off size Source #
class C shape => Box shape Source #
Instances
C size => Box (Hermitian size) Source # | |
(Natural off, C size) => Box (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private type HeightOf (BandedHermitian off size) Source # type WidthOf (BandedHermitian off size) Source # height :: BandedHermitian off size -> HeightOf (BandedHermitian off size) Source # width :: BandedHermitian off size -> WidthOf (BandedHermitian off size) Source # | |
(Content lo, TriDiag diag, Content up, C size) => Box (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private type HeightOf (Triangular lo diag up size) Source # type WidthOf (Triangular lo diag up size) Source # height :: Triangular lo diag up size -> HeightOf (Triangular lo diag up size) Source # width :: Triangular lo diag up size -> WidthOf (Triangular lo diag up size) Source # | |
(C vert, C horiz, C height, C width) => Box (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(Eq lower, C vert, C horiz, C height, C width) => Box (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
(Natural sub, Natural super, C vert, C horiz, C height, C width) => Box (Banded sub super vert horiz height width) Source # | |
type family HeightOf shape Source #
Instances
type HeightOf (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type HeightOf (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type HeightOf (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type HeightOf (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type HeightOf (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type HeightOf (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private |
type family WidthOf shape Source #
Instances
type WidthOf (Hermitian size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (BandedHermitian off size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (Triangular lo diag up size) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (Full vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (Split lower vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private | |
type WidthOf (Banded sub super vert horiz height width) Source # | |
Defined in Numeric.LAPACK.Matrix.Shape.Private |