home | help
sc::MOIndexSpace(3)		      MPQC		     sc::MOIndexSpace(3)

NAME
     sc::MOIndexSpace  -  Class  MOIndexSpace describes a range of molecular or-
     bitals or similar objects that are linear combinations of	basis  functions
     (e.g.

SYNOPSIS
     #include <moindexspace.h>

     Inherits sc::SavableState.

   Public Types
     enum IndexOrder { symmetry = 0, energy = 1, undefined = 2 }
	 Describes the ordering of indices.

   Public Member Functions
     MOIndexSpace (StateIn &)
     MOIndexSpace  (std::string  name, const RefSCMatrix &full_coefs, const Ref<
	 GaussianBasisSet > basis, const Ref< Integral > &integral,  const  vec-
	 tor<  int  >  &offsets,  const  vector<  int  >  &nmopi, IndexOrder mo-
	 order=symmetry, const RefDiagSCMatrix &evals=0)
	 This function constructs an MOIndexSpace from (blocked) space	full_co-
	 efs.
     MOIndexSpace  (std::string  name, const RefSCMatrix &full_coefs, const Ref<
	 GaussianBasisSet > basis, const Ref< Integral > &integral, const RefDi-
	 agSCMatrix &evals, int nfzc, int nfzv, IndexOrder moorder=energy)
	 This constructor should be used when the MOIndexSpace object is a  sub-
	 space of a full orbital space.
     MOIndexSpace  (std::string  name, const RefSCMatrix &full_coefs, const Ref<
	 GaussianBasisSet > basis, const Ref< Integral > &integral)
	 This constructor should be used when the  MOIndexSpace  object  is  the
	 full orbital space.
     MOIndexSpace  (std::string  name,	const  Ref<  MOIndexSpace > &orig_space,
	 const RefSCMatrix &new_coefs, const Ref< GaussianBasisSet > &new_basis)
	 This constructor is a true hack introduced because I have no  idea  how
	 to construct what I need.
     void save_data_state (StateOut &)
	 Save  the  base  classes  (with save_data_state) and the members in the
	 same order that the StateIn CTOR initializes them.
     const std::string name () const
	 Returns the name of this MOIndexSpace.
     const Ref< GaussianBasisSet > basis () const
	 Returns the AO basis set.
     Ref< Integral > integral () const
	 Returns the integral factory used to instantiate  the	coefficient  ma-
	 trix.
     const RefSCMatrix coefs () const
	 Returns the coefficient matrix.
     const RefDiagSCMatrix evals () const
	 Returns the 'eigenvalues' matrix.
     vector< int > mosym () const
	 Returns the orbital symmetry array.
     IndexOrder moorder () const
	 Returns the order of the orbitals.
     int rank () const
	 Returns the rank of the space.
     int full_rank () const
	 Returns the rank of the full space.
     int nblocks () const
	 Returns the number of blocks.
     vector< int > nmo () const
	 Returns the number of orbitals in each block.
     vector< int > offsets () const
	 Returns the full-space index of the first orbital in each block.
     int to_full_space (const int i) const
	 Returns the full-space index.
     size_t memory_in_use () const
	 Returns how much 'significant' (i.e. O^2) memory this object uses.
     void print (std::ostream &o=ExEnv::out0()) const
	 Prints out this.
     void print_summary (std::ostream &os) const
	 Produces a short summary.

     Public Member Functions inherited from sc::SavableState
     SavableState & operator= (const SavableState &)
     void save_state (StateOut &)
	 Save the state of the object as specified by the StateOut object.
     void save_object_state (StateOut &)
	 This  can be used for saving state when the exact type of the object is
	 known for both the save and the restore.
     virtual void save_vbase_state (StateOut &)
	 Save the virtual bases for the object.
     virtual void save_data_state (StateOut &)
	 Save the base classes (with save_data_state) and  the	members  in  the
	 same order that the StateIn CTOR initializes them.

     Public Member Functions inherited from sc::DescribedClass
     DescribedClass (const DescribedClass &)
     DescribedClass & operator= (const DescribedClass &)
     ClassDesc * class_desc () const  throw ()
	 This  returns	the unique pointer to the ClassDesc corresponding to the
	 given type_info object.
     const char * class_name () const
	 Return the name of the object's exact type.
     int class_version () const
	 Return the version of the class.
     virtual void print (std::ostream &=ExEnv::out0()) const
	 Print the object.

     Public Member Functions inherited from sc::RefCount
     int lock_ptr () const
	 Lock this object.
     int unlock_ptr () const
	 Unlock this object.
     void use_locks (bool inVal)
	 start and stop using locks on this object
     refcount_t nreference () const
	 Return the reference count.
     refcount_t reference ()
	 Increment the reference count and return the new count.
     refcount_t dereference ()
	 Decrement the reference count and return the new count.
     int managed () const
     void unmanage ()
	 Turn off the reference counting mechanism for this object.
     int managed () const
	 Return 1 if the object is managed. Otherwise return 0.

     Public Member Functions inherited from sc::Identity
     Identifier identifier ()
	 Return the Identifier for this argument.

   Additional Inherited Members
     Static Public Member Functions inherited from sc::SavableState
     static void save_state (SavableState *s, StateOut &)
     static SavableState * restore_state (StateIn &si)
	 Restores objects saved with save_state.
     static SavableState * key_restore_state (StateIn &si, const char *keyword)
	 Like restore_state, but  keyword  is  used  to  override  values  while
	 restoring.
     static  SavableState  * dir_restore_state (StateIn &si, const char *object-
	 name, const char *keyword=0)

     Protected Member Functions inherited from sc::SavableState
     SavableState (const SavableState &)
     SavableState (StateIn &)
	 Each derived class StateIn CTOR handles the  restore  corresponding  to
	 calling save_object_state, save_vbase_state, and save_data_state listed
	 above.

     Protected Member Functions inherited from sc::RefCount
     RefCount (const RefCount &)
     RefCount & operator= (const RefCount &)

Detailed Description
     Class  MOIndexSpace  describes a range of molecular orbitals or similar ob-
     jects that are linear combinations of basis functions (e.g.

     atomic orbitals). In general, such sets are subspaces of a  full  space  of
     orbitals  supported  by  the given basis. Orbitals can be symmetry-blocked,
     ordered by energy, etc. Examples of sets that can be described using  MOIn-
     dexSpace are occupied MOs and virtual MOs.

Constructor & Destructor Documentation
   sc::MOIndexSpace::MOIndexSpace   (std::string   name,   const  RefSCMatrix  &
     full_coefs, const Ref< GaussianBasisSet > basis, const Ref<  Integral  >  &
     integral,	const  vector< int > & offsets, const vector< int > & nmopi, In-
     dexOrder moorder = symmetry, const RefDiagSCMatrix & evals = 0)
     This function constructs an MOIndexSpace from (blocked)  space  full_coefs.
     Block i will contain vectors [ offsets[i], offsets[i]+nmopi[i]-1 ] . By de-
     fault,  the  space  maintains the same blocked structure and the same order
     within blocks as the original space (moorder=symmetry).  If  moorder=energy
     and  eigenvalues  evals  are  provided, then all vectors will be put in one
     block and sorted according to ascending evals.

     Parameters
	 name -- the name of this MOIndexSpace
	 full_coefs -- symmetry-blocked transformation coefficient matrix (AO by
	 MO) for the full space
	 basis -- basis set
	 integral -- integral factory
	 offsets -- block offsets
	 nmopi -- new block sizes
	 moorder -- specifies new ordering of vectors
	 evals -- used to sort the vectors

   sc::MOIndexSpace::MOIndexSpace  (std::string  name,	 const	 RefSCMatrix   &
     full_coefs,  const  Ref<  GaussianBasisSet > basis, const Ref< Integral > &
     integral, const RefDiagSCMatrix & evals, int nfzc, int nfzv, IndexOrder mo-
     order = energy)
     This constructor should be used when the MOIndexSpace object is a	subspace
     of  a  full  orbital  space. Similarly to the previous constructor, it con-
     structs an MOIndexSpace object using a symmetry-blocked transformation  co-
     efficient	matrix	(AO  by MO) for the full space, basis set, 'eigenvalues'
     and the number of orbitals with lowest (nfzc) and highest (nfzv)  eigenval-
     ues to be dropped. The orbitals in the constructed space are ordered by en-
     ergy.

   sc::MOIndexSpace::MOIndexSpace   (std::string   name,   const  RefSCMatrix  &
     full_coefs, const Ref< GaussianBasisSet > basis, const Ref<  Integral  >  &
     integral)
     This  constructor	should	be used when the MOIndexSpace object is the full
     orbital space. The orbitals will be symmetry-blocked.

   sc::MOIndexSpace::MOIndexSpace (std::string name, const Ref< MOIndexSpace > &
     orig_space, const RefSCMatrix & new_coefs, const Ref< GaussianBasisSet >  &
     new_basis)
     This  constructor	is  a true hack introduced because I have no idea how to
     construct what I need. It will copy orig_space but replace it's coefs  with
     new_coefs, and its basis with new_basis.

Member Function Documentation
   void  sc::MOIndexSpace::print  (std::ostream & o = ExEnv::out0()) const [vir-
     tual]
     Prints out this.

     Reimplemented from sc::DescribedClass.

   void sc::MOIndexSpace::save_data_state (StateOut &) [virtual]
     Save the base classes (with save_data_state) and the members  in  the  same
     order  that  the StateIn CTOR initializes them. This must be implemented by
     the derived class if the class has data.

     Reimplemented from sc::SavableState.

Author
     Generated automatically by Doxygen for MPQC from the source code.

Version 2.3.1			 Thu Sep 3 2026 	     sc::MOIndexSpace(3)

home | help