2019-02-20 19:43:16 +01:00
|
|
|
(**
|
|
|
|
The space built with determinants made with same-spin spinorbitals.
|
|
|
|
*)
|
|
|
|
|
|
|
|
type t
|
|
|
|
|
|
|
|
(** {1 Accessors} *)
|
|
|
|
|
|
|
|
val size : t -> int
|
|
|
|
(** Number of determinants in the space. *)
|
|
|
|
|
|
|
|
val spin_determinants : t -> Spindeterminant.t array
|
|
|
|
(** All the spin-determinants belonging to the space. *)
|
|
|
|
|
|
|
|
val elec_num : t -> int
|
|
|
|
(** Number of (same-spin) electrons occupying the MOs. *)
|
|
|
|
|
|
|
|
val mo_class : t -> MOClass.t
|
|
|
|
(** The MO classes used to generate the space. *)
|
|
|
|
|
|
|
|
val mo_basis : t -> MOBasis.t
|
|
|
|
(** The MO basis on which the determinants are expanded. *)
|
|
|
|
|
2019-02-20 18:15:15 +01:00
|
|
|
|
2019-02-20 19:43:16 +01:00
|
|
|
(** {1 Creation} *)
|
2019-02-20 18:15:15 +01:00
|
|
|
|
|
|
|
val fci_of_mo_basis : ?frozen_core:bool -> MOBasis.t -> int -> t
|
|
|
|
(** Create a space of all possible ways to put [n_elec] electrons in the [Active] MOs.
|
|
|
|
All other MOs are untouched.
|
|
|
|
*)
|
|
|
|
|
|
|
|
|
|
|
|
(** {2 Printing} *)
|
|
|
|
|
|
|
|
val pp_spindet_space : Format.formatter -> t -> unit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|