Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- type Householder vert horiz height width = Matrix (Hh vert horiz height width)
- type General height width = Householder Big Big height width
- type Tall height width = Householder Big Small height width
- type Wide height width = Householder Small Big height width
- 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
- 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) => Transposition -> Conjugation -> 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
type Householder vert horiz height width = Matrix (Hh vert horiz height width) Source #
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 Source #
fromMatrix :: (C vert, C horiz, C height, C width, Floating a) => Full vert horiz height width a -> Householder vert horiz height width a Source #
determinantAbsolute :: (C vert, C horiz, C height, C width, Floating a) => Householder vert horiz height width a -> RealOf a Source #
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 Source #
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 Source #
HH.minimumNorm (HH.fromMatrix a) b == Ortho.minimumNorm (adjoint a) b
data Transposition Source #
Instances
data Conjugation Source #
Instances
extractQ :: (C vert, C horiz, C height, C width, Floating a) => Householder vert horiz height width a -> Square height a Source #
extractR :: (C vert, C horiz, C height, C width, Floating a) => Householder vert horiz height width a -> Full vert horiz height width a Source #
multiplyQ :: (C vertA, C horizA, C widthA, C vertB, C horizB, C widthB, C height, Eq height, Floating a) => Transposition -> Conjugation -> Householder vertA horizA height widthA a -> Full vertB horizB height widthB a -> Full vertB horizB height widthB a Source #
tallExtractQ :: (C vert, C height, C width, Floating a) => Householder vert Small height width a -> Full vert Small height width a Source #
tallExtractR :: (C vert, C height, C width, Floating a) => Householder vert Small height width a -> Upper width a Source #
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 Source #
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 Source #
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 Source #
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 Source #