[{"name":"ColumnVector","comment":" A module for Column Vector\n\n\n# Types\n\n@docs ColumnVector\n\n\n# Unitary Operations\n\n@docs sum\n@docs scalarMultiplication\n@docs conjugate\n\n\n# Binary Operations\n\n@docs add\n\n\n# ColumnVector Properties\n\n@docs dimension\n\n\n# Functor, Applicative, Monad, Foldable\n\n@docs map\n@docs foldl\n\n\n# Equality\n\n@docs equal\n\n\n# Manipulation\n\n@docs getAt\n\n","unions":[{"name":"ColumnVector","comment":" Column Vector\n","args":["a"],"cases":[["ColumnVector",["Vector.Vector a"]]]}],"aliases":[],"values":[{"name":"add","comment":" Add two ColumnVectors\n","type":"Field.Field a -> ColumnVector.ColumnVector a -> ColumnVector.ColumnVector a -> ColumnVector.ColumnVector a"},{"name":"conjugate","comment":" Take the complex conjugate of a Complex Numbered ColumnVector\n","type":"ColumnVector.ColumnVector (ComplexNumbers.ComplexNumber number) -> ColumnVector.ColumnVector (ComplexNumbers.ComplexNumber number)"},{"name":"dimension","comment":" Count of number of elements in a Ket\n","type":"ColumnVector.ColumnVector a -> Basics.Int"},{"name":"equal","comment":" `Equal` type for `Vector`.\n","type":"(a -> a -> Basics.Bool) -> Typeclasses.Classes.Equality.Equality (ColumnVector.ColumnVector a)"},{"name":"foldl","comment":" Left fold over a RowVector\n","type":"(a -> b -> b) -> b -> ColumnVector.ColumnVector a -> b"},{"name":"getAt","comment":" Get the value in a Vector at the specified index\n","type":"Basics.Int -> ColumnVector.ColumnVector a -> Maybe.Maybe a"},{"name":"map","comment":" map over a RowVector\n","type":"(a -> b) -> ColumnVector.ColumnVector a -> ColumnVector.ColumnVector b"},{"name":"scalarMultiplication","comment":" Scalar multiplication over a ColumnVector\n","type":"Field.Field a -> a -> ColumnVector.ColumnVector a -> ColumnVector.ColumnVector a"},{"name":"sum","comment":" Calculate the sum of a Vector\n","type":"Monoid.Monoid a -> ColumnVector.ColumnVector a -> a"}],"binops":[]},{"name":"DoublyStochasticMatrix","comment":" A module for Doubly Stochastic Matrix\n\n\n# Types\n\n@docs DoublyStochasticMatrix\n\n\n# Matrix Predicates and Properties\n\n@docs isDoublyStochastic\n\n\n# Binary Operations\n\n@docs multiply\n\n","unions":[{"name":"DoublyStochasticMatrix","comment":" Doubly Stochastic Matrix type\n","args":[],"cases":[["DoublyStochasticMatrix",["SquareMatrix.SquareMatrix Basics.Float"]]]}],"aliases":[],"values":[{"name":"isDoublyStochastic","comment":" Predicate if matrix is doubly stochastic\n","type":"SquareMatrix.SquareMatrix Basics.Float -> Basics.Bool"},{"name":"multiply","comment":" Doubly Stochastic Matrixx Doubly Stochastic Matrix multiplication\n","type":"DoublyStochasticMatrix.DoublyStochasticMatrix -> DoublyStochasticMatrix.DoublyStochasticMatrix -> Result.Result String.String DoublyStochasticMatrix.DoublyStochasticMatrix"}],"binops":[]},{"name":"HermitianMatrix","comment":" A module for Hermitian Matrix\n\n\n# Types\n\n@docs HermitianMatrix\n\n\n# Matrix Predicates and Properties\n\n@docs isHermitian\n@docs dimension\n\n\n# Unitary Operations\n\n@docs identity\n@docs scalarMultiplication\n\n\n# Binary Operations\n\n@docs multiply\n@docs multiplyMatrixVector\n@docs subtract\n\n\n# Manipulation\n\n@docs getAt\n\n","unions":[{"name":"HermitianMatrix","comment":" Hermitian Matrix type\n","args":["number"],"cases":[["HermitianMatrix",["SymmetricMatrix.SymmetricMatrix (ComplexNumbers.ComplexNumber number)"]]]}],"aliases":[],"values":[{"name":"dimension","comment":" Dimension of the matrix\n","type":"HermitianMatrix.HermitianMatrix number -> Basics.Int"},{"name":"getAt","comment":" Get the value in a matrix at the specified row and column\n","type":"( Basics.Int, Basics.Int ) -> HermitianMatrix.HermitianMatrix number -> Maybe.Maybe (ComplexNumbers.ComplexNumber number)"},{"name":"identity","comment":" Create Square Identity Matrix with n dimension with Complex Numbers\n","type":"Basics.Int -> HermitianMatrix.HermitianMatrix Basics.Float"},{"name":"isHermitian","comment":" Predicate to determine if Matrix is Hermitian\n","type":"SymmetricMatrix.SymmetricMatrix (ComplexNumbers.ComplexNumber number) -> Basics.Bool"},{"name":"multiply","comment":" Hermitian Matrix Hermitian Matrix multiplication\n","type":"HermitianMatrix.HermitianMatrix Basics.Float -> HermitianMatrix.HermitianMatrix Basics.Float -> Result.Result String.String (HermitianMatrix.HermitianMatrix Basics.Float)"},{"name":"multiplyMatrixVector","comment":" Multiply a Vector by a Hermitian Matrix\n","type":"HermitianMatrix.HermitianMatrix Basics.Float -> ColumnVector.ColumnVector (ComplexNumbers.ComplexNumber Basics.Float) -> Result.Result String.String (ColumnVector.ColumnVector (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"scalarMultiplication","comment":" Scalar multiplication over a Hermitian Matrix\n","type":"ComplexNumbers.ComplexNumber Basics.Float -> HermitianMatrix.HermitianMatrix Basics.Float -> HermitianMatrix.HermitianMatrix Basics.Float"},{"name":"subtract","comment":" Subtract two Hermitian Matrices\n","type":"HermitianMatrix.HermitianMatrix Basics.Float -> HermitianMatrix.HermitianMatrix Basics.Float -> HermitianMatrix.HermitianMatrix Basics.Float"}],"binops":[]},{"name":"InvertableMatrix","comment":" A module for Invertable Matrix\n\n\n# Types\n\n@docs InvertableMatrix\n\n\n# Constructors\n\n@docs identity\n\n\n# Matrix Predicates and Properties\n\n@docs determinant\n@docs dimension\n@docs isInvertable\n\n\n# Binary Operations\n\n@docs invert\n@docs multiply\n@docs multiplyMatrixVector\n\n\n# Manipulation\n\n@docs getAt\n\n\n# Equality\n\n@docs equal\n@docs equalImplementation\n\n@docs projXOntoSubspace\n\n","unions":[{"name":"InvertableMatrix","comment":" Invertable Matrix type\n","args":["a"],"cases":[["InvertableMatrix",["NormalMatrix.NormalMatrix a"]]]}],"aliases":[],"values":[{"name":"determinant","comment":" Try to calculate the determinant\n","type":"Vector.VectorSpace a -> InvertableMatrix.InvertableMatrix a -> Result.Result String.String a"},{"name":"dimension","comment":" Dimension of the matrix\n","type":"InvertableMatrix.InvertableMatrix a -> Basics.Int"},{"name":"equal","comment":" Compare two matricies using comparator\n","type":"(a -> a -> Basics.Bool) -> Typeclasses.Classes.Equality.Equality (InvertableMatrix.InvertableMatrix a)"},{"name":"equalImplementation","comment":" Compare two Matrices for equality\n","type":"(a -> a -> Basics.Bool) -> InvertableMatrix.InvertableMatrix a -> InvertableMatrix.InvertableMatrix a -> Basics.Bool"},{"name":"getAt","comment":" Get the value in a matrix at the specified row and column\n","type":"( Basics.Int, Basics.Int ) -> InvertableMatrix.InvertableMatrix a -> Maybe.Maybe a"},{"name":"identity","comment":" Create Square Identity Matrix with n dimension\n","type":"Field.Field a -> Basics.Int -> InvertableMatrix.InvertableMatrix a"},{"name":"invert","comment":" Try to calculate the inverse of a matrix\n","type":"Vector.InnerProductSpace a -> InvertableMatrix.InvertableMatrix a -> Result.Result String.String (InvertableMatrix.InvertableMatrix a)"},{"name":"isInvertable","comment":" Determine whether a matirx is invertable\n","type":"Vector.InnerProductSpace a -> NormalMatrix.NormalMatrix a -> Result.Result String.String (NormalMatrix.NormalMatrix a)"},{"name":"multiply","comment":" Invertable Matrix Invertable Matrix multiplication\n","type":"Vector.InnerProductSpace a -> InvertableMatrix.InvertableMatrix a -> InvertableMatrix.InvertableMatrix a -> Result.Result String.String (InvertableMatrix.InvertableMatrix a)"},{"name":"multiplyMatrixVector","comment":" Multiply a Vector by a Matrix\n","type":"Vector.InnerProductSpace a -> InvertableMatrix.InvertableMatrix a -> ColumnVector.ColumnVector a -> Result.Result String.String (ColumnVector.ColumnVector a)"},{"name":"projXOntoSubspace","comment":" Calculate the projection of a vector onto a subspace given by a list of basis vectors as column vectors\n","type":"Vector.InnerProductSpace a -> List.List (ColumnVector.ColumnVector a) -> ColumnVector.ColumnVector a -> Result.Result String.String (ColumnVector.ColumnVector a)"}],"binops":[]},{"name":"Matrix","comment":" A module for Matrix\n\n\n# Types\n\n@docs Matrix\n@docs Solution\n@docs Consistancy\n@docs VectorDimension\n@docs MatrixSpace\n\n\n# Values\n\n@docs identity\n@docs zeros\n\n\n# Unitary Operations\n\n@docs scalarMultiplication\n@docs transpose\n@docs conjugate\n@docs adjoint\n@docs subMatrix\n@docs nullSpace\n@docs leftNullSpace\n@docs getDiagonal\n@docs getDiagonalProduct\n@docs rank\n@docs createMatrixFromColumnVectors\n\n\n# Binary Operations\n\n@docs add\n@docs subtract\n@docs multiplyMatrixVector\n@docs multiply\n@docs tensorProduct\n@docs commuter\n\n\n# Matrix Predicates and Properties\n\n@docs areBasis\n@docs areLinearlyIndependent\n@docs doesSetSpanSpace\n@docs mDimension\n@docs nDimension\n@docs areRowEquivalent\n@docs all\n@docs isOneToOne\n@docs isOnto\n\n\n# Semigroup, Monoid, Group, Ring, Field, VectorSpace\n\n@docs empty\n@docs concatHorizontal\n@docs concatVertical\n@docs realMatrixAdditionCommutativeSemigroup, complexMatrixAdditionCommutativeSemigroup\n@docs realMatrixAdditionCommutativeMonoid, complexMatrixAdditionCommutativeMonoid\n@docs realMatrixAlgebra\n@docs complexMatrixAdditionAbelianGroup\n@docs appendHorizontal\n@docs realMatrixAdditionGroup\n@docs realMatrixAdditionSemigroup\n@docs realMatrixSpace\n@docs complexMatrixSpace\n@docs complexMatrixAdditionSemigroup\n@docs complexMatrixAdditionGroup\n@docs complexMatrixAlgebra\n\n\n# Functor, Applicative, Monad, Foldable\n\n@docs map\n@docs pure\n@docs andMap\n@docs andThen\n@docs map2\n@docs foldl\n\n\n# Equality\n\n@docs equal\n@docs equalImplementation\n\n\n# Matrix Forms\n\n@docs upperTriangle\n@docs gaussianReduce\n@docs jordanReduce\n@docs gaussJordan\n\n\n# Solving\n\n@docs solve\n\n\n# Manipulation\n\n@docs getAt\n@docs setAt\n@docs printRealMatrix\n@docs printComplexMatrix\n@docs readRealMatrix\n@docs readComplexMatrix\n\n","unions":[{"name":"Consistancy","comment":" Type to represent result of Gauss-Jordan reduction\n","args":["a"],"cases":[["Consistant",["Matrix.Solution a"]],["Inconsistant",["String.String","Matrix.Solution a"]]]},{"name":"Matrix","comment":" Matrix type\n","args":["a"],"cases":[["Matrix",["List.List (RowVector.RowVector a)"]]]},{"name":"Solution","comment":" Type to represent result of Gauss-Jordan reduction if system is consistant\n","args":["a"],"cases":[["UniqueSolution",["ColumnVector.ColumnVector a"]],["InfiniteSolutions",["{ nullity : Basics.Int, rank : Basics.Int }"]]]},{"name":"VectorDimension","comment":" Type to represent vector space such as R, R2, R3\n","args":[],"cases":[["VectorDimension",["Basics.Int"]]]}],"aliases":[{"name":"MatrixSpace","comment":" Type to represent a Vector Space\n","args":["a"],"type":"{ abelianGroup : AbelianGroup.AbelianGroup (Matrix.Matrix a), matrixScalarMultiplication : a -> Matrix.Matrix a -> Matrix.Matrix a }"}],"values":[{"name":"add","comment":" Add two Matrices together\n","type":"Field.Field a -> Matrix.Matrix a -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"adjoint","comment":" Perform the adjoint operation on a Complex Numbered Matrix\n","type":"Matrix.Matrix (ComplexNumbers.ComplexNumber number) -> Matrix.Matrix (ComplexNumbers.ComplexNumber number)"},{"name":"all","comment":" Predicate to determine if all values in the matric satisfy the given predicate\n","type":"(a -> Basics.Bool) -> Matrix.Matrix a -> Basics.Bool"},{"name":"andMap","comment":" Apply for Matrix\n","type":"Matrix.Matrix a -> Matrix.Matrix (a -> b) -> Matrix.Matrix b"},{"name":"andThen","comment":" Monad bind for Matrix\n","type":"(a -> Matrix.Matrix b) -> Matrix.Matrix a -> Matrix.Matrix b"},{"name":"appendHorizontal","comment":" Append Matricies together horizontally\n","type":"Matrix.Matrix a -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"areBasis","comment":" Determine whether list of vectors are a basis for a space\n","type":"Vector.InnerProductSpace a -> Matrix.VectorDimension -> List.List (ColumnVector.ColumnVector a) -> Basics.Bool"},{"name":"areLinearlyIndependent","comment":" Predicate to determine if a list of Vectors are linearly independent\n","type":"Vector.InnerProductSpace a -> List.List (ColumnVector.ColumnVector a) -> Basics.Bool"},{"name":"areRowEquivalent","comment":" Predicate to determine if two matricies are row equivalent\n","type":"Vector.VectorSpace a -> Matrix.Matrix a -> Matrix.Matrix a -> Basics.Bool"},{"name":"commuter","comment":" Calculate the commuter of two Hermitian Matricies\n","type":"Vector.InnerProductSpace a -> Matrix.Matrix a -> Matrix.Matrix a -> Result.Result String.String (Matrix.Matrix a)"},{"name":"complexMatrixAdditionAbelianGroup","comment":" Abelian Group instance for Matrix under the addition operation with complex values.\n","type":"AbelianGroup.AbelianGroup (Matrix.Matrix (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"complexMatrixAdditionCommutativeMonoid","comment":" Commutative Monoid instance for Matrix under the addition operation with complex values.\n","type":"CommutativeMonoid.CommutativeMonoid (Matrix.Matrix (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"complexMatrixAdditionCommutativeSemigroup","comment":" Commutative Semigroup instance for Matrix under the addition operation with complex values.\n","type":"CommutativeSemigroup.CommutativeSemigroup (Matrix.Matrix (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"complexMatrixAdditionGroup","comment":" Group instance for Matrix under the addition operation with complex values.\n","type":"Group.Group (Matrix.Matrix (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"complexMatrixAdditionSemigroup","comment":" Semigroup instance for Matrix under the addition operation with complex values.\n","type":"Semigroup.Semigroup (Matrix.Matrix (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"complexMatrixAlgebra","comment":" Complex Numbered Matrix Algebra\n","type":"Matrix.MatrixAlgebra (ComplexNumbers.ComplexNumber Basics.Float)"},{"name":"complexMatrixSpace","comment":" Complex Numbered Vector Space for Matrix\n","type":"Matrix.MatrixSpace (ComplexNumbers.ComplexNumber Basics.Float)"},{"name":"concatHorizontal","comment":" Monoidally append Matricies together horizontally\n","type":"Typeclasses.Classes.Monoid.Monoid (Matrix.Matrix a)"},{"name":"concatVertical","comment":" Monoidally append Matricies together vertically\n","type":"Typeclasses.Classes.Monoid.Monoid (Matrix.Matrix a)"},{"name":"conjugate","comment":" Take the complex conjugate of a Complex Numbered Matrix\n","type":"Matrix.Matrix (ComplexNumbers.ComplexNumber number) -> Matrix.Matrix (ComplexNumbers.ComplexNumber number)"},{"name":"createMatrixFromColumnVectors","comment":" Create a Matrix from a list of Column Vectors\n","type":"List.List (ColumnVector.ColumnVector a) -> Matrix.Matrix a"},{"name":"doesSetSpanSpace","comment":" Determine whether list of vectors spans a space\n","type":"Vector.VectorSpace a -> Matrix.VectorDimension -> List.List (ColumnVector.ColumnVector a) -> Result.Result String.String Basics.Bool"},{"name":"empty","comment":" Monoid empty for Vector\n","type":"Matrix.Matrix a"},{"name":"equal","comment":" `Equal` type for `Matrix`.\n","type":"(a -> a -> Basics.Bool) -> Typeclasses.Classes.Equality.Equality (Matrix.Matrix a)"},{"name":"equalImplementation","comment":" Compare two Matrices for equality\n","type":"(a -> a -> Basics.Bool) -> Matrix.Matrix a -> Matrix.Matrix a -> Basics.Bool"},{"name":"foldl","comment":" Left fold over a Matrix\n","type":"(a -> b -> b) -> b -> Matrix.Matrix a -> b"},{"name":"gaussJordan","comment":" Function composition of Gaussian Elimination and Jordan Elimination\n","type":"Vector.VectorSpace a -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"gaussianReduce","comment":" Gaussian Elimination\n","type":"Vector.VectorSpace a -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"getAt","comment":" Get the value in a matrix at the specified row and column\n","type":"( Basics.Int, Basics.Int ) -> Matrix.Matrix a -> Maybe.Maybe a"},{"name":"getDiagonal","comment":" Get the diagonal of a Matrix\n","type":"Matrix.Matrix a -> Maybe.Maybe (List.List a)"},{"name":"getDiagonalProduct","comment":" Get the Product of the diagonal of a Matrix\n","type":"Field.Field a -> Matrix.Matrix a -> Maybe.Maybe a"},{"name":"identity","comment":" Create Identity Matrix with n dimension\n","type":"Field.Field a -> Basics.Int -> Matrix.Matrix a"},{"name":"isOneToOne","comment":" Determine whether a matirx is one to one\n","type":"Vector.InnerProductSpace a -> Matrix.Matrix a -> Result.Result String.String (Matrix.Matrix a)"},{"name":"isOnto","comment":" Determine whether a matirx is onto\n","type":"Vector.InnerProductSpace a -> Matrix.Matrix a -> Result.Result String.String (Matrix.Matrix a)"},{"name":"jordanReduce","comment":" Internal function for Jordan Elimination\n","type":"Vector.VectorSpace a -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"leftNullSpace","comment":" Calculate the left nullspace of a Matrix\n","type":"Typeclasses.Classes.Equality.Equality a -> Vector.InnerProductSpace a -> Matrix.Matrix a -> Matrix.Consistancy a"},{"name":"mDimension","comment":" Number of rows in Matrix\n","type":"Matrix.Matrix a -> Basics.Int"},{"name":"map","comment":" Map over a Matrix\n","type":"(a -> b) -> Matrix.Matrix a -> Matrix.Matrix b"},{"name":"map2","comment":" Lift a binary function to work on Matrix\n","type":"(a -> b -> c) -> Matrix.Matrix a -> Matrix.Matrix b -> Matrix.Matrix c"},{"name":"multiply","comment":" Matrix Matrix multiplication\n","type":"Vector.InnerProductSpace a -> Matrix.Matrix a -> Matrix.Matrix a -> Result.Result String.String (Matrix.Matrix a)"},{"name":"multiplyMatrixVector","comment":" Multiply a Vector by a Matrix\n","type":"Vector.InnerProductSpace a -> Matrix.Matrix a -> ColumnVector.ColumnVector a -> Result.Result String.String (ColumnVector.ColumnVector a)"},{"name":"nDimension","comment":" Number of columns in Matrix\n","type":"Matrix.Matrix a -> Basics.Int"},{"name":"nullSpace","comment":" Calculate the null space of a matrix\n","type":"Typeclasses.Classes.Equality.Equality a -> Vector.InnerProductSpace a -> Matrix.Matrix a -> Matrix.Consistancy a"},{"name":"printComplexMatrix","comment":" Print a Complex matrix to a string\n","type":"Matrix.Matrix (ComplexNumbers.ComplexNumber Basics.Float) -> String.String"},{"name":"printRealMatrix","comment":" Print a Real matrix to a string\n","type":"Matrix.Matrix Basics.Float -> String.String"},{"name":"pure","comment":" Applicative pure for Matrix\n","type":"a -> Matrix.Matrix a"},{"name":"rank","comment":" Calculate the rank of a Matrix\n","type":"Vector.InnerProductSpace a -> Matrix.Matrix a -> Basics.Int"},{"name":"readComplexMatrix","comment":" Try to read a string into a Matrix\n","type":"String.String -> Result.Result (List.List Parser.DeadEnd) (Matrix.Matrix (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"readRealMatrix","comment":" Try to read a string into a Matrix\n","type":"String.String -> Result.Result (List.List Parser.DeadEnd) (Matrix.Matrix Basics.Float)"},{"name":"realMatrixAdditionCommutativeMonoid","comment":" Commutative Monoid instance for Matrix under the addition operation with real values.\n","type":"CommutativeMonoid.CommutativeMonoid (Matrix.Matrix Basics.Float)"},{"name":"realMatrixAdditionCommutativeSemigroup","comment":" Commutative Semigroup instance for Matrix under the addition operation with real values.\n","type":"CommutativeSemigroup.CommutativeSemigroup (Matrix.Matrix Basics.Float)"},{"name":"realMatrixAdditionGroup","comment":" Group instance for Matrix under the addition operation with real values.\n","type":"Group.Group (Matrix.Matrix Basics.Float)"},{"name":"realMatrixAdditionSemigroup","comment":" Semigroup instance for Matrix under the addition operation with real values.\n","type":"Semigroup.Semigroup (Matrix.Matrix Basics.Float)"},{"name":"realMatrixAlgebra","comment":" Real Numbered Matrix Algebra\n","type":"Matrix.MatrixAlgebra Basics.Float"},{"name":"realMatrixSpace","comment":" Real Numbered Vector Space for Matrix\n","type":"Matrix.MatrixSpace Basics.Float"},{"name":"scalarMultiplication","comment":" Scalar multiplication over a Matrix\n","type":"Field.Field a -> a -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"setAt","comment":" Set the value in a Matrix at the specified row and column\n","type":"( Basics.Int, Basics.Int ) -> a -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"solve","comment":" Solve a system of linear equations using Gauss-Jordan elimination with explict column vector of constants\n","type":"Typeclasses.Classes.Equality.Equality a -> Vector.InnerProductSpace a -> Matrix.Matrix a -> ColumnVector.ColumnVector a -> Matrix.Consistancy a"},{"name":"subMatrix","comment":" Calculate the submatrix given a starting and ending row and column index\n","type":"Basics.Int -> Basics.Int -> Basics.Int -> Basics.Int -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"subtract","comment":" Subtract two Matrices\n","type":"Field.Field a -> Matrix.Matrix a -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"tensorProduct","comment":" Calculate the tensor product of two Matricies\n","type":"Field.Field a -> Matrix.Matrix a -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"transpose","comment":" Transpose a Matrix\n","type":"Matrix.Matrix a -> Matrix.Matrix a"},{"name":"upperTriangle","comment":" Put a matrix into Upper Triangular Form\n","type":"Vector.VectorSpace a -> Matrix.Matrix a -> Matrix.Matrix a"},{"name":"zeros","comment":" Create Matrix with m x n dimension filled with zeros\n","type":"Field.Field a -> Basics.Int -> Basics.Int -> Matrix.Matrix a"}],"binops":[]},{"name":"NormalMatrix","comment":" A module for Normal Matrix\n\n\n# Types\n\n@docs NormalMatrix\n\n\n# Constructors\n\n@docs createMatrixFromColumnVectors\n@docs identity\n\n\n# Matrix Predicates and Properties\n\n@docs dimension\n@docs isNormalMatrix\n@docs getDiagonalProduct\n@docs subMatrix\n@docs transpose\n\n\n# Unitary Operations\n\n@docs scalarMultiplication\n@docs adjoint\n\n\n# Binary Operations\n\n@docs multiply\n@docs multiplyMatrixVector\n@docs subtract\n\n\n# Manipulation\n\n@docs getAt\n\n\n# Monoid\n\n@docs appendHorizontal\n\n\n# Equality\n\n@docs equal\n@docs equalImplementation\n\n\n# Matrix Forms\n\n@docs gaussJordan\n@docs upperTriangle\n\n","unions":[{"name":"NormalMatrix","comment":" Symmetric Matrix type\n","args":["a"],"cases":[["NormalMatrix",["SquareMatrix.SquareMatrix a"]]]}],"aliases":[],"values":[{"name":"adjoint","comment":" Perform the adjoint operation on a Complex Numbered Matrix\n","type":"NormalMatrix.NormalMatrix (ComplexNumbers.ComplexNumber number) -> NormalMatrix.NormalMatrix (ComplexNumbers.ComplexNumber number)"},{"name":"appendHorizontal","comment":" Append Matricies together horizontally\n","type":"NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a"},{"name":"createMatrixFromColumnVectors","comment":" Create a Matrix from a list of Column Vectors\n","type":"List.List (ColumnVector.ColumnVector a) -> NormalMatrix.NormalMatrix a"},{"name":"dimension","comment":" Dimension of the matrix\n","type":"NormalMatrix.NormalMatrix a -> Basics.Int"},{"name":"equal","comment":" Compare two matricies using comparator\n","type":"(a -> a -> Basics.Bool) -> Typeclasses.Classes.Equality.Equality (NormalMatrix.NormalMatrix a)"},{"name":"equalImplementation","comment":" Compare two Matrices for equality\n","type":"(a -> a -> Basics.Bool) -> NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a -> Basics.Bool"},{"name":"gaussJordan","comment":" Function composition of Gaussian Elimination and Jordan Elimination\n","type":"Vector.VectorSpace a -> NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a"},{"name":"getAt","comment":" Get the value in a matrix at the specified row and column\n","type":"( Basics.Int, Basics.Int ) -> NormalMatrix.NormalMatrix a -> Maybe.Maybe a"},{"name":"getDiagonalProduct","comment":" Get the Product of the diagonal of a Matrix\n","type":"Field.Field a -> NormalMatrix.NormalMatrix a -> Maybe.Maybe a"},{"name":"identity","comment":" Create Square Identity Matrix with n dimension\n","type":"Field.Field a -> Basics.Int -> NormalMatrix.NormalMatrix a"},{"name":"isNormalMatrix","comment":" Predicate to determine if Matrix is normal\n","type":"Vector.InnerProductSpace a -> SquareMatrix.SquareMatrix a -> Basics.Bool"},{"name":"multiply","comment":" Square Matrix Square Matrix multiplication\n","type":"Vector.InnerProductSpace a -> NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a -> Result.Result String.String (NormalMatrix.NormalMatrix a)"},{"name":"multiplyMatrixVector","comment":" Multiply a Vector by a Matrix\n","type":"Vector.InnerProductSpace a -> NormalMatrix.NormalMatrix a -> ColumnVector.ColumnVector a -> Result.Result String.String (ColumnVector.ColumnVector a)"},{"name":"scalarMultiplication","comment":" Scalar multiplication over a Square Matrix\n","type":"Field.Field a -> a -> NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a"},{"name":"subMatrix","comment":" Calculate the submatrix given a starting and ending row and column index\n","type":"Basics.Int -> Basics.Int -> Basics.Int -> Basics.Int -> NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a"},{"name":"subtract","comment":" Subtract two Square Matrices\n","type":"Field.Field a -> NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a"},{"name":"transpose","comment":" Transpose a Matrix\n","type":"NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a"},{"name":"upperTriangle","comment":" Put a matrix into Upper Triangular Form\n","type":"Vector.VectorSpace a -> NormalMatrix.NormalMatrix a -> NormalMatrix.NormalMatrix a"}],"binops":[]},{"name":"RowVector","comment":" A module for Row Vector\n\n\n# Types\n\n@docs RowVector\n\n\n# Vector Properties\n\n@docs all\n\n\n# Functor, Applicative, Monad, Foldable\n\n@docs map\n@docs map2\n@docs foldl\n\n\n# Manipulation\n\n@docs parseRowVector\n\n","unions":[{"name":"RowVector","comment":" Row Vector\n","args":["a"],"cases":[["RowVector",["Vector.Vector a"]]]}],"aliases":[],"values":[{"name":"all","comment":" Predicate to determine if all values in the RowVector satisfy the given predicate\n","type":"(a -> Basics.Bool) -> RowVector.RowVector a -> Basics.Bool"},{"name":"foldl","comment":" Left fold over a RowVector\n","type":"(a -> b -> b) -> b -> RowVector.RowVector a -> b"},{"name":"map","comment":" map over a RowVector\n","type":"(a -> b) -> RowVector.RowVector a -> RowVector.RowVector b"},{"name":"map2","comment":" map2 over a RowVector\n","type":"(a -> b -> c) -> RowVector.RowVector a -> RowVector.RowVector b -> RowVector.RowVector c"},{"name":"parseRowVector","comment":" Parse a RowVector\n","type":"Parser.Parser a -> Parser.Parser (RowVector.RowVector a)"}],"binops":[]},{"name":"SquareMatrix","comment":" A module for Square Matrix\n\n\n# Types\n\n@docs SquareMatrix\n@docs InnerProductSpace\n\n\n# Values\n\n@docs zeroSquareMatrix\n@docs realMatrixInnerProductSpace\n@docs complexMatrixInnerProductSpace\n\n\n# Constructors\n\n@docs createMatrixFromColumnVectors\n@docs identity\n\n\n# Matrix Predicates and Properties\n\n@docs dimension\n@docs isSquareMatrix\n@docs normReal\n@docs normComplex\n@docs distanceReal\n@docs isRightStochastic\n@docs isLeftStochastic\n@docs getDiagonalProduct\n@docs subMatrix\n@docs transpose\n\n\n# Unitary Operations\n\n@docs scalarMultiplication\n@docs adjoint\n\n\n# Binary Operations\n\n@docs dotProduct\n@docs multiply\n@docs multiplyMatrixVector\n@docs add\n@docs subtract\n\n\n# Manipulation\n\n@docs getAt\n\n\n# Monoid\n\n@docs appendHorizontal\n\n\n# Equality\n\n@docs equal\n@docs equalImplementation\n\n\n# Matrix Forms\n\n@docs gaussJordan\n@docs upperTriangle\n\n","unions":[{"name":"SquareMatrix","comment":" Square Matrix type\n","args":["a"],"cases":[["SquareMatrix",["Matrix.Matrix a"]]]}],"aliases":[{"name":"InnerProductSpace","comment":" Type to represent an Inner Product Space\n","args":["a"],"type":"{ matrixSpace : Matrix.MatrixSpace a, innerProduct : SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a -> Result.Result String.String a, norm : SquareMatrix.SquareMatrix a -> Result.Result String.String Basics.Float, distance : SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a -> Result.Result String.String Basics.Float }"}],"values":[{"name":"add","comment":" Add two Square Matrices together\n","type":"Field.Field a -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a"},{"name":"adjoint","comment":" Perform the adjoint operation on a Complex Numbered Matrix\n","type":"SquareMatrix.SquareMatrix (ComplexNumbers.ComplexNumber number) -> SquareMatrix.SquareMatrix (ComplexNumbers.ComplexNumber number)"},{"name":"appendHorizontal","comment":" Append Matricies together horizontally\n","type":"SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a"},{"name":"complexMatrixInnerProductSpace","comment":" Complex Numbered Inner Product Space for Matrix\n","type":"SquareMatrix.InnerProductSpace (ComplexNumbers.ComplexNumber Basics.Float)"},{"name":"createMatrixFromColumnVectors","comment":" Create a Matrix from a list of Column Vectors\n","type":"List.List (ColumnVector.ColumnVector a) -> SquareMatrix.SquareMatrix a"},{"name":"dimension","comment":" Dimension of the matrix\n","type":"SquareMatrix.SquareMatrix a -> Basics.Int"},{"name":"distanceReal","comment":" Calculate distance between two vectors\n","type":"SquareMatrix.SquareMatrix Basics.Float -> SquareMatrix.SquareMatrix Basics.Float -> Result.Result String.String Basics.Float"},{"name":"dotProduct","comment":" Calculate the dot product of two Matricies\n","type":"Vector.InnerProductSpace a -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a -> Result.Result String.String a"},{"name":"equal","comment":" Compare two matricies using comparator\n","type":"(a -> a -> Basics.Bool) -> Typeclasses.Classes.Equality.Equality (SquareMatrix.SquareMatrix a)"},{"name":"equalImplementation","comment":" Compare two Matrices for equality\n","type":"(a -> a -> Basics.Bool) -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a -> Basics.Bool"},{"name":"gaussJordan","comment":" Function composition of Gaussian Elimination and Jordan Elimination\n","type":"Vector.VectorSpace a -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a"},{"name":"getAt","comment":" Get the value in a matrix at the specified row and column\n","type":"( Basics.Int, Basics.Int ) -> SquareMatrix.SquareMatrix a -> Maybe.Maybe a"},{"name":"getDiagonalProduct","comment":" Get the Product of the diagonal of a Matrix\n","type":"Field.Field a -> SquareMatrix.SquareMatrix a -> Maybe.Maybe a"},{"name":"identity","comment":" Create Square Identity Matrix with n dimension\n","type":"Field.Field a -> Basics.Int -> SquareMatrix.SquareMatrix a"},{"name":"isLeftStochastic","comment":" Predicate if matrix is left stochastic\n","type":"SquareMatrix.SquareMatrix Basics.Float -> Basics.Bool"},{"name":"isRightStochastic","comment":" Predicate if matrix is right stochastic\n","type":"SquareMatrix.SquareMatrix Basics.Float -> Basics.Bool"},{"name":"isSquareMatrix","comment":" Determine whether a matirx is square\n","type":"Matrix.Matrix a -> Basics.Bool"},{"name":"multiply","comment":" Square Matrix Square Matrix multiplication\n","type":"Vector.InnerProductSpace a -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a -> Result.Result String.String (SquareMatrix.SquareMatrix a)"},{"name":"multiplyMatrixVector","comment":" Multiply a Vector by a Matrix\n","type":"Vector.InnerProductSpace a -> SquareMatrix.SquareMatrix a -> ColumnVector.ColumnVector a -> Result.Result String.String (ColumnVector.ColumnVector a)"},{"name":"normComplex","comment":" Calculate the norm of a Matrix\n","type":"SquareMatrix.SquareMatrix (ComplexNumbers.ComplexNumber Basics.Float) -> Result.Result String.String Basics.Float"},{"name":"normReal","comment":" Calculate the norm of a Matrix\n","type":"SquareMatrix.SquareMatrix Basics.Float -> Result.Result String.String Basics.Float"},{"name":"realMatrixInnerProductSpace","comment":" Real Numbered Inner Product Space for Matrix\n","type":"SquareMatrix.InnerProductSpace Basics.Float"},{"name":"scalarMultiplication","comment":" Scalar multiplication over a Square Matrix\n","type":"Field.Field a -> a -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a"},{"name":"subMatrix","comment":" Calculate the submatrix given a starting and ending row and column index\n","type":"Basics.Int -> Basics.Int -> Basics.Int -> Basics.Int -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a"},{"name":"subtract","comment":" Subtract two Square Matrices\n","type":"Field.Field a -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a"},{"name":"transpose","comment":" Transpose a Matrix\n","type":"SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a"},{"name":"upperTriangle","comment":" Put a matrix into Upper Triangular Form\n","type":"Vector.VectorSpace a -> SquareMatrix.SquareMatrix a -> SquareMatrix.SquareMatrix a"},{"name":"zeroSquareMatrix","comment":" Create square Matrix with n dimension filled with zeros\n","type":"Field.Field a -> Basics.Int -> SquareMatrix.SquareMatrix a"}],"binops":[]},{"name":"SymmetricMatrix","comment":" A module for Symmetric Matrix\n\n\n# Types\n\n@docs SymmetricMatrix\n\n\n# Constructors\n\n@docs identity\n\n\n# Matrix Predicates and Properties\n\n@docs dimension\n@docs isSymmetric\n\n\n# Unitary Operations\n\n@docs scalarMultiplication\n@docs adjoint\n\n\n# Binary Operations\n\n@docs multiply\n@docs multiplyMatrixVector\n@docs subtract\n\n\n# Manipulation\n\n@docs getAt\n\n","unions":[{"name":"SymmetricMatrix","comment":" Symmetric Matrix type\n","args":["a"],"cases":[["SymmetricMatrix",["NormalMatrix.NormalMatrix a"]]]}],"aliases":[],"values":[{"name":"adjoint","comment":" Perform the adjoint operation on a Complex Numbered Matrix\n","type":"SymmetricMatrix.SymmetricMatrix (ComplexNumbers.ComplexNumber number) -> SymmetricMatrix.SymmetricMatrix (ComplexNumbers.ComplexNumber number)"},{"name":"dimension","comment":" Dimension of the matrix\n","type":"SymmetricMatrix.SymmetricMatrix a -> Basics.Int"},{"name":"getAt","comment":" Get the value in a matrix at the specified row and column\n","type":"( Basics.Int, Basics.Int ) -> SymmetricMatrix.SymmetricMatrix a -> Maybe.Maybe a"},{"name":"identity","comment":" Create Square Identity Matrix with n dimension\n","type":"Field.Field a -> Basics.Int -> SymmetricMatrix.SymmetricMatrix a"},{"name":"isSymmetric","comment":" Predicate to determine if Matrix is symmetric\n","type":"NormalMatrix.NormalMatrix a -> Basics.Bool"},{"name":"multiply","comment":" Square Matrix Square Matrix multiplication\n","type":"Vector.InnerProductSpace a -> SymmetricMatrix.SymmetricMatrix a -> SymmetricMatrix.SymmetricMatrix a -> Result.Result String.String (SymmetricMatrix.SymmetricMatrix a)"},{"name":"multiplyMatrixVector","comment":" Multiply a Vector by a Matrix\n","type":"Vector.InnerProductSpace a -> SymmetricMatrix.SymmetricMatrix a -> ColumnVector.ColumnVector a -> Result.Result String.String (ColumnVector.ColumnVector a)"},{"name":"scalarMultiplication","comment":" Scalar multiplication over a Square Matrix\n","type":"Field.Field a -> a -> SymmetricMatrix.SymmetricMatrix a -> SymmetricMatrix.SymmetricMatrix a"},{"name":"subtract","comment":" Subtract two Square Matrices\n","type":"Field.Field a -> SymmetricMatrix.SymmetricMatrix a -> SymmetricMatrix.SymmetricMatrix a -> SymmetricMatrix.SymmetricMatrix a"}],"binops":[]},{"name":"UnitaryMatrix","comment":" A module for Unitary Matrix\n\n\n# Types\n\n@docs UnitaryMatrix\n\n\n# Constructors\n\n@docs identity\n\n\n# Matrix Predicates and Properties\n\n@docs isUnitary\n@docs dimension\n\n\n# Binary Operations\n\n@docs multiply\n@docs multiplyMatrixVector\n\n\n# Manipulation\n\n@docs getAt\n\n\n# Equality\n\n@docs equal\n\n","unions":[{"name":"UnitaryMatrix","comment":" Unitary Matrix type\n","args":["number"],"cases":[["UnitaryMatrix",["InvertableMatrix.InvertableMatrix (ComplexNumbers.ComplexNumber number)"]]]}],"aliases":[],"values":[{"name":"dimension","comment":" Dimension of the matrix\n","type":"UnitaryMatrix.UnitaryMatrix number -> Basics.Int"},{"name":"equal","comment":" Compare two matricies using comparator\n","type":"(ComplexNumbers.ComplexNumber number -> ComplexNumbers.ComplexNumber number -> Basics.Bool) -> Typeclasses.Classes.Equality.Equality (UnitaryMatrix.UnitaryMatrix number)"},{"name":"getAt","comment":" Get the value in a matrix at the specified row and column\n","type":"( Basics.Int, Basics.Int ) -> UnitaryMatrix.UnitaryMatrix number -> Maybe.Maybe (ComplexNumbers.ComplexNumber number)"},{"name":"identity","comment":" Create Square Identity Matrix with n dimension\n","type":"Basics.Int -> UnitaryMatrix.UnitaryMatrix Basics.Float"},{"name":"isUnitary","comment":" Determine whether a matirx is unitary\n","type":"InvertableMatrix.InvertableMatrix (ComplexNumbers.ComplexNumber Basics.Float) -> Basics.Bool"},{"name":"multiply","comment":" Unitary Matrix Unitary Matrix multiplication\n","type":"UnitaryMatrix.UnitaryMatrix Basics.Float -> UnitaryMatrix.UnitaryMatrix Basics.Float -> Result.Result String.String (UnitaryMatrix.UnitaryMatrix Basics.Float)"},{"name":"multiplyMatrixVector","comment":" Multiply a Vector by a Unitary Matrix\n","type":"UnitaryMatrix.UnitaryMatrix Basics.Float -> ColumnVector.ColumnVector (ComplexNumbers.ComplexNumber Basics.Float) -> Result.Result String.String (ColumnVector.ColumnVector (ComplexNumbers.ComplexNumber Basics.Float))"}],"binops":[]},{"name":"Vector","comment":" A module for Vectors\n\n\n# Types\n\n@docs Vector\n@docs Vector3\n@docs Scalar\n@docs VectorSpace\n@docs InnerProductSpace\n\n\n# Values\n\n@docs realVectorSpace\n@docs realVectorAbelianGroup\n@docs realInnerProductSpace\n@docs complexVectorSpace\n@docs complexVectorAbelianGroup\n@docs complexInnerProductSpace\n@docs zeros\n\n\n# Unitary Operations\n\n@docs scalarMultiplication\n@docs lengthReal\n@docs lengthComplex\n@docs sum\n@docs normaliseReal\n@docs normaliseComplex\n@docs conjugate\n\n\n# Binary Operations\n\n@docs add\n@docs subtract\n@docs hadamardMultiplication\n@docs dotProduct\n@docs angleBetween\n@docs cross\n@docs tensorProduct\n@docs distanceComplex\n@docs distanceReal\n\n\n# Vector Properties\n\n@docs dimension\n@docs vectorSubspace\n@docs all\n\n\n# SemiGroup, Monoid, Group, Ring, Field\n\n@docs empty\n@docs append\n@docs concat\n@docs realVectorCommutativeSemigroup, complexVectorCommutativeSemigroup\n@docs realVectorCommutativeMonoid, complexVectorCommutativeMonoid\n\n\n# Functor, Applicative, Monad, Foldable\n\n@docs map\n@docs pure\n@docs andMap\n@docs map2\n@docs andThen\n@docs foldl\n\n\n# Equality\n\n@docs equal\n@docs equalImplementation\n\n\n# Manipulation\n\n@docs findIndex\n@docs getAt\n@docs setAt\n@docs parseVector\n@docs printRealVector\n@docs printComplexVector\n@docs readRealVector\n@docs readComplexVector\n@docs vector3ToVector\n@docs negativeOrPositiveFloat\n\n","unions":[{"name":"Scalar","comment":" Type to represent a scalar value\n","args":["a"],"cases":[["Scalar",["a"]]]},{"name":"Vector","comment":" Vector type\n","args":["a"],"cases":[["Vector",["List.List a"]]]},{"name":"Vector3","comment":" 3 Dimensional Vector type\n","args":["a"],"cases":[["Vector3",["a","a","a"]]]}],"aliases":[{"name":"InnerProductSpace","comment":" Type to represent an Inner Product Space\n","args":["a"],"type":"{ vectorSpace : Vector.VectorSpace a, innerProduct : Vector.Vector a -> Vector.Vector a -> a, length : Vector.Vector a -> Basics.Float, distance : Vector.Vector a -> Vector.Vector a -> Basics.Float }"},{"name":"VectorSpace","comment":" Type to represent a Vector Space\n","args":["a"],"type":"{ abelianGroup : AbelianGroup.AbelianGroup (Vector.Vector a), vectorScalarMultiplication : a -> Vector.Vector a -> Vector.Vector a, field : Field.Field a }"}],"values":[{"name":"add","comment":" Add two Vectors\n","type":"Field.Field a -> Vector.Vector a -> Vector.Vector a -> Vector.Vector a"},{"name":"all","comment":" Determine if all elements in a vector satisfy some test\n","type":"(a -> Basics.Bool) -> Vector.Vector a -> Basics.Bool"},{"name":"andMap","comment":" Apply for Vector\n","type":"Vector.Vector a -> Vector.Vector (a -> b) -> Vector.Vector b"},{"name":"andThen","comment":" andThen for Vector\n","type":"(a -> Vector.Vector b) -> Vector.Vector a -> Vector.Vector b"},{"name":"angleBetween","comment":" Calculate the angle between two vectors\n","type":"Vector.Vector Basics.Float -> Vector.Vector Basics.Float -> Basics.Float"},{"name":"append","comment":" Append Vectors together\n","type":"Vector.Vector a -> Vector.Vector a -> Vector.Vector a"},{"name":"complexInnerProductSpace","comment":" Complex Numbered Inner Product Space\n","type":"Vector.InnerProductSpace (ComplexNumbers.ComplexNumber Basics.Float)"},{"name":"complexVectorAbelianGroup","comment":" Group instance for a complex valued Vector.\n","type":"AbelianGroup.AbelianGroup (Vector.Vector (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"complexVectorCommutativeMonoid","comment":" Commutative Monoid instance for a complex valued Vector.\n","type":"CommutativeMonoid.CommutativeMonoid (Vector.Vector (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"complexVectorCommutativeSemigroup","comment":" Commutative Semigroup instance for a complex valued Vector.\n","type":"CommutativeSemigroup.CommutativeSemigroup (Vector.Vector (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"complexVectorSpace","comment":" Complex Numbered Vector Space\n","type":"Vector.VectorSpace (ComplexNumbers.ComplexNumber Basics.Float)"},{"name":"concat","comment":" Monoidally append Vectors together\n","type":"Monoid.Monoid (Vector.Vector a)"},{"name":"conjugate","comment":" Take the complex conjugate of a Complex Numbered Vector\n","type":"Vector.Vector (ComplexNumbers.ComplexNumber number) -> Vector.Vector (ComplexNumbers.ComplexNumber number)"},{"name":"cross","comment":" Take the cross product of two 3D vectors\n","type":"CommutativeDivisionRing.CommutativeDivisionRing a -> Vector.Vector3 a -> Vector.Vector3 a -> Vector.Vector3 a"},{"name":"dimension","comment":" Count of number of elements in a vector\n","type":"Vector.Vector a -> Basics.Int"},{"name":"distanceComplex","comment":" Calculate distance between two vectors\n","type":"Vector.Vector (ComplexNumbers.ComplexNumber Basics.Float) -> Vector.Vector (ComplexNumbers.ComplexNumber Basics.Float) -> Basics.Float"},{"name":"distanceReal","comment":" Calculate distance between two vectors\n","type":"Vector.Vector Basics.Float -> Vector.Vector Basics.Float -> Basics.Float"},{"name":"dotProduct","comment":" Calculate the dot product of two Vectors\n","type":"Field.Field a -> Vector.Vector a -> Vector.Vector a -> a"},{"name":"empty","comment":" Monoid empty for Vector\n","type":"Vector.Vector a"},{"name":"equal","comment":" `Equal` type for `Vector`.\n","type":"(a -> a -> Basics.Bool) -> Typeclasses.Classes.Equality.Equality (Vector.Vector a)"},{"name":"equalImplementation","comment":" Compare two Vectors for equality\n","type":"(a -> a -> Basics.Bool) -> Vector.Vector a -> Vector.Vector a -> Basics.Bool"},{"name":"findIndex","comment":" Find index of a value in a Vector\n","type":"(a -> Basics.Bool) -> Vector.Vector a -> Maybe.Maybe Basics.Int"},{"name":"foldl","comment":" Left fold over a Vector\n","type":"(a -> b -> b) -> b -> Vector.Vector a -> b"},{"name":"getAt","comment":" Get the value in a Vector at the specified index\n","type":"Basics.Int -> Vector.Vector a -> Maybe.Maybe a"},{"name":"hadamardMultiplication","comment":" Hadamard Multiplication Vectors\n","type":"Field.Field a -> Vector.Vector a -> Vector.Vector a -> Vector.Vector a"},{"name":"lengthComplex","comment":" Calculate the length of a Complex valued Vector\n","type":"Vector.Vector (ComplexNumbers.ComplexNumber Basics.Float) -> Basics.Float"},{"name":"lengthReal","comment":" Calculate the length of a Real valued Vector\n","type":"Vector.Vector Basics.Float -> Basics.Float"},{"name":"map","comment":" Map over a vector\n","type":"(a -> b) -> Vector.Vector a -> Vector.Vector b"},{"name":"map2","comment":" Lift a binary function to work with Vectors\n","type":"(a -> b -> c) -> Vector.Vector a -> Vector.Vector b -> Vector.Vector c"},{"name":"negativeOrPositiveFloat","comment":" Parse a Float that can be negative or positive\n","type":"Parser.Parser Basics.Float"},{"name":"normaliseComplex","comment":" Adjust a real valued vector so that its length is exactly one\n","type":"Vector.Vector (ComplexNumbers.ComplexNumber Basics.Float) -> Vector.Vector (ComplexNumbers.ComplexNumber Basics.Float)"},{"name":"normaliseReal","comment":" Adjust a real valued vector so that its length is exactly one\n","type":"Vector.Vector Basics.Float -> Vector.Vector Basics.Float"},{"name":"parseVector","comment":" Parse a Vector\n","type":"Parser.Parser a -> Parser.Parser (Vector.Vector a)"},{"name":"printComplexVector","comment":" Print a Complex Vector as a string\n","type":"Vector.Vector (ComplexNumbers.ComplexNumber Basics.Float) -> String.String"},{"name":"printRealVector","comment":" Print a Real Vector as a string\n","type":"Vector.Vector Basics.Float -> String.String"},{"name":"pure","comment":" Place a value in minimal Vector context\n","type":"a -> Vector.Vector a"},{"name":"readComplexVector","comment":" Try to read a string into a Complex Vector\n","type":"String.String -> Result.Result (List.List Parser.DeadEnd) (Vector.Vector (ComplexNumbers.ComplexNumber Basics.Float))"},{"name":"readRealVector","comment":" Try to read a string into a Real Vector\n","type":"String.String -> Result.Result (List.List Parser.DeadEnd) (Vector.Vector Basics.Float)"},{"name":"realInnerProductSpace","comment":" Real Numbered Inner Product Space\n","type":"Vector.InnerProductSpace Basics.Float"},{"name":"realVectorAbelianGroup","comment":" Abelian Group instance for a real valued Vector.\n","type":"AbelianGroup.AbelianGroup (Vector.Vector Basics.Float)"},{"name":"realVectorCommutativeMonoid","comment":" Commutative Monoid instance for a real valued Vector.\n","type":"CommutativeMonoid.CommutativeMonoid (Vector.Vector Basics.Float)"},{"name":"realVectorCommutativeSemigroup","comment":" Commutative Semigroup instance for a real valued Vector.\n","type":"CommutativeSemigroup.CommutativeSemigroup (Vector.Vector Basics.Float)"},{"name":"realVectorSpace","comment":" Real Numbered Vector Space\n","type":"Vector.VectorSpace Basics.Float"},{"name":"scalarMultiplication","comment":" Scalar multiplication over a Vector s\n","type":"Field.Field a -> a -> Vector.Vector a -> Vector.Vector a"},{"name":"setAt","comment":" Set the value in a Vector at the specified index\n","type":"Basics.Int -> a -> Vector.Vector a -> Vector.Vector a"},{"name":"subtract","comment":" Subtract Vectors\n","type":"Field.Field a -> Vector.Vector a -> Vector.Vector a -> Vector.Vector a"},{"name":"sum","comment":" Calculate the sum of a Vector\n","type":"Monoid.Monoid a -> Vector.Vector a -> a"},{"name":"tensorProduct","comment":" Calculate the tensor product of two vectors\n","type":"Field.Field a -> Vector.Vector a -> Vector.Vector a -> Vector.Vector a"},{"name":"vector3ToVector","comment":" Convert a Vector3 type to a Vector type\n","type":"Vector.Vector3 a -> Vector.Vector a"},{"name":"vectorSubspace","comment":" Determine whether a list of Vectors makes a Subspace\n","type":"Field.Field a -> AbelianGroup.AbelianGroup (Vector.Vector a) -> Vector.Scalar a -> List.List (Vector.Vector a) -> List.List (a -> Basics.Bool) -> Basics.Bool"},{"name":"zeros","comment":" Zero vector given a Field and dimension\n","type":"Monoid.Monoid a -> Basics.Int -> Vector.Vector a"}],"binops":[]}]