A module for Matrix
Matrix type
Type to represent result of Gauss-Jordan reduction if system is consistant
Type to represent result of Gauss-Jordan reduction
Type to represent vector space such as R, R2, R3
{ abelianGroup : AbelianGroup (Matrix a)
, matrixScalarMultiplication : a -> Matrix a -> Matrix a
}
Type to represent a Vector Space
identity : Field a -> Basics.Int -> Matrix a
Create Identity Matrix with n dimension
zeros : Field a -> Basics.Int -> Basics.Int -> Matrix a
Create Matrix with m x n dimension filled with zeros
createMatrixFromColumnVectors : List (ColumnVector a) -> Matrix a
Create a Matrix from a list of Column Vectors
scalarMultiplication : Field a -> a -> Matrix a -> Matrix a
Scalar multiplication over a Matrix
transpose : Matrix a -> Matrix a
Transpose a Matrix
conjugate : Matrix (ComplexNumbers.ComplexNumber number) -> Matrix (ComplexNumbers.ComplexNumber number)
Take the complex conjugate of a Complex Numbered Matrix
adjoint : Matrix (ComplexNumbers.ComplexNumber number) -> Matrix (ComplexNumbers.ComplexNumber number)
Perform the adjoint operation on a Complex Numbered Matrix
subMatrix : Basics.Int -> Basics.Int -> Basics.Int -> Basics.Int -> Matrix a -> Matrix a
Calculate the submatrix given a starting and ending row and column index
nullSpace : Typeclasses.Classes.Equality.Equality a -> RowVector.InnerProductSpace a -> Matrix a -> Consistancy a
Calculate the null space of a matrix
leftNullSpace : Typeclasses.Classes.Equality.Equality a -> RowVector.InnerProductSpace a -> Matrix a -> Consistancy a
Calculate the left nullspace of a Matrix
getDiagonal : Matrix a -> Maybe (List a)
Get the diagonal of a Matrix
getDiagonalProduct : Field a -> Matrix a -> Maybe a
Get the Product of the diagonal of a Matrix
rank : RowVector.InnerProductSpace a -> Matrix a -> Basics.Int
Calculate the rank of a Matrix
add : Field a -> Matrix a -> Matrix a -> Matrix a
Add two Matrices together
subtract : Field a -> Matrix a -> Matrix a -> Matrix a
Subtract two Matrices
multiplyMatrixVector : RowVector.InnerProductSpace a -> Matrix a -> ColumnVector a -> Result String (ColumnVector a)
Multiply a Vector by a Matrix
multiply : RowVector.InnerProductSpace a -> Matrix a -> Matrix a -> Matrix a
Matrix Matrix multiplication
multiplyIfCan : RowVector.InnerProductSpace a -> Matrix a -> Matrix a -> Result String (Matrix a)
Matrix Matrix multiplication
tensorProduct : Field a -> Matrix a -> Matrix a -> Matrix a
Calculate the tensor product of two Matricies
commuter : RowVector.InnerProductSpace a -> Matrix a -> Matrix a -> Result String (Matrix a)
Calculate the commuter of two Hermitian Matricies
areBasis : RowVector.InnerProductSpace a -> VectorDimension -> List (ColumnVector a) -> Basics.Bool
Determine whether list of vectors are a basis for a space
areLinearlyIndependent : RowVector.InnerProductSpace a -> List (ColumnVector a) -> Basics.Bool
Predicate to determine if a list of Vectors are linearly independent
doesSetSpanSpace : RowVector.VectorSpace a -> VectorDimension -> List (ColumnVector a) -> Result String Basics.Bool
Determine whether list of vectors spans a space
mDimension : Matrix a -> Basics.Int
Number of rows in Matrix
nDimension : Matrix a -> Basics.Int
Number of columns in Matrix
areRowEquivalent : RowVector.VectorSpace a -> Matrix a -> Matrix a -> Basics.Bool
Predicate to determine if two matricies are row equivalent
all : (a -> Basics.Bool) -> Matrix a -> Basics.Bool
Predicate to determine if all values in the matric satisfy the given predicate
isOneToOne : RowVector.InnerProductSpace a -> Matrix a -> Result String (Matrix a)
Determine whether a matirx is one to one
isOnto : RowVector.InnerProductSpace a -> Matrix a -> Result String (Matrix a)
Determine whether a matirx is onto
realAdditionSemigroup : Semigroup (Matrix (Real Basics.Float))
Semigroup instance for Matrix under the addition operation with real values.
complexAdditionSemigroup : Semigroup (Matrix (ComplexNumbers.ComplexNumber Basics.Float))
Semigroup instance for Matrix under the addition operation with complex values.
realAdditionCommutativeSemigroup : CommutativeSemigroup (Matrix (Real Basics.Float))
Commutative Semigroup instance for Matrix under the addition operation with real values.
complexAdditionCommutativeSemigroup : CommutativeSemigroup (Matrix (ComplexNumbers.ComplexNumber Basics.Float))
Commutative Semigroup instance for Matrix under the addition operation with complex values.
realAdditionCommutativeMonoid : CommutativeMonoid (Matrix (Real Basics.Float))
Commutative Monoid instance for Matrix under the addition operation with real values.
complexAdditionCommutativeMonoid : CommutativeMonoid (Matrix (ComplexNumbers.ComplexNumber Basics.Float))
Commutative Monoid instance for Matrix under the addition operation with complex values.
realMatrixAlgebra : MatrixAlgebra (Real Basics.Float)
Real Numbered Matrix Algebra
complexMatrixAlgebra : MatrixAlgebra (ComplexNumbers.ComplexNumber Basics.Float)
Complex Numbered Matrix Algebra
realAdditionGroup : Group (Matrix (Real Basics.Float))
Group instance for Matrix under the addition operation with real values.
complexAdditionGroup : Group (Matrix (ComplexNumbers.ComplexNumber Basics.Float))
Group instance for Matrix under the addition operation with complex values.
realAdditionAbelianGroup : AbelianGroup (Matrix (Real Basics.Float))
Abelian Group instance for Matrix under the addition operation with real values.
complexAdditionAbelianGroup : AbelianGroup (Matrix (ComplexNumbers.ComplexNumber Basics.Float))
Abelian Group instance for Matrix under the addition operation with complex values.
realMatrixSpace : MatrixSpace (Real Basics.Float)
Real Numbered Vector Space for Matrix
complexMatrixSpace : MatrixSpace (ComplexNumbers.ComplexNumber Basics.Float)
Complex Numbered Vector Space for Matrix
empty : Matrix a
Monoid empty for Matrix
concatHorizontal : Typeclasses.Classes.Monoid.Monoid (Matrix a)
Monoidally append Matricies together horizontally
concatVertical : Typeclasses.Classes.Monoid.Monoid (Matrix a)
Monoidally append Matricies together vertically
appendHorizontal : Matrix a -> Matrix a -> Matrix a
Append Matricies together horizontally
map : (a -> b) -> Matrix a -> Matrix b
Map over a Matrix
pure : a -> Matrix a
Applicative pure for Matrix
andMap : Matrix a -> Matrix (a -> b) -> Matrix b
Apply for Matrix
andThen : (a -> Matrix b) -> Matrix a -> Matrix b
Monad bind for Matrix
map2 : (a -> b -> c) -> Matrix a -> Matrix b -> Matrix c
Lift a binary function to work on Matrix
foldl : (a -> b -> b) -> b -> Matrix a -> b
Left fold over a Matrix
equal : (a -> a -> Basics.Bool) -> Typeclasses.Classes.Equality.Equality (Matrix a)
Equal
type for Matrix
.
equalImplementation : (a -> a -> Basics.Bool) -> Matrix a -> Matrix a -> Basics.Bool
Compare two Matrices for equality
upperTriangle : RowVector.VectorSpace a -> Matrix a -> Matrix a
Put a matrix into Upper Triangular Form
gaussianReduce : RowVector.VectorSpace a -> Matrix a -> Matrix a
Gaussian Elimination
jordanReduce : RowVector.VectorSpace a -> Matrix a -> Matrix a
Internal function for Jordan Elimination
gaussJordan : RowVector.VectorSpace a -> Matrix a -> Matrix a
Function composition of Gaussian Elimination and Jordan Elimination
solve : Typeclasses.Classes.Equality.Equality a -> RowVector.InnerProductSpace a -> Matrix a -> ColumnVector a -> Consistancy a
Solve a system of linear equations using Gauss-Jordan elimination with explict column vector of constants
getAt : ( Basics.Int, Basics.Int ) -> Matrix a -> Maybe a
Get the value in a matrix at the specified row and column
setAt : ( Basics.Int, Basics.Int ) -> a -> Matrix a -> Matrix a
Set the value in a Matrix at the specified row and column
printRealMatrix : Matrix (Real Basics.Float) -> String
Print a Real matrix to a string
printComplexMatrix : Matrix (ComplexNumbers.ComplexNumber Basics.Float) -> String
Print a Complex matrix to a string
readRealMatrix : String -> Result (List Parser.DeadEnd) (Matrix (Real Basics.Float))
Try to read a string into a Matrix
readComplexMatrix : String -> Result (List Parser.DeadEnd) (Matrix (ComplexNumbers.ComplexNumber Basics.Float))
Try to read a string into a Matrix