mirror of
https://gitlab.com/scemama/QCaml.git
synced 2025-01-03 01:55:40 +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
|
|
*)
|
|
|