Safe Haskell | None |
---|
- data Householder vert horiz height width a
- type General = Householder Big Big
- type Tall = Householder Big Small
- type Wide = Householder Small Big
- type Square sh = Householder Small Small sh sh
- mapExtent :: (C vertA, C horizA) => (C vertB, C horizB) => Map vertA horizA vertB horizB height width -> Householder vertA horizA height width a -> Householder vertB horizB height width a
- fromMatrix :: (C vert, C horiz, C height, C width, Floating a) => Full vert horiz height width a -> Householder vert horiz height width a
- determinant :: (C sh, Floating a) => Square sh a -> a
- determinantAbsolute :: (C vert, C horiz, C height, C width, Floating a) => Householder vert horiz height width a -> RealOf a
- leastSquares :: (C vert, C horiz, C height, Eq height, C width, Eq width, C nrhs, Floating a) => Householder horiz Small height width a -> Full vert horiz height nrhs a -> Full vert horiz width nrhs a
- minimumNorm :: (C vert, C horiz, C height, Eq height, C width, Eq width, C nrhs, Floating a) => Householder vert Small width height a -> Full vert horiz height nrhs a -> Full vert horiz width nrhs a
- data Transposition
- data Conjugation
- data Inversion
- = NonInverted
- | Inverted
- extractQ :: (C vert, C horiz, C height, C width, Floating a) => Householder vert horiz height width a -> Square height a
- extractR :: (C vert, C horiz, C height, C width, Floating a) => Householder vert horiz height width a -> Full vert horiz height width a
- multiplyQ :: (C vertA, C horizA, C widthA, C vertB, C horizB, C widthB, C height, Eq height, Floating a) => Inversion -> Householder vertA horizA height widthA a -> Full vertB horizB height widthB a -> Full vertB horizB height widthB a
- tallExtractQ :: (C vert, C height, C width, Floating a) => Householder vert Small height width a -> Full vert Small height width a
- tallExtractR :: (C vert, C height, C width, Floating a) => Householder vert Small height width a -> Upper width a
- tallMultiplyQ :: (C vert, C horiz, C height, Eq height, C width, C fuse, Eq fuse, Floating a) => Householder vert Small height fuse a -> Full vert horiz fuse width a -> Full vert horiz height width a
- tallMultiplyQAdjoint :: (C vert, C horiz, C height, C width, C fuse, Eq fuse, Floating a) => Householder horiz Small fuse height a -> Full vert horiz fuse width a -> Full vert horiz height width a
- tallMultiplyR :: (C vertA, C vert, C horiz, C height, Eq height, C heightA, C widthB, Floating a) => Transposition -> Householder vertA Small heightA height a -> Full vert horiz height widthB a -> Full vert horiz height widthB a
- tallSolveR :: (C vertA, C vert, C horiz, C height, C width, Eq width, C nrhs, Floating a) => Transposition -> Conjugation -> Householder vertA Small height width a -> Full vert horiz width nrhs a -> Full vert horiz width nrhs a
Documentation
data Householder vert horiz height width a Source
type General = Householder Big BigSource
type Tall = Householder Big SmallSource
type Wide = Householder Small BigSource
type Square sh = Householder Small Small sh shSource
mapExtent :: (C vertA, C horizA) => (C vertB, C horizB) => Map vertA horizA vertB horizB height width -> Householder vertA horizA height width a -> Householder vertB horizB height width aSource
fromMatrix :: (C vert, C horiz, C height, C width, Floating a) => Full vert horiz height width a -> Householder vert horiz height width aSource
determinant :: (C sh, Floating a) => Square sh a -> aSource
determinantAbsolute :: (C vert, C horiz, C height, C width, Floating a) => Householder vert horiz height width a -> RealOf aSource
leastSquares :: (C vert, C horiz, C height, Eq height, C width, Eq width, C nrhs, Floating a) => Householder horiz Small height width a -> Full vert horiz height nrhs a -> Full vert horiz width nrhs aSource
minimumNorm :: (C vert, C horiz, C height, Eq height, C width, Eq width, C nrhs, Floating a) => Householder vert Small width height a -> Full vert horiz height nrhs a -> Full vert horiz width nrhs aSource
HH.minimumNorm (HH.fromMatrix a) b == Ortho.minimumNorm (adjoint a) b
data Transposition Source
data Conjugation Source
extractQ :: (C vert, C horiz, C height, C width, Floating a) => Householder vert horiz height width a -> Square height aSource
extractR :: (C vert, C horiz, C height, C width, Floating a) => Householder vert horiz height width a -> Full vert horiz height width aSource
multiplyQ :: (C vertA, C horizA, C widthA, C vertB, C horizB, C widthB, C height, Eq height, Floating a) => Inversion -> Householder vertA horizA height widthA a -> Full vertB horizB height widthB a -> Full vertB horizB height widthB aSource
tallExtractQ :: (C vert, C height, C width, Floating a) => Householder vert Small height width a -> Full vert Small height width aSource
tallExtractR :: (C vert, C height, C width, Floating a) => Householder vert Small height width a -> Upper width aSource
tallMultiplyQ :: (C vert, C horiz, C height, Eq height, C width, C fuse, Eq fuse, Floating a) => Householder vert Small height fuse a -> Full vert horiz fuse width a -> Full vert horiz height width aSource
tallMultiplyQAdjoint :: (C vert, C horiz, C height, C width, C fuse, Eq fuse, Floating a) => Householder horiz Small fuse height a -> Full vert horiz fuse width a -> Full vert horiz height width aSource
tallMultiplyR :: (C vertA, C vert, C horiz, C height, Eq height, C heightA, C widthB, Floating a) => Transposition -> Householder vertA Small heightA height a -> Full vert horiz height widthB a -> Full vert horiz height widthB aSource
tallSolveR :: (C vertA, C vert, C horiz, C height, C width, Eq width, C nrhs, Floating a) => Transposition -> Conjugation -> Householder vertA Small height width a -> Full vert horiz width nrhs a -> Full vert horiz width nrhs aSource