linear-vect-0.1.1.0: A low-dimensional linear algebra library, operating on the Num typeclass

Safe HaskellNone
LanguageHaskell2010

Linear.Mat

Synopsis

Documentation

data M2 a Source

The components are row vectors

Constructors

M2 !(V2 a) !(V2 a) 

Instances

Num a => Vector a M2 
Fractional a => Orthogonal a M2 Ortho2 
Num a => Extend a M2 M4 
Num a => Extend a M2 M3 
Fractional a => Projective a V2 M2 Ortho2 M3 Proj3 
Num a => Determinant a (M2 a) 
Floating a => MatrixNorms a (M2 a) 
Read a => Read (M2 a) 
Show a => Show (M2 a) 
(Num a, Storable a) => Storable (M2 a) 
(Num a, Random a) => Random (M2 a) 
Num a => Dimension (M2 a) 
Fractional a => SquareMatrix (M2 a) 
Num a => Pointwise (M2 a) 
Fractional a => Ring (M2 a) 
Fractional a => MultSemiGroup (M2 a) 
Num a => AbelianGroup (M2 a) 
Num a => Tensor (M2 a) (V2 a) 
Transpose (M2 a) (M2 a) 
Num a => Diagonal (V2 a) (M2 a) 
Fractional a => RightModule (V2 a) (M2 a) 
Num a => LeftModule (M2 a) (V2 a) 

data M3 a Source

Constructors

M3 !(V3 a) !(V3 a) !(V3 a) 

Instances

Num a => Vector a M3 
Fractional a => Orthogonal a M3 Ortho3 
Num a => Extend a M3 M4 
Num a => Extend a M2 M3 
Fractional a => Projective a V3 M3 Ortho3 M4 Proj4 
Fractional a => Projective a V2 M2 Ortho2 M3 Proj3 
Num a => Determinant a (M3 a) 
Floating a => MatrixNorms a (M3 a) 
Read a => Read (M3 a) 
Show a => Show (M3 a) 
(Num a, Storable a) => Storable (M3 a) 
(Num a, Random a) => Random (M3 a) 
Num a => Dimension (M3 a) 
Fractional a => SquareMatrix (M3 a) 
Num a => Pointwise (M3 a) 
Fractional a => Ring (M3 a) 
Fractional a => MultSemiGroup (M3 a) 
Num a => AbelianGroup (M3 a) 
Num a => Tensor (M3 a) (V3 a) 
Transpose (M3 a) (M3 a) 
Num a => Diagonal (V3 a) (M3 a) 
Fractional a => RightModule (V3 a) (M3 a) 
Num a => LeftModule (M3 a) (V3 a) 

data M4 a Source

Constructors

M4 !(V4 a) !(V4 a) !(V4 a) !(V4 a) 

Instances

Num a => Vector a M4 
Fractional a => Orthogonal a M4 Ortho4 
Num a => Extend a M3 M4 
Num a => Extend a M2 M4 
Fractional a => Projective a V3 M3 Ortho3 M4 Proj4 
Num a => Determinant a (M4 a) 
Floating a => MatrixNorms a (M4 a) 
Read a => Read (M4 a) 
Show a => Show (M4 a) 
(Num a, Storable a) => Storable (M4 a) 
(Num a, Random a) => Random (M4 a) 
Num a => Dimension (M4 a) 
Num a => SquareMatrix (M4 a) 
Num a => Pointwise (M4 a) 
Num a => Ring (M4 a) 
Num a => MultSemiGroup (M4 a) 
Num a => AbelianGroup (M4 a) 
Num a => Tensor (M4 a) (V4 a) 
Transpose (M4 a) (M4 a) 
Num a => Diagonal (V4 a) (M4 a) 
Num a => RightModule (V4 a) (M4 a) 
Num a => LeftModule (M4 a) (V4 a) 

data M2x3 a Source

Constructors

M2x3 !a !a !a !a !a !a 

Instances

Read a => Read (M2x3 a) 
Show a => Show (M2x3 a) 
Storable a => Storable (M2x3 a) 
Transpose (M3x2 a) (M2x3 a) 
Transpose (M2x3 a) (M3x2 a) 

data M2x4 a Source

Constructors

M2x4 !a !a !a !a !a !a !a !a 

Instances

Read a => Read (M2x4 a) 
Show a => Show (M2x4 a) 
Storable a => Storable (M2x4 a) 
Transpose (M4x2 a) (M2x4 a) 
Transpose (M2x4 a) (M4x2 a) 

data M3x2 a Source

Constructors

M3x2 !a !a !a !a !a !a 

Instances

Read a => Read (M3x2 a) 
Show a => Show (M3x2 a) 
Storable a => Storable (M3x2 a) 
Transpose (M3x2 a) (M2x3 a) 
Transpose (M2x3 a) (M3x2 a) 

data M3x4 a Source

Constructors

M3x4 !a !a !a !a !a !a !a !a !a !a !a !a 

Instances

Read a => Read (M3x4 a) 
Show a => Show (M3x4 a) 
Storable a => Storable (M3x4 a) 
Transpose (M4x3 a) (M3x4 a) 
Transpose (M3x4 a) (M4x3 a) 

data M4x2 a Source

Constructors

M4x2 !a !a !a !a !a !a !a !a 

Instances

Read a => Read (M4x2 a) 
Show a => Show (M4x2 a) 
Storable a => Storable (M4x2 a) 
Transpose (M4x2 a) (M2x4 a) 
Transpose (M2x4 a) (M4x2 a) 

data M4x3 a Source

Constructors

M4x3 !a !a !a !a !a !a !a !a !a !a !a !a 

Instances

Read a => Read (M4x3 a) 
Show a => Show (M4x3 a) 
Storable a => Storable (M4x3 a) 
Transpose (M4x3 a) (M3x4 a) 
Transpose (M3x4 a) (M4x3 a) 

data Ortho2 a Source

Orthogonal matrices.

Note: the Random instances generates orthogonal matrices with determinant 1 (that is, orientation-preserving orthogonal transformations)!

data Ortho4 a Source

Instances

Fractional a => Orthogonal a M4 Ortho4 
Num a => Determinant a (Ortho4 a) 
Read a => Read (Ortho4 a) 
Show a => Show (Ortho4 a) 
(Num a, Storable a) => Storable (Ortho4 a) 
(Floating a, Ord a, Random a) => Random (Ortho4 a) 
Num a => Dimension (Ortho4 a) 
Fractional a => SquareMatrix (Ortho4 a) 
Num a => MultSemiGroup (Ortho4 a) 
Transpose (Ortho4 a) (Ortho4 a) 

data Proj3 a Source

Projective matrices, encoding affine transformations in dimension one less.

data Proj4 a Source

Instances