10
1
mirror of https://gitlab.com/scemama/QCaml.git synced 2024-07-12 06:13:37 +02:00
QCaml/linear_algebra/lib/spherical_to_cartesian.mli

31 lines
829 B
OCaml
Raw Normal View History

(** Conversion from spherical coordinate to cartesian corrdinates. *)
2020-10-09 09:47:57 +02:00
open Common
2020-09-26 12:02:53 +02:00
2020-10-02 18:55:19 +02:00
type num_cartesian_ao
type num_spherical_ao
val matrix : Angular_momentum.t -> (num_cartesian_ao, num_spherical_ao) Matrix.t
2018-05-09 20:02:49 +02:00
(** Returns a transformation matrix to rotate between the basis of atom-centered
spherical coordinates to x,y,z coordinates.
The first index of the result matrix is the index of the cartesian shell, as
obtained by the [index] function, and the second index is the index of the
spherical shell.
Example:
{[
2020-09-26 12:02:53 +02:00
SphericalToCartesian.matrix Angular_momentum.D ->
2018-05-09 20:02:49 +02:00
]}
*)
val index : nx:int -> ny:int -> nz:int -> int
2018-05-09 20:02:49 +02:00
(** Unique index given to a triplet of powers. Used to identify a cartesian shell.
Example:
{[
let nx, ny, nz = 3, 2, 1 in
SphericalToCartesian.index ~nx ~ny ~nz -> 8
2018-05-09 20:02:49 +02:00
]}
*)