Numeric.LinearAlgebra.Sparse

Additive ring

class Additive f

negated

(^-^)

Vector space

class VectorSpace f

lerp

Hilbert space (inner product)

class Hilbert f

Normed vector space

class Normed f

Norms and related results

squared 2-norm

normSq

L1 norm

norm1

Euclidean norm

norm2

Lp norm (p > 0)

normP

infinity-norm

normInfty

normalize w.r.t. p-norm (p finite)

normalize

Lp inner product (p > 0)

dotLp

reciprocal

reciprocal

scale

scale

FiniteDim : finite-dimensional objects

class FiniteDim f

withDim

withDim2

HasData : accessing inner data (do not export)

class HasData f a

Sparse : sparse datastructures

class Sparse f a

Set : things that behave as sets (e.g. of which we can take the union and the intersection)

class Set f

Sparse Vector

data SpVector a

spySV

zeroSV

singletonSV

Create new sparse vector

mkSpVector

mkSpVectorD

mkSpVector1

fromListDenseSV

onesSV

zerosSV

insertSpVector

fromListSV

toListSV

toDenseListSV

lookupDenseSV

tailSV

headSV

concatSV

svToSM

Outer vector product

outerProdSV

(><)

Sparse Matrix

data SpMatrix a

maxTup

minTup

emptySpMatrix

multiply matrix by a scalar

matScale

Frobenius norm (sqrt of trace of M^T M)

normFrobenius

Matrix metadata

type Rows

type Cols

type IxRow

type IxCol

Predicates

validIxSM

isSquareSM

isDiagonalSM

immSM

dimSM

nelSM

nrows

ncols

SpMatrix information

data SMInfo

infoSM

nzSM

spySM

Non-zero elements in a row

nzRow

Mandwidth bounds (min, max)

bwMinSM

bwMaxSM

bwBoundsSM

Sparse matrix builders

zeroSM

insertSpMatrix

fromListSM'

fromListSM

fromListDenseSM

toDenseListSM

Diagonal matrix

mkDiagonal

Identity matrix

eye

Create Super- or sub- diagonal matrix

mkSubDiagonal

Sub-matrices

extractSubmatrixSM

toSV

Extract j'th column

extractColSM

extractCol

Extract i'th row

extractRowSM

extractRow

Matrix stacking

vertStackSM

(-=-)

horizStackSM

(-||-)

Matrix element lookup

lookupSM

lookupWD_SM

(@@)

lookupWD_IM

Misc. SpMatrix operations

foldlSM

ifoldlSM

countSubdiagonalNZSM

extractDiagonalDSM

subdiagIndicesSM

sparsify : remove almost-0 elements (i.e. if |x| < eps)

sparsifyIM2

sparsifySM

Rounding operations (!!!)

roundZeroOneSM

Primitive algebra operations

transposeSM

(#^)

Matrix action on a vector

matVec

(#>)

vecMat

(<#)

Matrix-matrix product

matMat

(##)

Matrix-matrix product, sparsified

matMatSparsified

(#~#)

Sparsified matrix products

(#^#)

(##^)

Predicates

isOrthogonalSM

Condition number

conditionNumberSM

Householder transformation

hhMat

hhRefl

Givens rotation matrix

hypot

sign

givensCoef

givens

firstNonZeroColumn

candidateRows

QR decomposition

qr

gmats

Eigenvalue algorithms

All eigenvalues using QR algorithm

eigsQR

One eigenvalue and corresponding eigenvector, using Rayleigh iteration

rayleighStep

eigRayleigh

Householder vector (G & VL Alg. 5.1.1, function house)

hhV

SVD

LINEAR SOLVERS : solve A x = b

eps

residual

converged

CGS

cgsStep

data CGS

cgs

BiCSSTAB

bicgstabStep

data BICGSTAB

bicgstab

LINEAR SOLVERS INTERFACE

data LinSolveMethod

linSolveM

linSolve

(<\>)

Pretty printing of SpVector and SpMatrix

sizeStr

showNonZero

toDenseRow

toDenseRowClip

newline

printDenseSM

toDenseListClip

printDenseSV

Pretty printer typeclass

class PrintDense a

Control primitives for bounded iteration with convergence check

modifyUntil

loopUntilAcc

modifyInspectN

meanl

norm2l

diffSqL

untilConverged

normDiffConverged

runAppendN

runAppendN'

Rounding operations

almostZero

almostOne

withDefault

roundZero

roundOne

with2Defaults

roundZeroOne

Random matrices and vectors

randMat

randVec

randSpMat

randSpVec

Misc. utilities

denseIxArray

denseIxArray2

foldrMap

foldlStrict

ifoldr

Bounds checking

type LB

type UB

inBounds

inBounds2

inBounds0

inBounds02