(** Orbital localization *) (** Types *) 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 val simulation : t -> Simulation.t val selected_mos : t -> int list 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