Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- data family Matrix typ extraLower extraUpper lower upper meas vert horiz height width a
- type ArrayMatrix pack property = Matrix (Array pack property) () ()
- data Array pack property
- type OmniArray pack prop lower upper meas vert horiz height width a = Array (Omni pack prop lower upper meas vert horiz height width) a
- type PlainArray pack prop lower upper meas vert horiz height width = Array (Plain pack prop lower upper meas vert horiz height width)
- type Full meas vert horiz height width = UnpackedMatrix Arbitrary Filled Filled meas vert horiz height width
- type General height width = Full Size Big Big height width
- type Tall height width = Full Size Big Small height width
- type Wide height width = Full Size Small Big height width
- type LiberalSquare height width = SquareMeas Size height width
- type Square sh = SquareMeas Shape sh sh
- type SquareMeas meas height width = Full meas Small Small height width
- type Quadratic pack property lower upper sh = QuadraticMeas pack property lower upper Shape sh sh
- type FullQuadratic pack property sh = Quadratic pack property Filled Filled sh
- type QuadraticMeas pack property lower upper meas height width = ArrayMatrix pack property lower upper meas Small Small height width
- plainShape :: ToPlain pack property lower upper meas vert horiz height width => ArrayMatrix pack property lower upper meas vert horiz height width a -> Plain pack property lower upper meas vert horiz height width
- shape :: ArrayMatrix pack property lower upper meas vert horiz height width a -> Omni pack property lower upper meas vert horiz height width
- extent :: (Measure meas, C vert, C horiz) => ArrayMatrix pack property lower upper meas vert horiz height width a -> Extent meas vert horiz height width
- subBandsSingleton :: Natural sub => ArrayMatrix pack property (Bands sub) upper meas vert horiz height width a -> HeadSingleton sub
- superBandsSingleton :: Natural super => ArrayMatrix pack property lower (Bands super) meas vert horiz height width a -> HeadSingleton super
- packTag :: Packing pack => ArrayMatrix pack diag lower upper meas vert horiz height width a -> PackingSingleton pack
- diagTag :: TriDiag diag => ArrayMatrix pack diag lower upper meas vert horiz height width a -> DiagSingleton diag
- asPacked :: Id (ArrayMatrix Packed property lower upper meas vert horiz height width a)
- asUnpacked :: Id (ArrayMatrix Unpacked property lower upper meas vert horiz height width a)
- requirePacking :: PackingSingleton pack -> Id (ArrayMatrix pack property lower upper meas vert horiz height width a)
- reshape :: (Measure measA, C vertA, C horizA) => (Measure measB, C vertB, C horizB) => (C heightA, C widthA) => (C heightB, C widthB) => Omni packB propB lowerB upperB measB vertB horizB heightB widthB -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB a
- mapShape :: (Measure measA, C vertA, C horizA) => (Measure measB, C vertB, C horizB) => (C heightA, C widthA) => (C heightB, C widthB) => (Omni packA propA lowerA upperA measA vertA horizA heightA widthA -> Omni packB propB lowerB upperB measB vertB horizB heightB widthB) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB a
- unwrap :: ArrayMatrix pack property lower upper meas vert horiz height width a -> OmniArray pack property lower upper meas vert horiz height width a
- toVector :: ToPlain pack property lower upper meas vert horiz height width => ArrayMatrix pack property lower upper meas vert horiz height width a -> PlainArray pack property lower upper meas vert horiz height width a
- fromVector :: FromPlain pack prop lower upper meas vert horiz height width => Plain pack prop lower upper meas vert horiz height width ~ shape => (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => Array shape a -> ArrayMatrix pack prop lower upper meas vert horiz height width a
- lift0 :: FromPlain pack prop lower upper meas vert horiz height width => PlainArray pack prop lower upper meas vert horiz height width a -> ArrayMatrix pack prop lower upper meas vert horiz height width a
- lift1 :: ToPlain packA propA lowerA upperA measA vertA horizA heightA widthA => FromPlain packB propB lowerB upperB measB vertB horizB heightB widthB => (PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b
- lift2 :: ToPlain packA propA lowerA upperA measA vertA horizA heightA widthA => ToPlain packB propB lowerB upperB measB vertB horizB heightB widthB => FromPlain packC propC lowerC upperC measC vertC horizC heightC widthC => (PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b -> PlainArray packC propC lowerC upperC measC vertC horizC heightC widthC c) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b -> ArrayMatrix packC propC lowerC upperC measC vertC horizC heightC widthC c
- lift3 :: ToPlain packA propA lowerA upperA measA vertA horizA heightA widthA => ToPlain packB propB lowerB upperB measB vertB horizB heightB widthB => ToPlain packC propC lowerC upperC measC vertC horizC heightC widthC => FromPlain packD propD lowerD upperD measD vertD horizD heightD widthD => (PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b -> PlainArray packC propC lowerC upperC measC vertC horizC heightC widthC c -> PlainArray packD propD lowerD upperD measD vertD horizD heightD widthD d) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b -> ArrayMatrix packC propC lowerC upperC measC vertC horizC heightC widthC c -> ArrayMatrix packD propD lowerD upperD measD vertD horizD heightD widthD d
- lift4 :: ToPlain packA propA lowerA upperA measA vertA horizA heightA widthA => ToPlain packB propB lowerB upperB measB vertB horizB heightB widthB => ToPlain packC propC lowerC upperC measC vertC horizC heightC widthC => ToPlain packD propD lowerD upperD measD vertD horizD heightD widthD => FromPlain packE propE lowerE upperE measE vertE horizE heightE widthE => (PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b -> PlainArray packC propC lowerC upperC measC vertC horizC heightC widthC c -> PlainArray packD propD lowerD upperD measD vertD horizD heightD widthD d -> PlainArray packE propE lowerE upperE measE vertE horizE heightE widthE e) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b -> ArrayMatrix packC propC lowerC upperC measC vertC horizC heightC widthC c -> ArrayMatrix packD propD lowerD upperD measD vertD horizD heightD widthD d -> ArrayMatrix packE propE lowerE upperE measE vertE horizE heightE widthE e
- unlift1 :: FromPlain packA propA lowerA upperA measA vertA horizA heightA widthA => ToPlain packB propB lowerB upperB measB vertB horizB heightB widthB => (ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b) -> PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b
- unlift2 :: (FromPlain packA propA lowerA upperA measA vertA horizA heightA widthA, FromPlain packB propB lowerB upperB measB vertB horizB heightB widthB) => ToPlain packC propC lowerC upperC measC vertC horizC heightC widthC => (ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b -> ArrayMatrix packC propC lowerC upperC measC vertC horizC heightC widthC c) -> PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b -> PlainArray packC propC lowerC upperC measC vertC horizC heightC widthC c
- unliftRow :: Order -> (General () height0 a -> General () height1 b) -> Vector height0 a -> Vector height1 b
- unliftColumn :: Order -> (General height0 () a -> General height1 () b) -> Vector height0 a -> Vector height1 b
- unpackedToVector :: (Property property, Strip lower, Strip upper) => UnpackedMatrix property lower upper meas vert horiz height width a -> FullArray meas vert horiz height width a
- liftUnpacked0 :: (Property propertyA, Strip lowerA, Strip upperA) => FullArray measA vertA horizA heightA widthA a -> UnpackedMatrix propertyA lowerA upperA measA vertA horizA heightA widthA a
- liftUnpacked1 :: (Property propertyA, Strip lowerA, Strip upperA) => (Property propertyB, Strip lowerB, Strip upperB) => (FullArray measA vertA horizA heightA widthA a -> FullArray measB vertB horizB heightB widthB b) -> UnpackedMatrix propertyA lowerA upperA measA vertA horizA heightA widthA a -> UnpackedMatrix propertyB lowerB upperB measB vertB horizB heightB widthB b
- liftUnpacked2 :: (Property propertyA, Strip lowerA, Strip upperA) => (Property propertyB, Strip lowerB, Strip upperB) => (Property propertyC, Strip lowerC, Strip upperC) => (FullArray measA vertA horizA heightA widthA a -> FullArray measB vertB horizB heightB widthB b -> FullArray measC vertC horizC heightC widthC c) -> UnpackedMatrix propertyA lowerA upperA measA vertA horizA heightA widthA a -> UnpackedMatrix propertyB lowerB upperB measB vertB horizB heightB widthB b -> UnpackedMatrix propertyC lowerC upperC measC vertC horizC heightC widthC c
- liftUnpacked3 :: (Property propertyA, Strip lowerA, Strip upperA) => (Property propertyB, Strip lowerB, Strip upperB) => (Property propertyC, Strip lowerC, Strip upperC) => (Property propertyD, Strip lowerD, Strip upperD) => (FullArray measA vertA horizA heightA widthA a -> FullArray measB vertB horizB heightB widthB b -> FullArray measC vertC horizC heightC widthC c -> FullArray measD vertD horizD heightD widthD d) -> UnpackedMatrix propertyA lowerA upperA measA vertA horizA heightA widthA a -> UnpackedMatrix propertyB lowerB upperB measB vertB horizB heightB widthB b -> UnpackedMatrix propertyC lowerC upperC measC vertC horizC heightC widthC c -> UnpackedMatrix propertyD lowerD upperD measD vertD horizD heightD widthD d
- liftOmni1 :: (OmniArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> OmniArray packB propB lowerB upperB measB vertB horizB heightB widthB b) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b
- liftOmni2 :: (OmniArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> OmniArray packB propB lowerB upperB measB vertB horizB heightB widthB b -> OmniArray packC propC lowerC upperC measC vertC horizC heightC widthC c) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b -> ArrayMatrix packC propC lowerC upperC measC vertC horizC heightC widthC c
- class Property property => Homogeneous property
- class Homogeneous property => Scale property
- zero :: Homogeneous property => (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => Omni pack property lower upper meas vert horiz height width -> ArrayMatrix pack property lower upper meas vert horiz height width a
- negate :: Homogeneous property => (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- scaleReal :: Homogeneous property => (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => RealOf a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- scale :: (Measure meas, C vert, C horiz) => (Scale property, C height, C width, Floating a) => a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- scaleRealReal :: Homogeneous property => (Measure meas, C vert, C horiz) => (C height, C width, Real a) => a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- (.*#) :: (Measure meas, C vert, C horiz) => (Scale property, C height, C width, Floating a) => a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- order :: ArrayMatrix pack property lower upper meas vert horiz height width a -> Order
- forceOrder :: (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => Order -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- adaptOrder :: (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- class Property property => Additive property
- add :: (Measure meas, C vert, C horiz) => (Additive property, C height, Eq height, C width, Eq width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- (#+#) :: (Measure meas, C vert, C horiz) => (Additive property, C height, Eq height, C width, Eq width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- class Additive property => Subtractive property
- sub :: (Measure meas, C vert, C horiz) => (Subtractive property, C height, Eq height, C width, Eq width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- (#-#) :: (Measure meas, C vert, C horiz) => (Subtractive property, C height, Eq height, C width, Eq width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a
- class MapExtent pack property lower upper
- mapExtent :: (MapExtent pack property lower upper, Measure measA, C vertA, C horizA) => (Measure measB, C vertB, C horizB) => Map measA vertA horizA measB vertB horizB height width -> ArrayMatrix pack property lower upper measA vertA horizA height width a -> ArrayMatrix pack property lower upper measB vertB horizB height width a
Documentation
data family Matrix typ extraLower extraUpper lower upper meas vert horiz height width a Source #
Instances
(Measure meas, C vert, C horiz, C height, C width, Storable a, Show height, Show width, Show a) => Show (Matrix (Array pack prop) xl xu lower upper meas vert horiz height width a) Source # | |
Defined in Numeric.LAPACK.Matrix.Array | |
(MultiplySame typ xl xu, PowerStrip lower, PowerStrip upper, Measure meas, C vert, C horiz, C height, Eq height, height ~ width, Floating a) => Semigroup (Matrix typ xl xu lower upper meas vert horiz height width a) Source # | |
Defined in Numeric.LAPACK.Matrix.Type (<>) :: Matrix typ xl xu lower upper meas vert horiz height width a -> Matrix typ xl xu lower upper meas vert horiz height width a -> Matrix typ xl xu lower upper meas vert horiz height width a # sconcat :: NonEmpty (Matrix typ xl xu lower upper meas vert horiz height width a) -> Matrix typ xl xu lower upper meas vert horiz height width a # stimes :: Integral b => b -> Matrix typ xl xu lower upper meas vert horiz height width a -> Matrix typ xl xu lower upper meas vert horiz height width a # | |
(MultiplySame typ xl xu, StaticIdentity typ xl xu lower upper, PowerStrip lower, PowerStrip upper, meas ~ Shape, vert ~ Small, horiz ~ Small, Static height, Eq height, height ~ width, Floating a) => Monoid (Matrix typ xl xu lower upper meas vert horiz height width a) Source # | |
Defined in Numeric.LAPACK.Matrix.Type mempty :: Matrix typ xl xu lower upper meas vert horiz height width a # mappend :: Matrix typ xl xu lower upper meas vert horiz height width a -> Matrix typ xl xu lower upper meas vert horiz height width a -> Matrix typ xl xu lower upper meas vert horiz height width a # mconcat :: [Matrix typ xl xu lower upper meas vert horiz height width a] -> Matrix typ xl xu lower upper meas vert horiz height width a # | |
(NFData typ, Measure meas, C vert, C horiz, NFData height, NFData width, NFData a) => NFData (Matrix typ xl xu lower upper meas vert horiz height width a) Source # | |
Defined in Numeric.LAPACK.Matrix.Type | |
(FormatMatrix typ, Measure meas, C vert, C horiz, C width, C height, Floating a) => Display (Matrix typ xl xu lower upper meas vert horiz height width a) Source # | |
(FormatMatrix typ, Measure meas, C vert, C horiz, C width, C height, Floating a) => Format (Matrix typ xl xu lower upper meas vert horiz height width a) Source # | |
data Matrix (Array pack prop) xl xu lower upper meas vert horiz height width a Source # | |
Defined in Numeric.LAPACK.Matrix.Array |
type ArrayMatrix pack property = Matrix (Array pack property) () () Source #
data Array pack property Source #
Instances
Transpose (Array pack property) Source # | |
ToQuadratic (Array pack property) Source # | |
Defined in Numeric.LAPACK.Matrix.Array heightToQuadratic :: Measure meas => QuadraticMeas (Array pack property) xl xu lower upper meas height width a -> Quadratic (Array pack property) xl xu lower upper height a widthToQuadratic :: Measure meas => QuadraticMeas (Array pack property) xl xu lower upper meas height width a -> Quadratic (Array pack property) xl xu lower upper width a | |
Box (Array pack property) Source # | |
Defined in Numeric.LAPACK.Matrix.Array extent :: (Measure meas, C vert, C horiz) => Matrix (Array pack property) xl xu lower upper meas vert horiz height width a -> Extent meas vert horiz height width height :: (Measure meas, C vert, C horiz) => Matrix (Array pack property) xl xu lower upper meas vert horiz height width a -> height Source # width :: (Measure meas, C vert, C horiz) => Matrix (Array pack property) xl xu lower upper meas vert horiz height width a -> width Source # | |
FormatMatrix (Array pack property) Source # | |
Indexed (Array pack property) Source # | |
SquareShape (Array pack property) Source # | |
Defined in Numeric.LAPACK.Matrix.Class toSquare :: (C sh, Floating a) => Quadratic (Array pack property) xl xu lower upper sh a -> Square sh a Source # takeDiagonal :: (C sh, Floating a) => Quadratic (Array pack property) xl xu lower upper sh a -> Vector sh a Source # mapSquareSize :: (C shA, C shB) => (shA -> shB) -> Quadratic (Array pack property) xl xu lower upper shA a -> Quadratic (Array pack property) xl xu lower upper shB a Source # identityFrom :: (C sh, Floating a) => Quadratic (Array pack property) xl xu lower upper sh a -> Quadratic (Array pack property) xl xu lower upper sh a Source # | |
Complex (Array pack property) Source # | |
Defined in Numeric.LAPACK.Matrix.Class conjugate :: (Matrix (Array pack property) xl xu lower upper meas vert horiz height width ~ matrix, Measure meas, C vert, C horiz, C height, C width, Floating a) => matrix a -> matrix a Source # fromReal :: (Matrix (Array pack property) xl xu lower upper meas vert horiz height width ~ matrix, Measure meas, C vert, C horiz, C height, C width, Floating a) => matrix (RealOf a) -> matrix a Source # toComplex :: (Matrix (Array pack property) xl xu lower upper meas vert horiz height width ~ matrix, Measure meas, C vert, C horiz, C height, C width, Floating a) => matrix a -> matrix (ComplexOf a) Source # | |
(Packing pack, Property property, xl ~ (), xu ~ ()) => Power (Array pack property) xl xu Source # | |
Defined in Numeric.LAPACK.Matrix.Multiply square :: (PowerStrip lower, PowerStrip upper, C sh, Floating a) => Quadratic (Array pack property) xl xu lower upper sh a -> Quadratic (Array pack property) xl xu lower upper sh a Source # power :: (PowerStrip lower, PowerStrip upper, C sh, Floating a) => Integer -> Quadratic (Array pack property) xl xu lower upper sh a -> Quadratic (Array pack property) xl xu lower upper sh a Source # powers1 :: (PowerStrip lower, PowerStrip upper, C sh, Floating a) => Quadratic (Array pack property) xl xu lower upper sh a -> Stream (Quadratic (Array pack property) xl xu lower upper sh a) Source # | |
(Packing pack, Property property, xl ~ (), xu ~ ()) => MultiplySquare (Array pack property) xl xu Source # | |
Defined in Numeric.LAPACK.Matrix.Multiply transposableSquare :: (Strip lower, Strip upper, Measure meas, C vert, C horiz, C height, Eq height, C width, Floating a) => Transposition -> Quadratic (Array pack property) xl xu lower upper height a -> Full meas vert horiz height width a -> Full meas vert horiz height width a squareFull :: (Strip lower, Strip upper, Measure meas, C vert, C horiz, C height, Eq height, C width, Floating a) => Quadratic (Array pack property) xl xu lower upper height a -> Full meas vert horiz height width a -> Full meas vert horiz height width a fullSquare :: (Strip lower, Strip upper, Measure meas, C vert, C horiz, C height, C width, Eq width, Floating a) => Full meas vert horiz height width a -> Quadratic (Array pack property) xl xu lower upper width a -> Full meas vert horiz height width a | |
(Packing pack, Property property, xl ~ (), xu ~ ()) => MultiplyVector (Array pack property) xl xu Source # | |
Defined in Numeric.LAPACK.Matrix.Multiply matrixVector :: (Strip lower, Strip upper, Measure meas, C vert, C horiz, C height, C width, Eq width, Floating a) => Matrix (Array pack property) xl xu lower upper meas vert horiz height width a -> Vector width a -> Vector height a vectorMatrix :: (Strip lower, Strip upper, Measure meas, C vert, C horiz, C height, C width, Eq height, Floating a) => Vector height a -> Matrix (Array pack property) xl xu lower upper meas vert horiz height width a -> Vector width a | |
(Packing pack, Property property, xl ~ (), xu ~ ()) => Inverse (Array pack property) xl xu Source # | |
Defined in Numeric.LAPACK.Matrix.Divide | |
(Packing pack, Property property, xl ~ (), xu ~ ()) => Solve (Array pack property) xl xu Source # | |
Defined in Numeric.LAPACK.Matrix.Divide solve :: (Strip lower, Strip upper, Measure meas, C vert, C horiz, C height, C width, Eq height, Floating a) => Transposition -> Quadratic (Array pack property) xl xu lower upper height a -> Full meas vert horiz height width a -> Full meas vert horiz height width a Source # solveRight :: (Strip lower, Strip upper, Measure meas, C vert, C horiz, C height, C width, Eq height, Floating a) => Quadratic (Array pack property) xl xu lower upper height a -> Full meas vert horiz height width a -> Full meas vert horiz height width a Source # solveLeft :: (Strip lower, Strip upper, Measure meas, C vert, C horiz, C height, C width, Eq width, Floating a) => Full meas vert horiz height width a -> Quadratic (Array pack property) xl xu lower upper width a -> Full meas vert horiz height width a Source # | |
(Packing pack, Property property, xl ~ (), xu ~ ()) => Determinant (Array pack property) xl xu Source # | |
Defined in Numeric.LAPACK.Matrix.Divide | |
(Packing packA, Property propertyA, xlA ~ (), xuA ~ (), Packing packB, Property propertyB, xlB ~ (), xuB ~ (), Packing packC, Property propertyC, MultipliedPacking packA packB ~ pack, MultipliedPacking packB packA ~ pack, MultipliedProperty propertyA propertyB ~ propertyAB, MultipliedProperty propertyB propertyA ~ propertyAB, UnitIfTriangular lowerC upperC ~ diag, UnitIfTriangular upperC lowerC ~ diag, PackingByStrip lowerC upperC measC pack ~ packC, PackingByStrip upperC lowerC measC pack ~ packC, MergeUnit propertyAB diag ~ propertyC, MergeUnit diag propertyAB ~ propertyC) => Multiply (Array packA propertyA) xlA xuA (Array packB propertyB) xlB xuB lowerC upperC measC Source # | |
Defined in Numeric.LAPACK.Matrix.Multiply type Multiplied (Array packA propertyA) xlA xuA (Array packB propertyB) xlB xuB lowerC upperC measC type MultipliedExtra (Array packA propertyA) xlA xuA (Array packB propertyB) xlB xuB matrixMatrix :: (Box (Array packA propertyA), Strip lowerA, Strip upperA, Box (Array packB propertyB), Strip lowerB, Strip upperB, Box typC, Strip lowerC, Strip upperC, Multiplied (Array packA propertyA) xlA xuA (Array packB propertyB) xlB xuB lowerC upperC measC ~ typC, MultipliedExtra (Array packA propertyA) xlA xuA (Array packB propertyB) xlB xuB ~ xlC, MultipliedExtra (Array packA propertyA) xuA xlA (Array packB propertyB) xuB xlB ~ xuC, MultipliedStrip lowerA lowerB ~ lowerC, MultipliedStrip lowerB lowerA ~ lowerC, MultipliedStrip upperA upperB ~ upperC, MultipliedStrip upperB upperA ~ upperC, MultipliedBands lowerA lowerB ~ lowerC, MultipliedBands lowerB lowerA ~ lowerC, MultipliedBands upperA upperB ~ upperC, MultipliedBands upperB upperA ~ upperC, Measure measA, C vertA, C horizA, Measure measB, C vertB, C horizB, MultiplyMeasure measA measB ~ measC, MultiplyMeasure measB measA ~ measC, Multiply vertA vertB ~ vertC, Multiply vertB vertA ~ vertC, Multiply horizA horizB ~ horizC, Multiply horizB horizA ~ horizC, C height, C fuse, Eq fuse, C width, Floating a) => Matrix (Array packA propertyA) xlA xuA lowerA upperA measA vertA horizA height fuse a -> Matrix (Array packB propertyB) xlB xuB lowerB upperB measB vertB horizB fuse width a -> Matrix typC xlC xuC lowerC upperC measC vertC horizC height width a | |
(Measure meas, C vert, C horiz, C height, C width, Storable a, Show height, Show width, Show a) => Show (Matrix (Array pack prop) xl xu lower upper meas vert horiz height width a) Source # | |
Defined in Numeric.LAPACK.Matrix.Array | |
data Matrix (Array pack prop) xl xu lower upper meas vert horiz height width a Source # | |
Defined in Numeric.LAPACK.Matrix.Array |
type OmniArray pack prop lower upper meas vert horiz height width a = Array (Omni pack prop lower upper meas vert horiz height width) a Source #
type PlainArray pack prop lower upper meas vert horiz height width = Array (Plain pack prop lower upper meas vert horiz height width) Source #
type Full meas vert horiz height width = UnpackedMatrix Arbitrary Filled Filled meas vert horiz height width Source #
type LiberalSquare height width = SquareMeas Size height width Source #
type Square sh = SquareMeas Shape sh sh Source #
type Quadratic pack property lower upper sh = QuadraticMeas pack property lower upper Shape sh sh Source #
type QuadraticMeas pack property lower upper meas height width = ArrayMatrix pack property lower upper meas Small Small height width Source #
plainShape :: ToPlain pack property lower upper meas vert horiz height width => ArrayMatrix pack property lower upper meas vert horiz height width a -> Plain pack property lower upper meas vert horiz height width Source #
shape :: ArrayMatrix pack property lower upper meas vert horiz height width a -> Omni pack property lower upper meas vert horiz height width Source #
extent :: (Measure meas, C vert, C horiz) => ArrayMatrix pack property lower upper meas vert horiz height width a -> Extent meas vert horiz height width Source #
subBandsSingleton :: Natural sub => ArrayMatrix pack property (Bands sub) upper meas vert horiz height width a -> HeadSingleton sub Source #
superBandsSingleton :: Natural super => ArrayMatrix pack property lower (Bands super) meas vert horiz height width a -> HeadSingleton super Source #
packTag :: Packing pack => ArrayMatrix pack diag lower upper meas vert horiz height width a -> PackingSingleton pack Source #
diagTag :: TriDiag diag => ArrayMatrix pack diag lower upper meas vert horiz height width a -> DiagSingleton diag Source #
asUnpacked :: Id (ArrayMatrix Unpacked property lower upper meas vert horiz height width a) Source #
requirePacking :: PackingSingleton pack -> Id (ArrayMatrix pack property lower upper meas vert horiz height width a) Source #
reshape :: (Measure measA, C vertA, C horizA) => (Measure measB, C vertB, C horizB) => (C heightA, C widthA) => (C heightB, C widthB) => Omni packB propB lowerB upperB measB vertB horizB heightB widthB -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB a Source #
mapShape :: (Measure measA, C vertA, C horizA) => (Measure measB, C vertB, C horizB) => (C heightA, C widthA) => (C heightB, C widthB) => (Omni packA propA lowerA upperA measA vertA horizA heightA widthA -> Omni packB propB lowerB upperB measB vertB horizB heightB widthB) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB a Source #
unwrap :: ArrayMatrix pack property lower upper meas vert horiz height width a -> OmniArray pack property lower upper meas vert horiz height width a Source #
toVector :: ToPlain pack property lower upper meas vert horiz height width => ArrayMatrix pack property lower upper meas vert horiz height width a -> PlainArray pack property lower upper meas vert horiz height width a Source #
fromVector :: FromPlain pack prop lower upper meas vert horiz height width => Plain pack prop lower upper meas vert horiz height width ~ shape => (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => Array shape a -> ArrayMatrix pack prop lower upper meas vert horiz height width a Source #
lift0 :: FromPlain pack prop lower upper meas vert horiz height width => PlainArray pack prop lower upper meas vert horiz height width a -> ArrayMatrix pack prop lower upper meas vert horiz height width a Source #
lift0
is a synonym for fromVector
but lacks the admissibility check.
You may thus fool the type tags.
This applies to the other lift functions, too.
lift1 :: ToPlain packA propA lowerA upperA measA vertA horizA heightA widthA => FromPlain packB propB lowerB upperB measB vertB horizB heightB widthB => (PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b Source #
lift2 :: ToPlain packA propA lowerA upperA measA vertA horizA heightA widthA => ToPlain packB propB lowerB upperB measB vertB horizB heightB widthB => FromPlain packC propC lowerC upperC measC vertC horizC heightC widthC => (PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b -> PlainArray packC propC lowerC upperC measC vertC horizC heightC widthC c) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b -> ArrayMatrix packC propC lowerC upperC measC vertC horizC heightC widthC c Source #
lift3 :: ToPlain packA propA lowerA upperA measA vertA horizA heightA widthA => ToPlain packB propB lowerB upperB measB vertB horizB heightB widthB => ToPlain packC propC lowerC upperC measC vertC horizC heightC widthC => FromPlain packD propD lowerD upperD measD vertD horizD heightD widthD => (PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b -> PlainArray packC propC lowerC upperC measC vertC horizC heightC widthC c -> PlainArray packD propD lowerD upperD measD vertD horizD heightD widthD d) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b -> ArrayMatrix packC propC lowerC upperC measC vertC horizC heightC widthC c -> ArrayMatrix packD propD lowerD upperD measD vertD horizD heightD widthD d Source #
lift4 :: ToPlain packA propA lowerA upperA measA vertA horizA heightA widthA => ToPlain packB propB lowerB upperB measB vertB horizB heightB widthB => ToPlain packC propC lowerC upperC measC vertC horizC heightC widthC => ToPlain packD propD lowerD upperD measD vertD horizD heightD widthD => FromPlain packE propE lowerE upperE measE vertE horizE heightE widthE => (PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b -> PlainArray packC propC lowerC upperC measC vertC horizC heightC widthC c -> PlainArray packD propD lowerD upperD measD vertD horizD heightD widthD d -> PlainArray packE propE lowerE upperE measE vertE horizE heightE widthE e) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b -> ArrayMatrix packC propC lowerC upperC measC vertC horizC heightC widthC c -> ArrayMatrix packD propD lowerD upperD measD vertD horizD heightD widthD d -> ArrayMatrix packE propE lowerE upperE measE vertE horizE heightE widthE e Source #
unlift1 :: FromPlain packA propA lowerA upperA measA vertA horizA heightA widthA => ToPlain packB propB lowerB upperB measB vertB horizB heightB widthB => (ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b) -> PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b Source #
unlift2 :: (FromPlain packA propA lowerA upperA measA vertA horizA heightA widthA, FromPlain packB propB lowerB upperB measB vertB horizB heightB widthB) => ToPlain packC propC lowerC upperC measC vertC horizC heightC widthC => (ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b -> ArrayMatrix packC propC lowerC upperC measC vertC horizC heightC widthC c) -> PlainArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> PlainArray packB propB lowerB upperB measB vertB horizB heightB widthB b -> PlainArray packC propC lowerC upperC measC vertC horizC heightC widthC c Source #
unliftRow :: Order -> (General () height0 a -> General () height1 b) -> Vector height0 a -> Vector height1 b Source #
unliftColumn :: Order -> (General height0 () a -> General height1 () b) -> Vector height0 a -> Vector height1 b Source #
unpackedToVector :: (Property property, Strip lower, Strip upper) => UnpackedMatrix property lower upper meas vert horiz height width a -> FullArray meas vert horiz height width a Source #
liftUnpacked0 :: (Property propertyA, Strip lowerA, Strip upperA) => FullArray measA vertA horizA heightA widthA a -> UnpackedMatrix propertyA lowerA upperA measA vertA horizA heightA widthA a Source #
liftUnpacked1 :: (Property propertyA, Strip lowerA, Strip upperA) => (Property propertyB, Strip lowerB, Strip upperB) => (FullArray measA vertA horizA heightA widthA a -> FullArray measB vertB horizB heightB widthB b) -> UnpackedMatrix propertyA lowerA upperA measA vertA horizA heightA widthA a -> UnpackedMatrix propertyB lowerB upperB measB vertB horizB heightB widthB b Source #
liftUnpacked2 :: (Property propertyA, Strip lowerA, Strip upperA) => (Property propertyB, Strip lowerB, Strip upperB) => (Property propertyC, Strip lowerC, Strip upperC) => (FullArray measA vertA horizA heightA widthA a -> FullArray measB vertB horizB heightB widthB b -> FullArray measC vertC horizC heightC widthC c) -> UnpackedMatrix propertyA lowerA upperA measA vertA horizA heightA widthA a -> UnpackedMatrix propertyB lowerB upperB measB vertB horizB heightB widthB b -> UnpackedMatrix propertyC lowerC upperC measC vertC horizC heightC widthC c Source #
liftUnpacked3 :: (Property propertyA, Strip lowerA, Strip upperA) => (Property propertyB, Strip lowerB, Strip upperB) => (Property propertyC, Strip lowerC, Strip upperC) => (Property propertyD, Strip lowerD, Strip upperD) => (FullArray measA vertA horizA heightA widthA a -> FullArray measB vertB horizB heightB widthB b -> FullArray measC vertC horizC heightC widthC c -> FullArray measD vertD horizD heightD widthD d) -> UnpackedMatrix propertyA lowerA upperA measA vertA horizA heightA widthA a -> UnpackedMatrix propertyB lowerB upperB measB vertB horizB heightB widthB b -> UnpackedMatrix propertyC lowerC upperC measC vertC horizC heightC widthC c -> UnpackedMatrix propertyD lowerD upperD measD vertD horizD heightD widthD d Source #
liftOmni1 :: (OmniArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> OmniArray packB propB lowerB upperB measB vertB horizB heightB widthB b) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b Source #
liftOmni2 :: (OmniArray packA propA lowerA upperA measA vertA horizA heightA widthA a -> OmniArray packB propB lowerB upperB measB vertB horizB heightB widthB b -> OmniArray packC propC lowerC upperC measC vertC horizC heightC widthC c) -> ArrayMatrix packA propA lowerA upperA measA vertA horizA heightA widthA a -> ArrayMatrix packB propB lowerB upperB measB vertB horizB heightB widthB b -> ArrayMatrix packC propC lowerC upperC measC vertC horizC heightC widthC c Source #
class Property property => Homogeneous property Source #
Instances
Homogeneous Symmetric Source # | |
Defined in Numeric.LAPACK.Matrix.Array | |
Homogeneous Arbitrary Source # | |
Defined in Numeric.LAPACK.Matrix.Array | |
(zero ~ True, neg ~ pos, C pos) => Homogeneous (Hermitian neg zero pos) Source # | |
Defined in Numeric.LAPACK.Matrix.Array |
class Homogeneous property => Scale property Source #
Instances
Scale Symmetric Source # | |
Defined in Numeric.LAPACK.Matrix.Array | |
Scale Arbitrary Source # | |
Defined in Numeric.LAPACK.Matrix.Array |
zero :: Homogeneous property => (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => Omni pack property lower upper meas vert horiz height width -> ArrayMatrix pack property lower upper meas vert horiz height width a Source #
negate :: Homogeneous property => (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a Source #
scaleReal :: Homogeneous property => (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => RealOf a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a Source #
scale :: (Measure meas, C vert, C horiz) => (Scale property, C height, C width, Floating a) => a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a Source #
scaleRealReal :: Homogeneous property => (Measure meas, C vert, C horiz) => (C height, C width, Real a) => a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a Source #
(.*#) :: (Measure meas, C vert, C horiz) => (Scale property, C height, C width, Floating a) => a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a infixl 7 Source #
order :: ArrayMatrix pack property lower upper meas vert horiz height width a -> Order Source #
forceOrder :: (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => Order -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a Source #
adaptOrder :: (Measure meas, C vert, C horiz) => (C height, C width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a Source #
adaptOrder x y
contains the data of y
with the layout of x
.
add :: (Measure meas, C vert, C horiz) => (Additive property, C height, Eq height, C width, Eq width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a infixl 6 Source #
(#+#) :: (Measure meas, C vert, C horiz) => (Additive property, C height, Eq height, C width, Eq width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a infixl 6 Source #
class Additive property => Subtractive property Source #
Instances
Subtractive Symmetric Source # | |
Defined in Numeric.LAPACK.Matrix.Array | |
Subtractive Arbitrary Source # | |
Defined in Numeric.LAPACK.Matrix.Array | |
(C neg, C zero, neg ~ pos) => Subtractive (Hermitian neg zero pos) Source # | |
Defined in Numeric.LAPACK.Matrix.Array |
sub :: (Measure meas, C vert, C horiz) => (Subtractive property, C height, Eq height, C width, Eq width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a infixl 6 Source #
(#-#) :: (Measure meas, C vert, C horiz) => (Subtractive property, C height, Eq height, C width, Eq width, Floating a) => ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a -> ArrayMatrix pack property lower upper meas vert horiz height width a infixl 6 Source #
class MapExtent pack property lower upper Source #
Instances
MapExtent Unpacked Arbitrary Filled Filled Source # | |
Defined in Numeric.LAPACK.Matrix.Array mapExtent :: (Measure measA, C vertA, C horizA, Measure measB, C vertB, C horizB) => Map measA vertA horizA measB vertB horizB height width -> ArrayMatrix Unpacked Arbitrary Filled Filled measA vertA horizA height width a -> ArrayMatrix Unpacked Arbitrary Filled Filled measB vertB horizB height width a Source # | |
(Natural sub, Natural super) => MapExtent Packed Arbitrary (Bands sub) (Bands super) Source # | |
Defined in Numeric.LAPACK.Matrix.Array mapExtent :: (Measure measA, C vertA, C horizA, Measure measB, C vertB, C horizB) => Map measA vertA horizA measB vertB horizB height width -> ArrayMatrix Packed Arbitrary (Bands sub) (Bands super) measA vertA horizA height width a -> ArrayMatrix Packed Arbitrary (Bands sub) (Bands super) measB vertB horizB height width a Source # |
mapExtent :: (MapExtent pack property lower upper, Measure measA, C vertA, C horizA) => (Measure measB, C vertB, C horizB) => Map measA vertA horizA measB vertB horizB height width -> ArrayMatrix pack property lower upper measA vertA horizA height width a -> ArrayMatrix pack property lower upper measB vertB horizB height width a Source #