2018-05-28 19:58:40 +02:00
|
|
|
(** Conversion from spherical coordinate to cartesian corrdinates. *)
|
|
|
|
|
2018-05-30 01:15:45 +02:00
|
|
|
val matrix : AngularMomentum.t -> Lacaml.D.Mat.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:
|
|
|
|
{[
|
|
|
|
SphericalToCartesian.matrix AngularMomentum.D ->
|
|
|
|
]}
|
|
|
|
*)
|
|
|
|
|
2018-05-28 19:58:40 +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
|
2018-05-28 19:58:40 +02:00
|
|
|
SphericalToCartesian.index ~nx ~ny ~nz -> 8
|
2018-05-09 20:02:49 +02:00
|
|
|
]}
|
|
|
|
*)
|