package scipy

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type tag = [
  1. | `LowRankMatrix
]
type t = [ `LowRankMatrix | `Object ] Obj.t
val of_pyobject : Py.Object.t -> t
val to_pyobject : [> tag ] Obj.t -> Py.Object.t
val create : alpha:Py.Object.t -> n:Py.Object.t -> dtype:Py.Object.t -> unit -> t

A matrix represented as

.. math:: \alpha I + \sum_n=0^n=M c_n d_n^\dagger

However, if the rank of the matrix reaches the dimension of the vectors, full matrix representation will be used thereon.

val append : c:Py.Object.t -> d:Py.Object.t -> [> tag ] Obj.t -> Py.Object.t

None

val collapse : [> tag ] Obj.t -> Py.Object.t

Collapse the low-rank matrix to a full-rank one.

val matvec : v:Py.Object.t -> [> tag ] Obj.t -> Py.Object.t

Evaluate w = M v

val restart_reduce : rank:Py.Object.t -> [> tag ] Obj.t -> Py.Object.t

Reduce the rank of the matrix by dropping all vectors.

val rmatvec : v:Py.Object.t -> [> tag ] Obj.t -> Py.Object.t

Evaluate w = M^H v

val rsolve : ?tol:Py.Object.t -> v:Py.Object.t -> [> tag ] Obj.t -> Py.Object.t

Evaluate w = M^-H v

val simple_reduce : rank:Py.Object.t -> [> tag ] Obj.t -> Py.Object.t

Reduce the rank of the matrix by dropping oldest vectors.

val solve : ?tol:Py.Object.t -> v:Py.Object.t -> [> tag ] Obj.t -> Py.Object.t

Evaluate w = M^-1 v

val svd_reduce : ?to_retain:int -> max_rank:int -> [> tag ] Obj.t -> Py.Object.t

Reduce the rank of the matrix by retaining some SVD components.

This corresponds to the 'Broyden Rank Reduction Inverse' algorithm described in 1_.

Note that the SVD decomposition can be done by solving only a problem whose size is the effective rank of this matrix, which is viable even for large problems.

Parameters ---------- max_rank : int Maximum rank of this matrix after reduction. to_retain : int, optional Number of SVD components to retain when reduction is done (ie. rank > max_rank). Default is ``max_rank - 2``.

References ---------- .. 1 B.A. van der Rotten, PhD thesis, 'A limited memory Broyden method to solve high-dimensional systems of nonlinear equations'. Mathematisch Instituut, Universiteit Leiden, The Netherlands (2003).

https://web.archive.org/web/20161022015821/http://www.math.leidenuniv.nl/scripties/Rotten.pdf

val to_string : t -> string

Print the object to a human-readable representation.

val show : t -> string

Print the object to a human-readable representation.

val pp : Stdlib.Format.formatter -> t -> unit

Pretty-print the object to a formatter.

OCaml

Innovation. Community. Security.