Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data M2 a = M2 !(V2 a) !(V2 a)
- data M3 a = M3 !(V3 a) !(V3 a) !(V3 a)
- data M4 a = M4 !(V4 a) !(V4 a) !(V4 a) !(V4 a)
- data M2x3 a = M2x3 !a !a !a !a !a !a
- data M2x4 a = M2x4 !a !a !a !a !a !a !a !a
- data M3x2 a = M3x2 !a !a !a !a !a !a
- data M3x4 a = M3x4 !a !a !a !a !a !a !a !a !a !a !a !a
- data M4x2 a = M4x2 !a !a !a !a !a !a !a !a
- data M4x3 a = M4x3 !a !a !a !a !a !a !a !a !a !a !a !a
- data Ortho2 a
- data Ortho3 a
- data Ortho4 a
- data Proj3 a
- data Proj4 a
Documentation
The components are row vectors
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) |
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) |
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) |
M2x3 !a !a !a !a !a !a |
M2x4 !a !a !a !a !a !a !a !a |
M3x2 !a !a !a !a !a !a |
M3x4 !a !a !a !a !a !a !a !a !a !a !a !a |
M4x2 !a !a !a !a !a !a !a !a |
M4x3 !a !a !a !a !a !a !a !a !a !a !a !a |
Orthogonal matrices.
Note: the Random instances generates orthogonal matrices with determinant 1 (that is, orientation-preserving orthogonal transformations)!
Fractional a => Orthogonal a M2 Ortho2 | |
Fractional a => Projective a V2 M2 Ortho2 M3 Proj3 | |
Num a => Determinant a (Ortho2 a) | |
Read a => Read (Ortho2 a) | |
Show a => Show (Ortho2 a) | |
(Num a, Storable a) => Storable (Ortho2 a) | |
(Floating a, Ord a, Random a) => Random (Ortho2 a) | |
Num a => Dimension (Ortho2 a) | |
Fractional a => SquareMatrix (Ortho2 a) | |
Fractional a => MultSemiGroup (Ortho2 a) | |
Transpose (Ortho2 a) (Ortho2 a) |
Fractional a => Orthogonal a M3 Ortho3 | |
Fractional a => Projective a V3 M3 Ortho3 M4 Proj4 | |
Num a => Determinant a (Ortho3 a) | |
Read a => Read (Ortho3 a) | |
Show a => Show (Ortho3 a) | |
(Num a, Storable a) => Storable (Ortho3 a) | |
(Floating a, Ord a, Random a) => Random (Ortho3 a) | |
Num a => Dimension (Ortho3 a) | |
Fractional a => SquareMatrix (Ortho3 a) | |
Fractional a => MultSemiGroup (Ortho3 a) | |
Transpose (Ortho3 a) (Ortho3 a) |
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) |
Projective matrices, encoding affine transformations in dimension one less.
Fractional a => Projective a V2 M2 Ortho2 M3 Proj3 | |
Read a => Read (Proj3 a) | |
Show a => Show (Proj3 a) | |
(Num a, Storable a) => Storable (Proj3 a) | |
Fractional a => SquareMatrix (Proj3 a) | |
Fractional a => MultSemiGroup (Proj3 a) | |
Transpose (Proj3 a) (Proj3 a) |