mirror of
https://github.com/LCPQ/quantum_package
synced 2024-08-25 05:51:46 +02:00
27 lines
823 B
OCaml
27 lines
823 B
OCaml
(** Determinants are stored as follows :
|
|
* <-------- N_int ---------->
|
|
* [| i1_alpha ; i2_alpha ; ... ;
|
|
* i1_beta ; i2_beta ; ... ; |]
|
|
* where each int64 is a list of 64 MOs. When the bit is set
|
|
* to 1, the MO is occupied.
|
|
*)
|
|
type t = int64 array with sexp
|
|
|
|
(** Transform to an int64 array *)
|
|
val to_int64_array : t -> int64 array
|
|
|
|
(** Create from an int64 array *)
|
|
val of_int64_array : Qptypes.N_int_number.t -> int64 array -> t
|
|
|
|
(** Split into an alpha-only and a beta-only determinant *)
|
|
val to_alpha_beta : t -> (int64 array)*(int64 array)
|
|
|
|
(** Transform to a bit list *)
|
|
val to_bitlist_couple : t -> Bitlist.t * Bitlist.t
|
|
|
|
(** Create from a bit list *)
|
|
val of_bitlist_couple : Bitlist.t * Bitlist.t -> t
|
|
|
|
(** String representation *)
|
|
val to_string : mo_tot_num:Qptypes.MO_number.t -> t -> string
|