jonathanfishbein1 / linear-algebra / NormalMatrix

A module for Normal Matrix

Types


type NormalMatrix a
    = NormalMatrix (SquareMatrix a)

Symmetric Matrix type

Values

empty : NormalMatrix a

Monoid empty for NormalMatrix

Constructors

createMatrixFromColumnVectors : List (ColumnVector a) -> NormalMatrix a

Create a Matrix from a list of Column Vectors

identity : Field a -> Basics.Int -> NormalMatrix a

Create Square Identity Matrix with n dimension

Matrix Predicates and Properties

dimension : NormalMatrix a -> Basics.Int

Dimension of the matrix

isNormal : RowVector.InnerProductSpace a -> SquareMatrix a -> Result String (SquareMatrix a)

Predicate to determine if Matrix is normal

getDiagonalProduct : Field a -> NormalMatrix a -> Maybe a

Get the Product of the diagonal of a Matrix

subMatrix : Basics.Int -> Basics.Int -> Basics.Int -> Basics.Int -> NormalMatrix a -> NormalMatrix a

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

transpose : NormalMatrix a -> NormalMatrix a

Transpose a Matrix

Unitary Operations

scalarMultiplication : Field a -> a -> NormalMatrix a -> NormalMatrix a

Scalar multiplication over a Square Matrix

adjoint : NormalMatrix (ComplexNumbers.ComplexNumber number) -> NormalMatrix (ComplexNumbers.ComplexNumber number)

Perform the adjoint operation on a Complex Numbered Matrix

Binary Operations

add : Field a -> NormalMatrix a -> NormalMatrix a -> NormalMatrix a

Add two NormalMatrix together

multiply : RowVector.InnerProductSpace a -> NormalMatrix a -> NormalMatrix a -> NormalMatrix a

Square Matrix Square Matrix multiplication

multiplyIfCan : RowVector.InnerProductSpace a -> NormalMatrix a -> NormalMatrix a -> Result String (NormalMatrix a)

Square Matrix Square Matrix multiplication

multiplyMatrixVector : RowVector.InnerProductSpace a -> NormalMatrix a -> ColumnVector a -> Result String (ColumnVector a)

Multiply a ColumnVector by a Matrix

subtract : Field a -> NormalMatrix a -> NormalMatrix a -> NormalMatrix a

Subtract two Square Matrices

Manipulation

getAt : ( Basics.Int, Basics.Int ) -> NormalMatrix a -> Maybe a

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

setAt : ( Basics.Int, Basics.Int ) -> a -> NormalMatrix a -> NormalMatrix a

Set the value in a Normal Matrix at the specified row and column

Monoid

appendHorizontal : NormalMatrix a -> NormalMatrix a -> NormalMatrix a

Append Matricies together horizontally

Equality

equal : (a -> a -> Basics.Bool) -> Typeclasses.Classes.Equality.Equality (NormalMatrix a)

Compare two matricies using comparator

equalImplementation : (a -> a -> Basics.Bool) -> NormalMatrix a -> NormalMatrix a -> Basics.Bool

Compare two Matrices for equality

Matrix Forms

gaussJordan : RowVector.VectorSpace a -> NormalMatrix a -> NormalMatrix a

Function composition of Gaussian Elimination and Jordan Elimination

upperTriangle : RowVector.VectorSpace a -> NormalMatrix a -> NormalMatrix a

Put a matrix into Upper Triangular Form