Idris2Doc : Libraries.Data.SparseMatrix

Libraries.Data.SparseMatrix

(source)

Definitions

Vector : Type->Type
  A sparse vector is a list of pairs consisting of an index and its
corresponding element.

Invariants:
- indices must appear in order and should to be duplicate-free,
- elements must be additively non-neutral,
- missing entries are assumed to be neutral.

Totality: total
Visibility: public export
fromList : (Eqa, Semiringa) =>Lista->Vectora
  Turns a list into a sparse vector, discarding neutral elements in
the process.

Totality: total
Visibility: export
insert : Nat->a->Vectora->Vectora
  Insert `x` at index `i`. Ignore if the `i`th element already
exists.

@ x must not be neutral

Totality: total
Visibility: export
lookupOrd : Ordk=>k->List (k, a) ->Maybea
Totality: total
Visibility: export
maxIndex : Vectora->MaybeNat
Totality: total
Visibility: export
length : Vectora->Nat
Totality: total
Visibility: export
dot : Semiringa=>Vectora->Vectora->a
Totality: total
Visibility: export
Vector1 : Type->Type
Totality: total
Visibility: public export
fromList : (Eqa, Semiringa) =>Lista->Maybe (Vector1a)
Totality: total
Visibility: export
insert : Nat->a->Vector1a->Vector1a
Totality: total
Visibility: export
lookupOrd : Ordk=>k->List1 (k, a) ->Maybea
Totality: total
Visibility: export
maxIndex : Vector1a->Nat
Totality: total
Visibility: export
Matrix : Type->Type
  A sparse matrix is a sparse vector of (non-empty) sparse vectors.

Totality: total
Visibility: public export
fromListList : (Eqa, Semiringa) =>List (Lista) ->Matrixa
Totality: total
Visibility: export
transpose : Matrixa->Matrixa
Totality: total
Visibility: export
mult : (Eqa, Semiringa) =>Matrixa->Matrixa->Matrixa
Totality: total
Visibility: export
prettyTable : Prettyanna=>String->String->Nat->Matrixa->Docann
  Renders a matrix as an ASCII table of the following shape:

```
columnSpacing
__
columnDesc 0 1 ...
rowDesc +--------------------
0 | a b
1 | c d
... | ...
```

Note: everything is sadly left-aligned.

@ maxWidthA Maximal length rendering something of type `a` might reach.

Totality: total
Visibility: export