jonathanfishbein1 / linear-algebra / UnitaryMatrix

A module for Unitary Matrix

Types


type UnitaryMatrix number
    = UnitaryMatrix (InvertableMatrix (ComplexNumbers.ComplexNumber number))

Unitary Matrix type

Values

empty : UnitaryMatrix Basics.Float

Monoid empty for UnitaryMatrix

Constructors

identity : Basics.Int -> UnitaryMatrix Basics.Float

Create Square Identity Matrix with n dimension

Matrix Predicates and Properties

isUnitary : InvertableMatrix (ComplexNumbers.ComplexNumber Basics.Float) -> Result String (InvertableMatrix (ComplexNumbers.ComplexNumber Basics.Float))

Determine whether a matirx is unitary

dimension : UnitaryMatrix number -> Basics.Int

Dimension of the matrix

Unitary Operations

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

Scalar multiplication over an InvertableMatrix Matrix

Binary Operations

multiply : UnitaryMatrix Basics.Float -> UnitaryMatrix Basics.Float -> UnitaryMatrix Basics.Float

Square Matrix Square Matrix multiplication

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

Unitary Matrix Unitary Matrix multiplication

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

Multiply a ColumnVector by a Unitary Matrix

Manipulation

getAt : ( Basics.Int, Basics.Int ) -> UnitaryMatrix 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 -> UnitaryMatrix number -> UnitaryMatrix number

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

Equality

equal : Typeclasses.Classes.Equality.Equality (UnitaryMatrix Basics.Float)

Compare two matricies using comparator