jonathanfishbein1 / linear-algebra / HermitianMatrix

A module for Hermitian Matrix

Types


type HermitianMatrix number
    = HermitianMatrix (SymmetricMatrix (ComplexNumbers.ComplexNumber number))

Hermitian Matrix type

Matrix Predicates and Properties

isHermitian : SymmetricMatrix (ComplexNumbers.ComplexNumber number) -> Result String (SymmetricMatrix (ComplexNumbers.ComplexNumber number))

Predicate to determine if Matrix is Hermitian

dimension : HermitianMatrix number -> Basics.Int

Dimension of the matrix

Unitary Operations

identity : Basics.Int -> HermitianMatrix Basics.Float

Create Square Identity Matrix with n dimension with Complex Numbers

scalarMultiplication : ComplexNumbers.ComplexNumber Basics.Float -> HermitianMatrix Basics.Float -> HermitianMatrix Basics.Float

Scalar multiplication over a Hermitian Matrix

Binary Operations

multiplyIfCan : HermitianMatrix Basics.Float -> HermitianMatrix Basics.Float -> Result String (HermitianMatrix Basics.Float)

Hermitian Matrix Hermitian Matrix multiplication

multiplyMatrixVector : HermitianMatrix Basics.Float -> ColumnVector (ComplexNumbers.ComplexNumber Basics.Float) -> Result String (ColumnVector (ComplexNumbers.ComplexNumber Basics.Float))

Multiply a ColumnVector by a Hermitian Matrix

subtract : HermitianMatrix Basics.Float -> HermitianMatrix Basics.Float -> HermitianMatrix Basics.Float

Subtract two Hermitian Matrices

Manipulation

getAt : ( Basics.Int, Basics.Int ) -> HermitianMatrix number -> Maybe (ComplexNumbers.ComplexNumber number)

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

setAt : ( Basics.Int, Basics.Int ) -> ComplexNumbers.ComplexNumber number -> HermitianMatrix number -> HermitianMatrix number

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