jonathanfishbein1 / linear-algebra / InvertableMatrix

A module for Invertable Matrix

Types


type InvertableMatrix a
    = InvertableMatrix (NormalMatrix a)

Invertable Matrix type

Values

empty : InvertableMatrix a

Monoid empty for InvertableMatrix

Constructors

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

Create Square Identity Matrix with n dimension

Matrix Predicates and Properties

determinant : RowVector.VectorSpace a -> InvertableMatrix a -> Result String a

Try to calculate the determinant

dimension : InvertableMatrix a -> Basics.Int

Dimension of the matrix

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

Determine whether a matirx is invertable

Unitary Operations

scalarMultiplication : Field a -> a -> InvertableMatrix a -> InvertableMatrix a

Scalar multiplication over an InvertableMatrix Matrix

Binary Operations

invert : RowVector.InnerProductSpace a -> InvertableMatrix a -> Result String (InvertableMatrix a)

Try to calculate the inverse of a matrix

add : Field a -> InvertableMatrix a -> InvertableMatrix a -> InvertableMatrix a

Add two InvertableMatrix together

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

Square Matrix Square Matrix multiplication

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

Invertable Matrix Invertable Matrix multiplication

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

Multiply a ColumnVector by a Matrix

Manipulation

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

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

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

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

Equality

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

Compare two matricies using comparator

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

Compare two Matrices for equality

projXOntoSubspace : RowVector.InnerProductSpace a -> List (ColumnVector a) -> ColumnVector a -> Result String (ColumnVector a)

Calculate the projection of a vector onto a subspace given by a list of basis vectors as column vectors