2020-10-02 18:55:19 +02:00
|
|
|
val canonical_ortho: ?thresh:float -> overlap:('a,'a) Matrix.t -> ('a,'b) Matrix.t ->
|
|
|
|
('a,'b) Matrix.t
|
2020-09-26 12:02:53 +02:00
|
|
|
(** Canonical orthogonalization. [overlap] is the overlap matrix {% $\mathbf{S}$ %},
|
|
|
|
and the last argument contains the vectors {% $\mathbf{C}$ %} to orthogonalize.
|
|
|
|
|
|
|
|
{%
|
|
|
|
$$
|
|
|
|
\mathbf{C_\bot} = \mathbf{C\, U\, D^{-1/2}}, \;
|
|
|
|
\mathbf{U\, D\, V^\dag} = \mathbf{S}
|
|
|
|
$$
|
|
|
|
%}
|
|
|
|
|
|
|
|
*)
|
|
|
|
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val qr_ortho: ('a,'b) Matrix.t -> ('a,'b) Matrix.t
|
2020-09-26 12:02:53 +02:00
|
|
|
(** QR orthogonalization of the input matrix *)
|
|
|
|
|
|
|
|
|