jonathanfishbein1 / linear-algebra / RowVector

A module for Row Vector

Types


type RowVector a
    = RowVector (Vector a)

Row Vector


type alias VectorSpace a =
{ abelianGroup : AbelianGroup (RowVector a)
, vectorScalarMultiplication : a -> RowVector a -> RowVector a
, field : Field a 
}

Type to represent a Vector Space


type alias InnerProductSpace a =
{ vectorSpace : VectorSpace a
, innerProduct : RowVector a -> RowVector a -> a
, length : RowVector a -> Real Basics.Float
, distance : RowVector a -> RowVector a -> Real Basics.Float 
}

Type to represent an Inner Product Space

Unitary Operations

scalarMultiplication : Field a -> a -> RowVector a -> RowVector a

Scalar multiplication over a RowVector

sum : Monoid a -> RowVector a -> a

Calculate the sum of a RowVector

RowVector Predicates and Properties

dimension : RowVector a -> Basics.Int

Count of number of elements in a vector

all : (a -> Basics.Bool) -> RowVector a -> Basics.Bool

Predicate to determine if all values in the RowVector satisfy the given predicate

count : (a -> Basics.Bool) -> RowVector a -> Basics.Int

Count the number of elements in a RowVector that satisfy the given condition

SemiGroup, Monoid, Group, Ring, Field instances

realVectorSpace : VectorSpace (Real Basics.Float)

Real Numbered Vector Space

complexVectorSpace : VectorSpace (ComplexNumbers.ComplexNumber Basics.Float)

Complex Numbered Vector Space

realInnerProductSpace : InnerProductSpace (Real Basics.Float)

Real Numbered Inner Product Space

complexInnerProductSpace : InnerProductSpace (ComplexNumbers.ComplexNumber Basics.Float)

Complex Numbered Inner Product Space

Monoid, Functor, Applicative, Monad, Foldable

empty : RowVector a

Monoid empty for RowVector

append : RowVector a -> RowVector a -> RowVector a

Append Vectors together

pure : a -> RowVector a

Place a value in minimal RowVector context

map : (a -> b) -> RowVector a -> RowVector b

map over a RowVector

map2 : (a -> b -> c) -> RowVector a -> RowVector b -> RowVector c

map2 over a RowVector

foldl : (a -> b -> b) -> b -> RowVector a -> b

Left fold over a RowVector

Manipulation

findIndex : (a -> Basics.Bool) -> RowVector a -> Maybe Basics.Int

Find index of a value in a Vector

getAt : Basics.Int -> RowVector a -> Maybe a

Get the value in a Vector at the specified index

setAt : Basics.Int -> a -> RowVector a -> RowVector a

Set the value in a Vector at the specified index

parseRowVector : Parser a -> Parser (RowVector a)

Parse a RowVector

printRealRowVectorList : List (RowVector (Real Basics.Float)) -> String

Print a Real RowVector List to a string

printComplexRowVectorList : List (RowVector (ComplexNumbers.ComplexNumber Basics.Float)) -> String

Print a Complex RowVector List to a string