2020-04-16 19:49:23 +02:00
|
|
|
(** Multipole atomic integrals:
|
|
|
|
|
|
|
|
{% $$ \langle \chi_i | x | \chi_j \rangle $$ %}
|
|
|
|
{% $$ \langle \chi_i | y | \chi_j \rangle $$ %}
|
|
|
|
{% $$ \langle \chi_i | z | \chi_j \rangle $$ %}
|
|
|
|
{% $$ \langle \chi_i | x^2 | \chi_j \rangle $$ %}
|
|
|
|
{% $$ \langle \chi_i | y^2 | \chi_j \rangle $$ %}
|
|
|
|
{% $$ \langle \chi_i | z^2 | \chi_j \rangle $$ %}
|
|
|
|
|
|
|
|
*)
|
|
|
|
|
2020-10-09 09:47:57 +02:00
|
|
|
open Linear_algebra
|
2020-10-10 10:59:09 +02:00
|
|
|
open Gaussian
|
2020-04-16 19:49:23 +02:00
|
|
|
|
2020-10-07 17:54:15 +02:00
|
|
|
type t = (Basis.t, Basis.t) Matrix.t array
|
2020-04-16 19:49:23 +02:00
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_x : t -> (Basis.t, Basis.t) Matrix.t
|
2020-04-16 19:49:23 +02:00
|
|
|
(** {% $$ \langle \chi_i | x | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_y : t -> (Basis.t, Basis.t) Matrix.t
|
2020-04-16 19:49:23 +02:00
|
|
|
(** {% $$ \langle \chi_i | y | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_z : t -> (Basis.t, Basis.t) Matrix.t
|
2020-04-16 19:49:23 +02:00
|
|
|
(** {% $$ \langle \chi_i | z | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_x2 : t -> (Basis.t, Basis.t) Matrix.t
|
2020-04-16 19:49:23 +02:00
|
|
|
(** {% $$ \langle \chi_i | x^2 | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_xy : t -> (Basis.t, Basis.t) Matrix.t
|
2020-09-26 12:02:53 +02:00
|
|
|
(** {% $$ \langle \chi_i | xy | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_yz : t -> (Basis.t, Basis.t) Matrix.t
|
2020-09-26 12:02:53 +02:00
|
|
|
(** {% $$ \langle \chi_i | yz | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_xz : t -> (Basis.t, Basis.t) Matrix.t
|
2020-09-26 12:02:53 +02:00
|
|
|
(** {% $$ \langle \chi_i | xz | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_y2 : t -> (Basis.t, Basis.t) Matrix.t
|
2020-04-16 19:49:23 +02:00
|
|
|
(** {% $$ \langle \chi_i | y^2 | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_z2 : t -> (Basis.t, Basis.t) Matrix.t
|
2020-04-16 19:49:23 +02:00
|
|
|
(** {% $$ \langle \chi_i | z^2 | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_x3 : t -> (Basis.t, Basis.t) Matrix.t
|
2020-07-08 11:37:43 +02:00
|
|
|
(** {% $$ \langle \chi_i | x^3 | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_y3 : t -> (Basis.t, Basis.t) Matrix.t
|
2020-07-08 11:37:43 +02:00
|
|
|
(** {% $$ \langle \chi_i | y^3 | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_z3 : t -> (Basis.t, Basis.t) Matrix.t
|
2020-07-08 11:37:43 +02:00
|
|
|
(** {% $$ \langle \chi_i | z^3 | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_x4 : t -> (Basis.t, Basis.t) Matrix.t
|
2020-07-08 11:37:43 +02:00
|
|
|
(** {% $$ \langle \chi_i | x^4 | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_y4 : t -> (Basis.t, Basis.t) Matrix.t
|
2020-07-08 11:37:43 +02:00
|
|
|
(** {% $$ \langle \chi_i | y^4 | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-10-02 18:55:19 +02:00
|
|
|
val matrix_z4 : t -> (Basis.t, Basis.t) Matrix.t
|
2020-07-08 11:37:43 +02:00
|
|
|
(** {% $$ \langle \chi_i | z^4 | \chi_j \rangle $$ %} *)
|
|
|
|
|
2020-04-16 19:49:23 +02:00
|
|
|
val of_basis : Basis.t -> t
|
2020-10-12 08:57:00 +02:00
|
|
|
|
|
|
|
val to_file : filename:string -> (Basis.t, Basis.t) Matrix.t -> unit
|
|
|
|
(** Write a matrix to a file *)
|
|
|
|
|