mirror of
https://gitlab.com/scemama/QCaml.git
synced 2025-01-09 12:43:56 +01:00
22 lines
538 B
OCaml
22 lines
538 B
OCaml
|
type t
|
||
|
|
||
|
val make :
|
||
|
?guess:('a, 'b) Matrix.t ->
|
||
|
?n_states:int ->
|
||
|
?n_iter:int ->
|
||
|
?threshold:float ->
|
||
|
'a Vector.t ->
|
||
|
(('a, 'b) Matrix.t -> ('a, 'b) Matrix.t) ->
|
||
|
('a, 'b) Matrix.t * 'b Vector.t
|
||
|
|
||
|
(** Performs a Davidson diagonalization. Example:
|
||
|
|
||
|
let eigenvectors, eigenvalues =
|
||
|
Davidson.make diagonal mat_prod
|
||
|
|
||
|
- [diagonal] contains the diagonal of the matrix to diagonalize
|
||
|
- [mat_prod] is a function performing a matrix multiplication of the matrix to
|
||
|
diagonalize with the matrix containing the current set of vectors
|
||
|
*)
|
||
|
|