Safe Haskell | None |
---|---|
Language | Haskell98 |
This module provides an infix operator and some data constructors
that shall resemble mathematical notation.
E.g. you can write a#^T
for Matrix.transpose a
.
It is clearly abuse of the type system
because I suspect you will never write algorithms
that are generic in the superscript type.
Synopsis
- class Superscript sup where
- data Exponent sup typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a
- (#^) :: (Measure measA, C vertA, C horizA) => (C widthA, C heightA) => (Measure measB, C vertB, C horizB) => (C widthB, C heightB) => Floating a => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent sup typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a
- data None
- data Transpose
- data Adjoint
- data Conjugate
- data Inverse
- data PseudoInverse
- data Power
Documentation
class Superscript sup where Source #
left associative in contrast to ^, ^^ etc.
because there is no law analogous to power law (x^a)^b = x^(a*b)
.
data Exponent sup typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source #
(#^) :: (Measure measA, C vertA, C horizA) => (C widthA, C heightA) => (Measure measB, C vertB, C horizB) => (C widthB, C heightB) => Floating a => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent sup typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a infixl 8 Source #
Instances
Superscript Power Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Power typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent Power typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Superscript PseudoInverse Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent PseudoInverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent PseudoInverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Superscript Inverse Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Inverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent Inverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Superscript Conjugate Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Conjugate typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent Conjugate typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Superscript Adjoint Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Adjoint typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent Adjoint typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Superscript Transpose Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Transpose typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent Transpose typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Superscript None Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent None typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent None typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # |
Instances
Superscript None Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent None typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent None typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
data Exponent None typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript |
Instances
Superscript Transpose Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Transpose typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent Transpose typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
data Exponent Transpose typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Transpose typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a where
|
Instances
Superscript Adjoint Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Adjoint typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent Adjoint typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
data Exponent Adjoint typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Adjoint typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a where
|
Instances
Superscript Conjugate Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Conjugate typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent Conjugate typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
data Exponent Conjugate typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript |
Instances
Superscript Inverse Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Inverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent Inverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
data Exponent Inverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Inverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a where
|
data PseudoInverse Source #
Instances
Superscript PseudoInverse Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent PseudoInverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent PseudoInverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
data Exponent PseudoInverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent PseudoInverse typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a where
|
Instances
Superscript Power Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Power typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a :: Type Source # (#^) :: (Measure measA, C vertA, C horizA, C widthA, C heightA, Measure measB, C vertB, C horizB, C widthB, C heightB, Floating a) => Matrix typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a -> Exponent Power typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a -> Matrix typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
data Exponent Power typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a Source # | |
Defined in Numeric.LAPACK.Matrix.Superscript data Exponent Power typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a where
|