lapack-0.5.0.2: Numerical Linear Algebra using LAPACK

Safe HaskellNone
LanguageHaskell98

Numeric.LAPACK.Matrix.Superscript

Description

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

Associated Types

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 #

Methods

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

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

(#^) :: (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 None Source #

Instances
Superscript None Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

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 where
  • N :: forall typ xl xu lower upper meas vert horiz height width typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a. Exponent None typ xl xu lower upper meas vert horiz height width typ xl xu lower upper meas vert horiz height width a

data Transpose Source #

Instances
Superscript Transpose Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

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
  • T :: forall typ xl xu lower upper meas vert horiz height width typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a. (Transpose typ, TransposeExtra typ xl, TransposeExtra typ xu) => Exponent Transpose typ xl xu lower upper meas vert horiz height width typ xu xl upper lower meas horiz vert width height a

data Adjoint Source #

Instances
Superscript Adjoint Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

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
  • A :: forall typ xl xu lower upper meas vert horiz height width typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a. (Transpose typ, Complex typ, TransposeExtra typ xl, TransposeExtra typ xu) => Exponent Adjoint typ xl xu lower upper meas vert horiz height width typ xu xl upper lower meas horiz vert width height a

data Conjugate Source #

Instances
Superscript Conjugate Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

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 where
  • C :: forall typ xl xu lower upper meas vert horiz height width typB xlB xuB lowerB upperB measB vertB horizB heightB widthB a. Complex typ => Exponent Conjugate typ xl xu lower upper meas vert horiz height width typ xl xu lower upper meas vert horiz height width a

data Inverse Source #

Instances
Superscript Inverse Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

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

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

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

data Power Source #

Instances
Superscript Power Source # 
Instance details

Defined in Numeric.LAPACK.Matrix.Superscript

Associated Types

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 #

Methods

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

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