jonathanfishbein1/linear-algebra/26.0.0

NOTE: the latest version is 30.0.0

SquareMatrix

A module for Square Matrix

Types

= SquareMatrix (Matrix a)

Square Matrix type

type alias InnerProductSpace a =
{ matrixSpace : MatrixSpace a
, innerProduct : SquareMatrix a -> SquareMatrix a -> Result String a
, norm : SquareMatrix a -> Result String (Real Float)
, distance :
SquareMatrix a -> SquareMatrix a -> Result String (Real Float)
}

Type to represent an Inner Product Space

Values

zeroSquareMatrix : Field a -> Int -> SquareMatrix a

Create square Matrix with n dimension filled with zeros

realMatrixInnerProductSpace : InnerProductSpace (Real Float)

Real Numbered Inner Product Space for Matrix

complexMatrixInnerProductSpace : InnerProductSpace (ComplexNumber Float)

Complex Numbered Inner Product Space for Matrix

Constructors

Create a Matrix from a list of Column Vectors

identity : Field a -> Int -> SquareMatrix a

Create Square Identity Matrix with n dimension

Matrix Predicates and Properties

Dimension of the matrix

Determine whether a matirx is square

normReal : SquareMatrix (Real Float) -> Result String (Real Float)

Calculate the norm of a Matrix

normComplex : SquareMatrix (ComplexNumber Float) -> Result String (Real Float)

Calculate the norm of a Matrix

SquareMatrix (Real Float)
-> SquareMatrix (Real Float)
-> Result String (Real Float)

Calculate distance between two vectors

isRightStochastic : SquareMatrix (Real Float) -> Bool

Predicate if matrix is right stochastic

isLeftStochastic : SquareMatrix (Real Float) -> Bool

Predicate if matrix is left stochastic

getDiagonalProduct : Field a -> SquareMatrix a -> Maybe a

Get the Product of the diagonal of a Matrix

subMatrix : Int -> Int -> Int -> Int -> SquareMatrix a -> SquareMatrix a

Calculate the submatrix given a starting and ending row and column index

Transpose a Matrix

Unitary Operations

Scalar multiplication over a Square Matrix

SquareMatrix (ComplexNumber number)
-> SquareMatrix (ComplexNumber number)

Perform the adjoint operation on a Complex Numbered Matrix

map : (a -> b) -> SquareMatrix a -> SquareMatrix b

Map over a Matrix

Binary Operations

InnerProductSpace a
-> Result String a

Calculate the dot product of two Matricies

InnerProductSpace a
-> Result String (SquareMatrix a)

Square Matrix Square Matrix multiplication

InnerProductSpace a
-> Result String (ColumnVector a)

Multiply a Vector by a Matrix

add : Field a -> SquareMatrix a -> SquareMatrix a -> SquareMatrix a

Add two Square Matrices together

Subtract two Square Matrices

Manipulation

getAt : ( Int, Int ) -> SquareMatrix a -> Maybe a

Get the value in a matrix at the specified row and column

Monoid

Append Matricies together horizontally

Equality

equal : (a -> a -> Bool) -> Equality (SquareMatrix a)

Compare two matricies using comparator

equalImplementation : (a -> a -> Bool) -> SquareMatrix a -> SquareMatrix a -> Bool

Compare two Matrices for equality

Matrix Forms

gaussJordan : VectorSpace a -> SquareMatrix a -> SquareMatrix a

Function composition of Gaussian Elimination and Jordan Elimination

upperTriangle : VectorSpace a -> SquareMatrix a -> SquareMatrix a

Put a matrix into Upper Triangular Form