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.
- 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)