lapack-0.5.1.1: Numerical Linear Algebra using LAPACK
Safe HaskellSafe-Inferred
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

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

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 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 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 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 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 None Source #

Instances

Instances details
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 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 typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a. Exponent None typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a

data Transpose Source #

Instances

Instances details
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 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 typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a. (Transpose typA, TransposeExtra typA xlA, TransposeExtra typA xuA) => Exponent Transpose typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typA xuA xlA upperA lowerA measA horizA vertA widthA heightA a

data Adjoint Source #

Instances

Instances details
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 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 typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a. (Transpose typA, Complex typA, TransposeExtra typA xlA, TransposeExtra typA xuA) => Exponent Adjoint typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typA xuA xlA upperA lowerA measA horizA vertA widthA heightA a

data Conjugate Source #

Instances

Instances details
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 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 typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a. Complex typA => Exponent Conjugate typA xlA xuA lowerA upperA measA vertA horizA heightA widthA typA xlA xuA lowerA upperA measA vertA horizA heightA widthA a

data Inverse Source #

Instances

Instances details
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 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

Instances details
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 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

Instances details
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 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