Playing with Ocaml
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
deps
.gitignore
.merlin
LICENSE
Makefile
_tags
bench.ml
floatarrays.ml
hilbertspace.ml
infinite.ml
polynomials.ml
readme.md
test.ml

readme.md

Numerical Linear Algebra in the Abstract

Not an Ocaml expert, but playing with its facilities for abstraction to try and define important numerical linear algebra computations in the abstract, ideally without direct reference to matrix or vector entries, or even the underlying representation of numbers.

These will not be efficient, nor probably interesting to anyone else.

What is implemented thus far?

  • Gram-schmidt orthogonalization
  • Operator adjoint
    • Computed via Riesz representation theorem argument
  • Operator norm
    • Computed as sqrt of spectral radius of A'*A where A' is adjoint of A
    • Uses power iteration
    • (So may not converge if spectral radius has multiplicity>1)