lapack-0.3.2: Numerical Linear Algebra using LAPACK
Safe HaskellNone
LanguageHaskell98

Numeric.LAPACK.Matrix.Array

Synopsis

Documentation

data family Matrix typ a Source #

Instances

Instances details
(C sh, Show sh) => Show (Matrix (Permutation sh) a) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Type

Methods

showsPrec :: Int -> Matrix (Permutation sh) a -> ShowS #

show :: Matrix (Permutation sh) a -> String #

showList :: [Matrix (Permutation sh) a] -> ShowS #

(C shape, Storable a, Show shape, Show a) => Show (Matrix (Array shape) a) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Array

Methods

showsPrec :: Int -> Matrix (Array shape) a -> ShowS #

show :: Matrix (Array shape) a -> String #

showList :: [Matrix (Array shape) a] -> ShowS #

(MultiplySame typ, Floating a) => Semigroup (Matrix typ a) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Type

Methods

(<>) :: Matrix typ a -> Matrix typ a -> Matrix typ a #

sconcat :: NonEmpty (Matrix typ a) -> Matrix typ a #

stimes :: Integral b => b -> Matrix typ a -> Matrix typ a #

(MultiplySame typ, StaticIdentity typ, Floating a) => Monoid (Matrix typ a) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Type

Methods

mempty :: Matrix typ a #

mappend :: Matrix typ a -> Matrix typ a -> Matrix typ a #

mconcat :: [Matrix typ a] -> Matrix typ a #

(NFData typ, NFData a) => NFData (Matrix typ a) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Type

Methods

rnf :: Matrix typ a -> () #

(FormatMatrix typ, Floating a) => Display (Matrix typ a) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Type

Methods

display :: Matrix typ a -> Graphic #

(FormatMatrix typ, Floating a) => Format (Matrix typ a) Source # 
Instance details

Defined in Numeric.LAPACK.Format

Methods

format :: Output out => String -> Matrix typ a -> out Source #

newtype Matrix (Permutation sh) a Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Type

newtype Matrix (Array shape) a Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Array

newtype Matrix (Array shape) a = Array (Array shape a)

type ArrayMatrix shape = Matrix (Array shape) Source #

data Array shape Source #

Instances

Instances details
Box sh => Box (Array sh) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Array

Associated Types

type HeightOf (Array sh) Source #

type WidthOf (Array sh) Source #

Methods

height :: Matrix (Array sh) a -> HeightOf (Array sh) Source #

width :: Matrix (Array sh) a -> WidthOf (Array sh) Source #

FormatArray sh => FormatMatrix (Array sh) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Array

Methods

formatMatrix :: (Floating a, Output out) => String -> Matrix (Array sh) a -> out Source #

Indexed sh => Indexed (Array sh) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Indexed

Methods

(#!) :: Floating a => Matrix (Array sh) a -> (Index (HeightOf (Array sh)), Index (WidthOf (Array sh))) -> a Source #

SquareShape sh => SquareShape (Array sh) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Class

Methods

toSquare :: (HeightOf (Array sh) ~ sh0, Floating a) => Matrix (Array sh) a -> Square sh0 a Source #

identityOrder :: (HeightOf (Array sh) ~ sh0, Floating a) => Order -> sh0 -> Matrix (Array sh) a

takeDiagonal :: (HeightOf (Array sh) ~ sh0, Floating a) => Matrix (Array sh) a -> Vector sh0 a Source #

Complex sh => Complex (Array sh) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Class

Methods

conjugate :: Floating a => Matrix (Array sh) a -> Matrix (Array sh) a Source #

fromReal :: Floating a => Matrix (Array sh) (RealOf a) -> Matrix (Array sh) a Source #

toComplex :: Floating a => Matrix (Array sh) a -> Matrix (Array sh) (ComplexOf a) Source #

Power shape => Power (Array shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Multiply

Methods

square :: Floating a => Matrix (Array shape) a -> Matrix (Array shape) a Source #

power :: Floating a => Int -> Matrix (Array shape) a -> Matrix (Array shape) a Source #

MultiplySquare shape => MultiplySquare (Array shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Multiply

Methods

transposableSquare :: (HeightOf (Array shape) ~ height, Eq height, C width, C vert, C horiz, Floating a) => Transposition -> Matrix (Array shape) a -> Full vert horiz height width a -> Full vert horiz height width a

squareFull :: (HeightOf (Array shape) ~ height, Eq height, C width, C vert, C horiz, Floating a) => Matrix (Array shape) a -> Full vert horiz height width a -> Full vert horiz height width a

fullSquare :: (WidthOf (Array shape) ~ width, Eq width, C height, C vert, C horiz, Floating a) => Full vert horiz height width a -> Matrix (Array shape) a -> Full vert horiz height width a

MultiplyVector shape => MultiplyVector (Array shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Multiply

Methods

matrixVector :: (WidthOf (Array shape) ~ width, Eq width, Floating a) => Matrix (Array shape) a -> Vector width a -> Vector (HeightOf (Array shape)) a

vectorMatrix :: (HeightOf (Array shape) ~ height, Eq height, Floating a) => Vector height a -> Matrix (Array shape) a -> Vector (WidthOf (Array shape)) a

Inverse shape => Inverse (Array shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Divide

Methods

inverse :: Floating a => Matrix (Array shape) a -> Matrix (Array shape) a Source #

Solve shape => Solve (Array shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Divide

Methods

solve :: (HeightOf (Array shape) ~ height, Eq height, C width, C vert, C horiz, Floating a) => Transposition -> Matrix (Array shape) a -> Full vert horiz height width a -> Full vert horiz height width a Source #

solveRight :: (HeightOf (Array shape) ~ height, Eq height, C width, C vert, C horiz, Floating a) => Matrix (Array shape) a -> Full vert horiz height width a -> Full vert horiz height width a Source #

solveLeft :: (WidthOf (Array shape) ~ width, Eq width, C height, C vert, C horiz, Floating a) => Full vert horiz height width a -> Matrix (Array shape) a -> Full vert horiz height width a Source #

Determinant shape => Determinant (Array shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Divide

Methods

determinant :: Floating a => Matrix (Array shape) a -> a Source #

(Box shapeA, Box shapeB, Multiply shapeA shapeB) => Multiply (Array shapeA) (Array shapeB) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Multiply

Associated Types

type Multiplied (Array shapeA) (Array shapeB)

Methods

matrixMatrix :: Floating a => Matrix (Array shapeA) a -> Matrix (Array shapeB) a -> Matrix (Multiplied (Array shapeA) (Array shapeB)) a

(C shape, Storable a, Show shape, Show a) => Show (Matrix (Array shape) a) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Array

Methods

showsPrec :: Int -> Matrix (Array shape) a -> ShowS #

show :: Matrix (Array shape) a -> String #

showList :: [Matrix (Array shape) a] -> ShowS #

type HeightOf (Array sh) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Array

type HeightOf (Array sh) = HeightOf sh
type WidthOf (Array sh) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Array

type WidthOf (Array sh) = WidthOf sh
newtype Matrix (Array shape) a Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Array

newtype Matrix (Array shape) a = Array (Array shape a)

type Full vert horiz height width = ArrayMatrix (Full vert horiz height width) Source #

type General height width = ArrayMatrix (General height width) Source #

type Tall height width = ArrayMatrix (Tall height width) Source #

type Wide height width = ArrayMatrix (Wide height width) Source #

shape :: ArrayMatrix sh a -> sh Source #

reshape :: (C sh0, C sh1) => sh1 -> ArrayMatrix sh0 a -> ArrayMatrix sh1 a Source #

mapShape :: (C sh0, C sh1) => (sh0 -> sh1) -> ArrayMatrix sh0 a -> ArrayMatrix sh1 a Source #

fromVector :: (Admissible sh, Floating a) => Array sh a -> ArrayMatrix sh a Source #

lift0 :: Array shA a -> ArrayMatrix shA 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 :: (Array shA a -> Array shB b) -> ArrayMatrix shA a -> ArrayMatrix shB b Source #

lift2 :: (Array shA a -> Array shB b -> Array shC c) -> ArrayMatrix shA a -> ArrayMatrix shB b -> ArrayMatrix shC c Source #

lift3 :: (Array shA a -> Array shB b -> Array shC c -> Array shD d) -> ArrayMatrix shA a -> ArrayMatrix shB b -> ArrayMatrix shC c -> ArrayMatrix shD d Source #

lift4 :: (Array shA a -> Array shB b -> Array shC c -> Array shD d -> Array shE e) -> ArrayMatrix shA a -> ArrayMatrix shB b -> ArrayMatrix shC c -> ArrayMatrix shD d -> ArrayMatrix shE e Source #

unlift1 :: (ArrayMatrix shA a -> ArrayMatrix shB b) -> Array shA a -> Array shB b Source #

unlift2 :: (ArrayMatrix shA a -> ArrayMatrix shB b -> ArrayMatrix shC c) -> Array shA a -> Array shB b -> Array shC 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 #

class C shape => Homogeneous shape Source #

Instances

Instances details
C size => Homogeneous (Hermitian size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

zero :: Floating a => Hermitian size -> Array (Hermitian size) a

negate :: Floating a => Array (Hermitian size) a -> Array (Hermitian size) a

scaleReal :: Floating a => RealOf a -> Array (Hermitian size) a -> Array (Hermitian size) a

(Natural off, C size) => Homogeneous (BandedHermitian off size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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

(Content lo, NonUnit ~ diag, Content up, C size) => Homogeneous (Triangular lo diag up size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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

(C vert, C horiz, C height, C width) => Homogeneous (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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

(Natural sub, Natural super, C vert, C horiz, C height, C width) => Homogeneous (Banded sub super vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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

zero :: (Homogeneous shape, Floating a) => shape -> ArrayMatrix shape a Source #

negate :: (Homogeneous shape, Floating a) => ArrayMatrix shape a -> ArrayMatrix shape a Source #

scaleReal :: (Homogeneous shape, Floating a) => RealOf a -> ArrayMatrix shape a -> ArrayMatrix shape a Source #

scale :: (Scale shape, Floating a) => a -> ArrayMatrix shape a -> ArrayMatrix shape a Source #

scaleRealReal :: (Homogeneous shape, Real a) => a -> ArrayMatrix shape a -> ArrayMatrix shape a Source #

(.*#) :: (Scale shape, Floating a) => a -> ArrayMatrix shape a -> ArrayMatrix shape a infixl 7 Source #

class C shape => ShapeOrder shape Source #

Minimal complete definition

forceOrder, shapeOrder

Instances

Instances details
C size => ShapeOrder (Hermitian size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

forceOrder :: Floating a => Order -> Array (Hermitian size) a -> Array (Hermitian size) a

shapeOrder :: Hermitian size -> Order Source #

(Content lo, TriDiag diag, Content up, C size) => ShapeOrder (Triangular lo diag up size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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 #

(C vert, C horiz, C height, C width) => ShapeOrder (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

forceOrder :: Floating a => Order -> Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a

shapeOrder :: Full vert horiz height width -> Order Source #

forceOrder :: (ShapeOrder shape, Floating a) => Order -> ArrayMatrix shape a -> ArrayMatrix shape a Source #

shapeOrder :: ShapeOrder shape => shape -> Order Source #

adaptOrder :: (ShapeOrder shape, Floating a) => ArrayMatrix shape a -> ArrayMatrix shape a -> ArrayMatrix shape a Source #

adaptOrder x y contains the data of y with the layout of x.

class (Homogeneous shape, Eq shape) => Additive shape Source #

Minimal complete definition

add

Instances

Instances details
(C size, Eq size) => Additive (Hermitian size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

add :: Floating a => Array (Hermitian size) a -> Array (Hermitian size) a -> Array (Hermitian size) a

sub :: Floating a => Array (Hermitian size) a -> Array (Hermitian size) a -> Array (Hermitian size) a

(Content lo, Eq lo, NonUnit ~ diag, Content up, Eq up, C size, Eq size) => Additive (Triangular lo diag up size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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

(C vert, C horiz, C height, Eq height, C width, Eq width) => Additive (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

add :: Floating a => Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a

sub :: Floating a => Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a

add :: (Additive shape, Floating a) => ArrayMatrix shape a -> ArrayMatrix shape a -> ArrayMatrix shape a infixl 6 Source #

sub :: (Additive shape, Floating a) => ArrayMatrix shape a -> ArrayMatrix shape a -> ArrayMatrix shape a infixl 6 Source #

(#+#) :: (Additive shape, Floating a) => ArrayMatrix shape a -> ArrayMatrix shape a -> ArrayMatrix shape a infixl 6 Source #

(#-#) :: (Additive shape, Floating a) => ArrayMatrix shape a -> ArrayMatrix shape a -> ArrayMatrix shape a infixl 6 Source #

class C shape => Complex shape Source #

Instances

Instances details
C size => Complex (Hermitian size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

conjugate :: Floating a => Array (Hermitian size) a -> Array (Hermitian size) a

fromReal :: Floating a => Array (Hermitian size) (RealOf a) -> Array (Hermitian size) a

toComplex :: Floating a => Array (Hermitian size) a -> Array (Hermitian size) (ComplexOf a)

(Natural off, C size) => Complex (BandedHermitian off size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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)

(Content lo, TriDiag diag, Content up, C size) => Complex (Triangular lo diag up size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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)

(C vert, C horiz, C height, C width) => Complex (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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)

(Natural sub, Natural super, C vert, C horiz, C height, C width) => Complex (Banded sub super vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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)

class (Box shape, HeightOf shape ~ WidthOf shape) => SquareShape shape Source #

Minimal complete definition

toSquare, identityOrder, takeDiagonal

Instances

Instances details
C size => SquareShape (Hermitian size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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

(Natural offDiag, C size) => SquareShape (BandedHermitian offDiag size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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

(Content lo, TriDiag diag, Content up, C size) => SquareShape (Triangular lo diag up size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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

(Small ~ vert, Small ~ horiz, C height, height ~ width) => SquareShape (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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

(Natural sub, Natural super, Small ~ vert, Small ~ horiz, C height, height ~ width) => SquareShape (Banded sub super vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Class

Methods

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

class Box shape => MultiplyVector shape Source #

Minimal complete definition

matrixVector, vectorMatrix

Instances

Instances details
C shape => MultiplyVector (Hermitian shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

(Natural offDiag, C size) => MultiplyVector (BandedHermitian offDiag size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

(Content lo, Content up, TriDiag diag, C shape) => MultiplyVector (Triangular lo diag up shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

(C vert, C horiz, C width, C height) => MultiplyVector (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

(Natural sub, Natural super, C vert, C horiz, C height, C width) => MultiplyVector (Banded sub super vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

class SquareShape shape => MultiplySquare shape Source #

Minimal complete definition

transposableSquare | fullSquare, squareFull

Instances

Instances details
C shape => MultiplySquare (Hermitian shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

(Natural offDiag, C size) => MultiplySquare (BandedHermitian offDiag size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

(Content lo, Content up, TriDiag diag, C shape) => MultiplySquare (Triangular lo diag up shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

(vert ~ Small, horiz ~ Small, C height, height ~ width) => MultiplySquare (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

(Natural sub, Natural super, vert ~ Small, horiz ~ Small, C height, height ~ width) => MultiplySquare (Banded sub super vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

class SquareShape shape => Power shape Source #

Minimal complete definition

square, power

Instances

Instances details
C size => Power (Hermitian size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

square :: Floating a => Array (Hermitian size) a -> Array (Hermitian size) a

power :: Floating a => Int -> Array (Hermitian size) a -> Array (Hermitian size) a

(PowerContentDiag lo diag up, C size) => Power (Triangular lo diag up size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

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

(Small ~ vert, Small ~ horiz, C height, height ~ width) => Power (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Methods

square :: Floating a => Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a

power :: Floating a => Int -> Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a

class (C shapeA, C shapeB) => Multiply shapeA shapeB Source #

This class allows to Basic.multiply two matrices of arbitrary special features and returns the most special matrix type possible. At the first glance, this is handy. At the second glance, this has some problems. First of all, we may refine the types in future and then multiplication may return a different, more special type than before. Second, if you write code with polymorphic matrix types, then matrixMatrix may leave you with constraints like ExtentPriv.Multiply vert vert ~ vert. That constraint is always fulfilled but the compiler cannot infer that. Because of these problems you may instead consider using specialised multiply functions from the various modules for production use. Btw. MultiplyVector and MultiplySquare are much less problematic, because the input and output are always dense vectors or dense matrices.

Minimal complete definition

matrixMatrix

Instances

Instances details
(C shapeA, shapeA ~ shapeB, Eq shapeB) => Multiply (Hermitian shapeA) (Hermitian shapeB) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Hermitian shapeA) (Hermitian shapeB)

Methods

matrixMatrix :: Floating a => Array (Hermitian shapeA) a -> Array (Hermitian shapeB) a -> Array (Multiplied (Hermitian shapeA) (Hermitian shapeB)) a

(C vert, C horiz, C size, size ~ height, Eq height, C width) => Multiply (Hermitian size) (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Hermitian size) (Full vert horiz height width)

Methods

matrixMatrix :: Floating a => Array (Hermitian size) a -> Array (Full vert horiz height width) a -> Array (Multiplied (Hermitian size) (Full vert horiz height width)) a

(Natural offDiagA, Natural offDiagB, C sizeA, sizeA ~ sizeB, C sizeB, Eq sizeB) => Multiply (BandedHermitian offDiagA sizeA) (BandedHermitian offDiagB sizeB) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (BandedHermitian offDiagA sizeA) (BandedHermitian offDiagB sizeB)

Methods

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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (BandedHermitian offDiag size) (Full vert horiz height width)

Methods

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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (BandedHermitian offDiag size) (Banded sub super vert horiz height width)

Methods

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

(C vert, C horiz, C size, size ~ width, Eq width, C height) => Multiply (Full vert horiz height width) (Hermitian size) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Full vert horiz height width) (Hermitian size)

Methods

matrixMatrix :: Floating a => Array (Full vert horiz height width) a -> Array (Hermitian size) a -> Array (Multiplied (Full vert horiz height width) (Hermitian size)) 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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Full vert horiz height width) (BandedHermitian offDiag size)

Methods

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

(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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Triangular loA diagA upA sizeA) (Triangular loB diagB upB sizeB)

Methods

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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Triangular lo diag up size) (Full vert horiz height width)

Methods

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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Full vert horiz height width) (Triangular lo diag up size)

Methods

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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Full vertA horizA heightA widthA) (Full vertB horizB heightB widthB)

Methods

matrixMatrix :: Floating a => Array (Full vertA horizA heightA widthA) a -> Array (Full vertB horizB heightB widthB) a -> Array (Multiplied (Full vertA horizA heightA widthA) (Full vertB horizB heightB widthB)) 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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Full vertA horizA heightA widthA) (Banded sub super vertB horizB heightB widthB)

Methods

matrixMatrix :: Floating a => Array (Full vertA horizA heightA widthA) a -> Array (Banded sub super vertB horizB heightB widthB) a -> Array (Multiplied (Full vertA horizA heightA widthA) (Banded sub super vertB horizB heightB widthB)) 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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Banded sub super vert horiz height width) (BandedHermitian offDiag size)

Methods

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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Banded sub super vertA horizA heightA widthA) (Full vertB horizB heightB widthB)

Methods

matrixMatrix :: Floating a => Array (Banded sub super vertA horizA heightA widthA) a -> Array (Full vertB horizB heightB widthB) a -> Array (Multiplied (Banded sub super vertA horizA heightA widthA) (Full vertB horizB heightB widthB)) a

(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 # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Multiply

Associated Types

type Multiplied (Banded subA superA vertA horizA heightA widthA) (Banded subB superB vertB horizB heightB widthB)

Methods

matrixMatrix :: Floating a => Array (Banded subA superA vertA horizA heightA widthA) a -> Array (Banded subB superB vertB horizB heightB widthB) a -> Array (Multiplied (Banded subA superA vertA horizA heightA widthA) (Banded subB superB vertB horizB heightB widthB)) a

class SquareShape shape => Determinant shape Source #

Minimal complete definition

determinant

Instances

Instances details
C shape => Determinant (Hermitian shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

determinant :: Floating a => Array (Hermitian shape) a -> 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.

Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

determinant :: Floating a => Array (BandedHermitian offDiag size) a -> a

(Content lo, Content up, TriDiag diag, C shape) => Determinant (Triangular lo diag up shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

determinant :: Floating a => Array (Triangular lo diag up shape) a -> a

(vert ~ Small, horiz ~ Small, C height, height ~ width) => Determinant (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

determinant :: Floating a => Array (Full vert horiz height width) a -> a

(Natural sub, Natural super, vert ~ Small, horiz ~ Small, C width, C height, width ~ height) => Determinant (Banded sub super vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

determinant :: Floating a => Array (Banded sub super vert horiz height width) a -> a

class SquareShape shape => Solve shape Source #

Minimal complete definition

solve | solveLeft, solveRight

Instances

Instances details
C shape => Solve (Hermitian shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

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

(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.

Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

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

(Content lo, Content up, TriDiag diag, C shape) => Solve (Triangular lo diag up shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

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

(vert ~ Small, horiz ~ Small, C height, height ~ width) => Solve (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

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

(Natural sub, Natural super, vert ~ Small, horiz ~ Small, C width, C height, width ~ height) => Solve (Banded sub super vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

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

class (Solve shape, Power shape) => Inverse shape Source #

Minimal complete definition

inverse

Instances

Instances details
C shape => Inverse (Hermitian shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

inverse :: Floating a => Array (Hermitian shape) a -> Array (Hermitian shape) a

(PowerContentDiag lo diag up, C shape) => Inverse (Triangular lo diag up shape) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

inverse :: Floating a => Array (Triangular lo diag up shape) a -> Array (Triangular lo diag up shape) a

(vert ~ Small, horiz ~ Small, C height, height ~ width) => Inverse (Full vert horiz height width) Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Plain.Divide

Methods

inverse :: Floating a => Array (Full vert horiz height width) a -> Array (Full vert horiz height width) a