(** Molecular orbital localization *) open Linear_algebra type localization_kind = | Edmiston | Boys type mo = Mo_dim.t type ao = Ao.Ao_dim.t type loc type localization_data type t (** Access *) val kind : t -> localization_kind (** Returns the kind of localized MOs *) val simulation : t -> Simulation.t (** Returns the simulation environment in which the MOs are localized *) val selected_mos : t -> int list (** List of indices of the orbitals involved in the localization *) val kappa : kind:localization_kind -> Basis.t -> ( ao,loc) Matrix.t -> (loc,loc) Matrix.t * float (** Returns the $\kappa$ antisymmetric matrix used for the rotation matrix and * the value of the localization function *) val make : kind:localization_kind -> ?max_iter:int -> ?convergence:float -> Basis.t -> int list -> t (** Performs the orbital localization *) val to_basis : t -> Basis.t (** Printers *) val pp : Format.formatter -> t -> unit