MPQC  3.0.0-alpha
sc Namespace Reference

Contains all MPQC code up to version 3. More...

Namespaces

 ManyBodyTensors
 Contains classes used to compute many-body tensors.
 

Classes

struct  abs_greater
 
struct  abs_less
 useful comparison functions More...
 
class  AccResult
 This associates a result datum with an accuracy. More...
 
class  AccResultInfo
 This is like ResultInfo but the accuracy with which a result was computed as well as the desired accuracy are stored. More...
 
class  AccumEffectiveH
 
class  AccumH
 AccumH computes additions to the one body Hamiltonian. More...
 
class  AccumHNull
 This specialization of AccumH does nothing. More...
 
class  ActiveMessage
 Derivatives of ActiveMessage can be constructed in one process and executed in another by using ActiveMessageGrp. More...
 
class  ActiveMessageEcho
 This is an ActiveMessage derivative used for testing. More...
 
class  ActiveMessageGrp
 ActiveMessageGrp provides an implemention of active messages that sends objects derived from ActiveMessage to remote processes and causes their run member to be executed there. More...
 
class  ActiveMessageThread
 This is a help class that is used by ActiveMessageGrp. More...
 
class  ActiveMsgMemoryGrp
 The ActiveMsgMemoryGrp abstract class specializes the MsgMemoryGrp class. More...
 
class  AggregateKeyVal
 
class  ALevelShift
 
class  AlgorithmException
 This exception is thrown whenever a problem with an algorithm is encountered. More...
 
class  AM05Functional
 Implements the Perdew-Burke-Ernzerhof (PBE) correlation functional. More...
 
class  AngularIntegrator
 An abstract base class for angular integrators. More...
 
class  AnimatedObject
 
class  Appearance
 
class  ApproximatePairWriter
 
class  ARMCIMemoryGrp
 The ARMCIMemoryGrp concrete class provides an implementation of MsgMemoryGrp. More...
 
class  AssertionFailed
 This is thrown when an assertion fails. More...
 
class  AssignedKeyVal
 
class  Atom
 Atom represents an atom in a Molecule. More...
 
class  AtomicOrbitalSpace
 This is an OrbitalSpace describing a set of atomic orbitals. More...
 
class  AtomInfo
 The AtomInfo class provides information about atoms. More...
 
class  AtomProximityColorizer
 
class  auto_time_accumulator
 
class  auto_vec
 The auto_vec class functions much like auto_ptr, except it contains references to arrays. More...
 
class  AVLMap
 
class  AVLMapNode
 
class  AVLMMap
 
class  AVLMMapNode
 
class  AVLSet
 
class  Backtrack
 Implements backtrack line search algorithm. More...
 
class  basis_element_iterator
 
class  basis_element_with_value_iterator
 
class  BasisElementData
 
struct  BasisElementIteratorDereference
 
class  BasisFileSet
 
struct  BasisFunctionData
 
class  BatchElectronDensity
 This a more highly optimized than ElectronDensity since everything is precomputed. More...
 
class  BcastState
 This creates and forwards/retrieves data from either a BcastStateRecv or a BcastStateSend depending on the value of the argument to constructor. More...
 
class  BcastStateInBin
 BcastStateBin reads a file in written by StateInBin on node 0 and broadcasts it to all nodes so state can be simultaneously restored on all nodes. More...
 
class  BcastStateRecv
 BcastStateRecv does the receive part of a broadcast of an object to all nodes. More...
 
class  BcastStateSend
 BcastStateSend does the send part of a broadcast of an object to all nodes. More...
 
class  Becke88XFunctional
 Implements Becke's 1988 exchange functional. More...
 
class  BeckeIntegrationWeight
 Implements Becke's integration weight scheme. More...
 
class  BEMSolvent
 
class  BEMSolventH
 This specialization of AccumH computes the contribution to the energy and one body Hamiltonian from a solvent using a polarizable continuum model. More...
 
class  BendSimpleCo
 The BendSimpleCo class describes an bend internal coordinate of a molecule. More...
 
class  BFGSUpdate
 The DFPUpdate class is used to specify a Broyden, Fletcher, Goldfarb, and Shanno hessian update scheme. More...
 
class  BiggestContribs
 
class  BitArrayLTri
 
class  BLevelShift
 
class  BlockedDiagSCMatrix
 Blocked DiagSCMatrix. More...
 
class  BlockedSCElementOp
 
class  BlockedSCElementOp2
 
class  BlockedSCElementOp3
 
class  BlockedSCMatrix
 Blocked SCMatrix. More...
 
class  BlockedSCMatrixKit
 BlockedSCMatrixKit is a SCMatrixKit that produces blocked matrices. More...
 
class  BlockedSCVector
 
class  BlockedSymmSCMatrix
 Blocked SymmSCMatrix. More...
 
class  BoundsLibint2
 Computes log2 bounds for a particular Int2e evaluator. More...
 
class  BuildIntV3
 
class  CADFCLHF
 A specialization of CLHF that uses concentric atomic density fitting to build fock matrices. More...
 
class  CannotConstructMap
 
class  canonical_aa
 Can be used as a template argument to GenericPetiteList2. More...
 
class  canonical_aaaa
 If the shell loop structure has 8 fold symmetry, then this should be used as the template argument to GenericPetiteList4. More...
 
class  canonical_aabb
 If the shell loop structure has 2 fold symmetry between the first two indices and a 2 fold symmetry between the last two indices, then this should be used as the template argument to GenericPetiteList4. More...
 
class  canonical_aabc
 If the shell loop structure has 2 fold symmetry between the first two indices, then this should be used as the template argument to GenericPetiteList4. More...
 
class  canonical_ab
 Can be used as a template argument to GenericPetiteList2. More...
 
class  canonical_abab
 If the shell loop structure has 2 fold symmetry between the bra and the ket then this should be used as the template argument to GenericPetiteList4. More...
 
class  canonical_abcc
 If the shell loop structure has 2 fold symmetry between the last two indices, then this should be used as the template argument to GenericPetiteList4. More...
 
class  canonical_abcd
 If the shell loop structure has no symmetry, then this should be used as the template argument to GenericPetiteList4. More...
 
class  CartesianBasisSet
 CartesianBasisSet is obtained from the parent basis by converting spherical harmonic shells to cartesian counterparts. More...
 
class  CartesianIter
 CartesianIter gives the ordering of the Cartesian functions within a shell for the particular integrals specialization. More...
 
class  CartesianIterCCA
 
class  CartesianIterGAMESS
 
class  CartesianIterV3
 
class  CartMolecularCoor
 The CartMolecularCoor class implements Cartesian coordinates in a way suitable for use in geometry optimizations. More...
 
class  CCR12
 CCR12 is the base class for CC and CC-R12 methods. More...
 
class  CCR12_Info
 CCR12_Info is the compilation of members that are used in CC and CC-R12 methods. More...
 
class  CCR12_Triples
 
class  CCSD
 
class  CCSD_2Q_LEFT
 
class  CCSD_2Q_RIGHT
 
class  CCSD_2T_LEFT
 
class  CCSD_2T_PR12_RIGHT
 
class  CCSD_2T_R12_LEFT
 
class  CCSD_2T_RIGHT
 
class  CCSD_E
 
class  CCSD_PT
 
class  CCSD_PT_LEFT
 
class  CCSD_PT_RIGHT
 
class  CCSD_R12
 
class  CCSD_R12_E
 
class  CCSD_R12_PT_RIGHT
 
class  CCSD_R12_T1
 
class  CCSD_R12_T2
 
class  CCSD_Sub_Bar_R12
 
class  CCSD_Sub_Full_R12
 
class  CCSD_Sub_R12
 CCSD_Sub_R12 is the base class for some (2)R12 methods. More...
 
class  CCSD_SUB_R12_LEFT
 
class  CCSD_SUB_R12_RIGHT
 
class  CCSD_T1
 
class  CCSD_T2
 
class  CCSDPR12
 
class  CCSDPR12_C
 
class  CCSDPR12_T1
 
class  CCSDPR12_T2
 
class  CCSDT
 
class  CCSDT_T1
 
class  CCSDT_T2
 
class  CCSDT_T3
 
class  CCSDTQ
 
class  CCSDTQ_T2
 
class  CCSDTQ_T3
 
class  CCSDTQ_T4
 
class  CharacterTable
 The CharacterTable class provides a workable character table for all of the non-cubic point groups. More...
 
class  chunk_allocator
 
class  CI
 CI is a configuration interaction ManyBodyWavefunction. More...
 
class  ClassDesc
 This class is used to contain information about classes. More...
 
class  CLHF
 CLHF is a Hartree-Fock specialization of CLSCF. More...
 
class  CLHFContribution
 Computes components of the Fock matrix necessary for closed-shell calculations (i.e. More...
 
class  CLKS
 This provides a Kohn-Sham implementation for closed-shell systems. More...
 
class  CLSCF
 The CLSCF class is a base for classes implementing a self-consistent procedure for closed-shell molecules. More...
 
class  Color
 
class  Compute
 The Compute class provides a means of keeping results up to date. More...
 
class  ConcurrentCacheBase
 
class  ConcurrentCacheWithSymmetry
 A cache of objects that can be safely accessed concurrently by threads that share memory. More...
 
class  ConcurrentCacheWithSymmetry< val_type, KeySymmetry< IdentityKeyPermutation< sizeof...(key_types)> >, key_types... >
 Specialization for the identity. More...
 
class  ConcurrentCacheWithSymmetry< val_type, KeySymmetry< IdentityKeyPermutation< sizeof...(key_types)>, KeyTransposition< n_keys, idx1, idx2 > >, key_types... >
 Specialization with only one transposition other than the identity. More...
 
struct  ConjugateGradientSolver
 Solves linear system a(x) = b using conjugate gradient solver where a is a linear function of x. More...
 
class  ConnollyShape
 DiscreteConnollyShape and ConnollyShape should produce the same result. More...
 
class  ConsumableResources
 ConsumableResources keeps track of consumable resources (memory, disk). More...
 
class  ContiguousShellBlockList
 
struct  contribution
 
class  Convergence
 The Convergence class is used by the optimizer to determine when an optimization is converged. More...
 
class  CoreIntsEngine
 CoreIntsEngine manages Boys, and other core integral, engines. More...
 
struct  CorrelatedMOOrder
 order by occupation first, then by symmetry, then by energy More...
 
struct  CorrelatedSpinMOOrder
 order by occupation first, then by spin, then by symmetry, then by energy More...
 
class  CorrelationTable
 The CorrelationTable class provides a correlation table between two point groups. More...
 
class  CreateTransformHints
 Provides hints to the constructors of a Transform class that help configure its implementation. More...
 
class  CS2Sphere
 
class  CSGrad34Qbtr
 
class  CSGradErep12Qtr
 
class  CSGradS2PDM
 
class  CuspConsistentGeminalCoefficient
 Computes fixed coefficients determined according to the cusp conditions for geminal (r12-dependent) functions that have been normalized so that coefficient of r12 in Taylor expansion around r12=0 is 1. More...
 
class  DA4_Tile
 Tile of a 4-index tensor that's "evaluated" when needed by reading from DistArray4. More...
 
class  DA4_Tile34
 Tile of a <34> slice of <1234> that's "evaluated" when needed by reading from DistArray4 holding pqrs. More...
 
class  Debugger
 The Debugger class describes what should be done when a catastrophic error causes unexpected program termination. More...
 
class  DecoratedOrbital
 Orbital = index + attributes. More...
 
class  DefaultPrintThresholds
 Default print thresholds. More...
 
class  DenFunctional
 An abstract base class for density functionals. More...
 
class  DenIntegrator
 An abstract base class for integrating the electron density. More...
 
class  DensityColorizer
 
class  DensityFitting
 Decomposition by density fitting with respect to some kernel. More...
 
struct  DensityFittingInfo
 this class encapsulates objects needed to perform density fitting of a 4-center integral More...
 
class  DensityFittingParams
 DensityFittingParams defines parameters used by DensityFittingRuntime and other runtime components to compute density fitting objects. More...
 
class  DensityFittingRuntime
 Smart runtime support for managing DensityFitting objects. More...
 
class  der_centersv3_t
 
class  DerivCenters
 DerivCenters keeps track the centers that derivatives are taken with respect to. More...
 
class  DescribedClass
 Classes which need runtime information about themselves and their relationship to other classes can virtually inherit from DescribedClass. More...
 
class  DescribedClassProxy
 Classes deriving from this are used to generate objects of DescribedClass type. More...
 
class  DescribedXMLWritable
 
class  DFCLHF
 DFCLHF is a specialization of CLHF that uses a density-fitting FockBuild class for computing fock matrices. More...
 
class  DFPUpdate
 The DFPUpdate class is used to specify a Davidson, Fletcher, and Powell hessian update scheme. More...
 
class  DiagMolecularHessian
 DiagMolecularHessian is an implementation of MolecularHessian that returns a hessian that is a diagonal matrix. More...
 
class  DiagSCMatrix
 The SymmSCMatrix class is the abstract base class for diagonal double valued matrices. More...
 
class  DiagSCMatrixdouble
 
class  DIIS
 The DIIS class provides DIIS extrapolation. More...
 
class  DipoleIntV3
 
class  DiscreteConnollyShape
 DiscreteConnollyShape and ConnollyShape should produce the same result. More...
 
class  Displacements
 Maps displacements in terms of symmetrized coordinates to property values. More...
 
class  DistArray4
 DistArray4 contains a set of one or more distributed dense 4-index arrays. More...
 
class  DistArray4_MemoryGrp
 DistArray4_MemoryGrp handles transformed integrals held in memory by MemoryGrp. More...
 
class  DistArray4_MPIIOFile
 DistArray4_MPIIOFile handles transformed integrals stored in a binary file accessed through MPI-IO. More...
 
class  DistArray4_MPIIOFile_Ind
 DistArray4_MPIIOFile_Ind handles transformed integrals stored in a binary file accessed through MPI-IO individual I/O routines. More...
 
class  DistArray4_Node0File
 DistArray4_Node0File handles transformed integrals stored in file on node 0 (file is a usual POSIX binary file) More...
 
class  DistArray4Creator
 Creates new DistArray4 using TwoBodyFourCenterMOIntsRuntime and a vector of transform keys. More...
 
struct  DistArray4Dimensions
 
class  DistDiagSCMatrix
 Distributed DiagSCMatrix. More...
 
class  DistFockBuildMatrix
 
class  DistSCMatrix
 Distributed SCMatrix. More...
 
class  DistSCMatrixKit
 The DistSCMatrixKit produces matrices that work in a many processor environment. More...
 
class  DistSCMatrixListSubblockIter
 
class  DistSCVector
 
class  DistShell
 Distributes sets of shells either statically or dynamically. More...
 
class  DistShellPair
 Distributes shell pairs either statically or dynamically. More...
 
class  DistSymmSCMatrix
 Distributed SymmSCMatrix. More...
 
struct  DummySavableState
 useful as a dummy template argument More...
 
class  EAVLMMap
 
class  EAVLMMapNode
 
class  Edge
 
class  EFCOpt
 The EFCOpt class implements eigenvector following as described by Baker in J. More...
 
class  EfieldDotVectorData
 
class  EfieldDotVectorIntV3
 
class  EfieldIntV3
 
struct  EGH
 energy + gradient + hessian More...
 
class  ElectronDensity
 This is a Volume that computes the electron density. More...
 
class  EmptyOrbitalSpace
 This is an empty OrbitalSpace. More...
 
struct  EnergyMOOrder
 order by energy first, then by symmetry. EnergyCompare specifies the weak strict ordering of orbitals wrt energy More...
 
class  ETraIn
 Class ETraIn evaluates transfer and overlap matrix in the basis of monomer SCF wave functions. More...
 
class  EulerMaclaurinRadialIntegrator
 An implementation of a radial integrator using the Euler-Maclaurin weights and grid points. More...
 
class  Exception
 This is a std::exception specialization that records information about where an exception took place. More...
 
class  ExEnv
 The ExEnv class is used to find out about how the program is being run. More...
 
class  ExtendedHuckelWfn
 This computes the extended Huckel energy and wavefunction. More...
 
struct  ExtentData
 
class  Extern_RefWavefunction
 RefWavefunction specialization that is not an adaptor to a Wavefunction object. More...
 
class  ExternMOInfo
 Reads MO information from a text file Note that the MO ordering in the external file may not be the same as in MPQC For example, irreducible representations may be ordered differently in different programs Thus MOs will be reordered to be consistent with MPQC rules, and a map from the native to MPQC representation will be provided so that other files produced by the external program can be interpreted. More...
 
class  ExternPT2R12
 ExternPT2R12 is a PT2R12 wave function computed from external MO info and 2-RDM. More...
 
class  ExternSpinFreeRDMOne
 Reads 1-RDM from a text file. More...
 
class  ExternSpinFreeRDMTwo
 Reads 2-RDM from a text file. More...
 
class  FeatureNotImplemented
 This is thrown when an attempt is made to use a feature that is not yet implemented. More...
 
class  FEMO
 Describes a simple the free-electron molecular orbital model that can be used to guess the lowest-energy orbital configuration. More...
 
class  FermionBasicNCOper
 basic Nb-body number-conserving (nc) operator in sp representation More...
 
class  FermionBasicNCOper< 1, FString >
 
class  FermionOccupationBlockString
 a block-"sparse" string represents occupancies of an arbitrarily-large set of states as a set of alternating unoccupied/occupied blocks. More...
 
class  FermionOccupationDBitString
 a "dense" string represents occupancies of a set of Ns states by a bitstring More...
 
class  FermionOccupationNBitString
 a "dense" string represents occupancies of a set of Ns states by a fixed-width bitstring More...
 
class  FermionStringDenseSet
 
class  FermionStringSparseSet
 
class  FileGrp
 The FileGrp abstract class provides a way of accessing distributed file in a parallel machine. More...
 
class  FileOperationFailed
 This is thrown when an operation on a file fails. More...
 
class  FileRender
 
class  FinDispMolecularGradient
 Computes the molecular gradient by finite differences of energies. More...
 
class  FinDispMolecularHessian
 Computes the molecular hessian by finite displacements of gradients (or, if not available, energies). More...
 
class  FJT
 "Old" intv3 code from Curt Computes F_j(T) using 6-th order Taylor interpolation More...
 
class  Fjt
 Evaluates the Boys function F_j(T) More...
 
class  FockBlocks
 
class  FockBuild
 The FockBuild class works with the FockBuildThread class to generate Fock matrices for both closed shell and open shell methods. More...
 
class  FockBuildAM
 
class  FockBuildAMG
 
class  FockBuildCLHF
 FockBuildCLHF is a specialization of CLHF that uses FockBuild class for computing fock matrices. More...
 
class  FockBuildMatrix
 
class  FockBuildOp
 
class  FockBuildRuntime
 Build Fock matrices using some combination of FockBuilder objects. More...
 
class  FockBuildThread
 The FockBuildThread class is used to actually build the Fock matrix. More...
 
class  FockBuildThread_F11_P11
 The FockBuildThread class is used to actually build the Fock matrix. More...
 
class  FockBuildThread_F12_P33
 This is used to build the Fock matrix when none of the basis sets are equivalent. More...
 
class  FockContribution
 
class  FockDist
 
class  FockDistDynamic
 
class  FockDistDynamic2
 
class  FockDistDynamic4
 
class  FockDistribution
 FockDistribution is a factory for constructing the desired FockDist specialization. More...
 
class  FockDistStatic
 
class  FockDistStatic2
 
class  FockDistStatic4
 
class  ForceLink
 This, together with ForceLinkBase, is used to force code for particular classes to be linked into executables. More...
 
class  ForceLinkBase
 This, together with ForceLink, is used to force code for particular classes to be linked into executables. More...
 
struct  FreeData
 
class  FullFermionStringSetBuild
 Build all possible strings by distributing n particles in m states. More...
 
class  Function
 The Function class is an abstract base class that, given a set of coordinates, will compute a value and possibly a gradient and hessian at that point. More...
 
class  G12NCLibint2
 G12NCLibint2 is a specialization of Int2eLibint2 that computes two-electron integrals specific to explicitly correlated methods which use Gaussian geminals (formulation without commutators). More...
 
class  G96XFunctional
 Implements the Gill 1996 (G96) exchange functional. More...
 
class  GaussianBasisSet
 The GaussianBasisSet class is used describe a basis set composed of atomic gaussian orbitals. More...
 
class  GaussianBasisSetMap
 A heavy-duty map from one GaussianBasisSet to another GaussianBasisSet. More...
 
class  GaussianFit
 GaussianFit<Function> is a fit of Function(x)*Weight(x) to N Gaussians on range [left,right] Valid Function and Weight are Unary Functions which take and return a double. More...
 
class  GaussianShell
 A shell of Gaussian functions. More...
 
class  GaussLegendreAngularIntegrator
 An implementation of an angular integrator using the Gauss-Legendre weights and grid points. More...
 
class  GaussTriangleIntegrator
 
class  GBuild
 
class  GDIISOpt
 
class  GenericFockContribution
 The GenericFockContribution class provides much of the infrastructure needed by FockContribution specializations. More...
 
class  GenericPetiteList2
 This class provides a generalized 2-index petite list. More...
 
class  GenericPetiteList4
 This class provides a generalized four index petite list. More...
 
class  GetLongOpt
 Parse command line options. More...
 
class  GlobalCounter
 The GlobalCounter class allows processes on the same SMP node to share a counter using SysV IPC semaphores. More...
 
class  GlobalMsgIter
 
class  GPetiteList2
 This class is an abstract base to a generalized 2-index petite list. More...
 
class  GPetiteList4
 This class is an abstract base to a generalized four index petite list. More...
 
struct  GPetiteListFactory
 Produces generalized 2 and 4-index petite list objects. More...
 
class  GradDensityColorizer
 
class  Grid
 The Grid class defines a finite regular Carthesian grid. More...
 
class  GrpArithmeticAndReduce
 
class  GrpArithmeticOrReduce
 
class  GrpArithmeticXOrReduce
 
class  GrpCompareReduce
 
class  GrpFunctionReduce
 
class  GrpMaxReduce
 
class  GrpMinReduce
 
class  GrpProductReduce
 
class  GrpReduce
 
class  GrpSumReduce
 
class  GRTLibint2
 GRTLibint2 is a specialization of Int2eLibint2 that computes two-electron integrals specific to linear R12 methods. More...
 
class  GSGeneralEffH
 
class  GSHighSpinEffH
 
class  GTOInfo
 Provides precomputed information about Gaussian basis functions. More...
 
class  GuessMolecularHessian
 GuessMolecularHessian is an implementation of MolecularHessian that estimates the hessian based on the internal coordinates. More...
 
struct  hash
 
class  HCoreWfn
 This is useful as an initial guess for other one body wavefunctions. Produces high-spin electron configurations. More...
 
class  HessianUpdate
 The HessianUpdate abstract class is used to specify a hessian update scheme. More...
 
class  HSOSHF
 HSOSHF is a Hartree-Fock specialization of HSOSSCF. More...
 
class  HSOSHFContribution
 Computes components of the Fock matrix necessary for high-spin open-shell calculations (e.g. More...
 
class  HSOSKS
 This provides a Kohn-Sham implementation for restricted-orbital high-spin open-shell systems. More...
 
class  HSOSSCF
 The HSOSSCF class is a base for classes implementing a self-consistent procedure for high-spin open-shell molecules. More...
 
class  HSOSV1Erep1Qtr
 
class  HundsFEMOSeeker
 Finds the FEMO configuration that corresponds to the maximum multiplicity. More...
 
class  HypercubeGMI
 
class  HypercubeTopology
 
struct  IdentityKeyPermutation
 
class  IdentityTransform
 The IdentityTransform is a special case of NonlinearTransform were no transformation takes place. More...
 
struct  ignored_argument
 
class  ImplicitSurfacePolygonizer
 
class  IndexRangeIterator
 This is an abstract range of indices. More...
 
class  InputError
 This is thrown when invalid input is provided. More...
 
class  Int1eLibint2
 Int1eLibint2 is used by OneBodyIntLibint2 and OneBodyDerivIntLibint2 to implement IntegralLibint2. More...
 
class  Int1eV3
 Int1eV3 is a class wrapper for the one body part of the C language IntV3 library. More...
 
class  Int2eLibint2
 Int2eLibint2 is an interface to various specializations of two-electron integral evaluators implemented in Libint2. More...
 
class  Int2eV3
 Int2eV3 is a class wrapper for the two body part of the C language IntV3 library. More...
 
class  IntCoor
 The IntCoor abstract class describes an internal coordinate of a molecule. More...
 
class  IntCoorGen
 IntCoorGen generates a set of simple internal coordinates for a molecule. More...
 
struct  IntDescrFactory
 
class  Integral
 The Integral abstract class acts as a factory to provide objects that compute one and two electron integrals. More...
 
class  IntegralLibint2
 IntegralLibint2 computes integrals between Gaussian basis functions. More...
 
class  IntegralSetDescr
 IntegralSetDescr contains all information necessary to construct an IntEval object that computes a particular set of integrals using an Integral factory. More...
 
class  IntegralV3
 IntegralV3 computes integrals between Gaussian basis functions. More...
 
class  IntegrationWeight
 An abstract base class for computing grid weights. More...
 
struct  IntEvalToOperSetType
 
struct  IntEvalToOperSetType< TwoBodyInt >
 
struct  IntEvalToOperSetType< TwoBodyThreeCenterInt >
 
struct  IntEvalToOperSetType< TwoBodyTwoCenterInt >
 
struct  intlist_struct
 
class  IntMolecularCoor
 The IntMolecularCoor abstract class describes a molecule's coordinates in terms of internal coordinates. More...
 
class  IntParams
 This class passes optional operator parameters. More...
 
class  IntParamsG12
 Used to pass params to Integral::g12(). More...
 
class  IntParamsOrigin
 Passes params to Integral::dipole() and other factory methods which need r information. More...
 
class  IntParamsVoid
 Passes params to Integral::electron_repulsion() and other factory methods which do not need parameters. More...
 
class  IntV3Arraydouble2
 
class  IntV3Arraydouble3
 
class  IntV3Arraydoublep2
 
class  IntV3Arraydoublep3
 
class  IntV3Arraydoublep4
 
class  IntV3Arrayint3
 
class  IntV3Arrayint4
 
struct  ip_cwk_stack_struct
 
struct  ip_keyword_tree_list_struct
 
struct  ip_keyword_tree_struct
 
struct  ip_string_list_struct
 
class  IPV2
 
class  IrreducibleRepresentation
 The IrreducibleRepresentation class provides information associated with a particular irreducible representation of a point group. More...
 
class  IsosurfaceGen
 
class  ISphericalTransform
 This describes a solid harmonic to Cartesian transform. More...
 
class  ISphericalTransformLibint2
 
class  ISphericalTransformV3
 
class  IterableBasisElementData
 
struct  KeyPermutation
 
struct  KeySymmetry
 
struct  KeyTransposition
 
class  KeyVal
 
class  KeyValValue
 Represents the value of a keyword. More...
 
class  KeyValValueboolean
 Represents a boolean value. More...
 
class  KeyValValuechar
 Represents a char value. More...
 
class  KeyValValuedouble
 Represents a double value. More...
 
class  KeyValValuefloat
 Represents a float value. More...
 
class  KeyValValueint
 Represents an int value. More...
 
class  KeyValValuelong
 Represents a long value. More...
 
class  KeyValValuepchar
 Represents a pointer to char value (deprecated, use KeyValValuestring). More...
 
class  KeyValValueRefDescribedClass
 Represents a Ref<DescribedClass> value. More...
 
class  KeyValValuesize
 Represents a size_t value. More...
 
class  KeyValValuestring
 Represents a std::string value. More...
 
class  Keyword
 
class  LAMBDA_CCSD_T1
 
class  LAMBDA_CCSD_T2
 
class  LAMBDA_CCSDPR12_T1
 
class  LAMBDA_CCSDPR12_T2
 
class  LazyTensor
 Tile of a DIM-order tensor that's "evaluated" when needed by calling ElementGenerator({i0, i1, i2, .... i_DIM-1}) More...
 
class  LCorr
 A base class for local correlation methods. More...
 
class  LebedevLaikovIntegrator
 An implementation of a Lebedev angular integrator. More...
 
class  LevelShift
 
class  Libint2StaticInterface
 
class  Libr12StaticInterface
 
class  LimitExceeded
 This is thrown when a limit is exceeded. More...
 
class  LineOpt
 The LineOpt abstract class is used to perform one dimensional optimizations. More...
 
class  LinIPSimpleCo
 The LinIPSimpleCo class describes an in-plane component of a linear bend internal coordinate of a molecule. More...
 
class  LinKListGroup
 
class  LinOPSimpleCo
 The LinOPSimpleCo class describes an out-of-plane component of a linear bend internal coordinate of a molecule. More...
 
class  LMP2
 Computes the local second order perturbation theory energy. More...
 
class  LocalCLHFContribution
 
class  LocalCLHFEnergyContribution
 
class  LocalCLHFGradContribution
 
class  LocalCLKSContribution
 
class  LocalCLKSEnergyContribution
 
class  LocalDiagSCMatrix
 Local DiagSCMatrix. More...
 
class  LocalGBuild
 
class  LocalHSOSContribution
 
class  LocalHSOSEnergyContribution
 
class  LocalHSOSGradContribution
 
class  LocalHSOSKSContribution
 
class  LocalHSOSKSEnergyContribution
 
class  LocalLBGBuild
 
class  LocalOSSContribution
 
class  LocalOSSEnergyContribution
 
class  LocalOSSGradContribution
 
class  LocalSCMatrix
 
class  LocalSCMatrixKit
 The LocalSCMatrixKit produces matrices that work in a single processor environment. More...
 
class  LocalSCVector
 
class  LocalSymmSCMatrix
 Local SymmSCMatrix. More...
 
class  LocalTBGrad
 
class  LocalTCContribution
 
class  LocalTCEnergyContribution
 
class  LocalTCGradContribution
 
class  LocalUHFContribution
 
class  LocalUHFEnergyContribution
 
class  LocalUHFGradContribution
 
class  LocalUKSContribution
 
class  LocalUKSEnergyContribution
 
class  Log2Bounds
 Computes log2 bounds. More...
 
class  LSDACFunctional
 An abstract base class for local correlation functionals. More...
 
class  LSelectBasisSet
 The LSelectBasisSet class is used to select shells by angular momentum from a mother basis. More...
 
class  LYPCFunctional
 Implements the Lee, Yang, and Parr functional. More...
 
class  MachineTopology
 
class  ManyBodyWavefunction
 ManyBodyWavefunction is a Wavefunction obtained from a reference OneBodyWavefunction (its orbitals or more). More...
 
class  MaskedOrbitalSpace
 This is an OrbitalSpace produced from an existing one by masking out some Orbitals. More...
 
class  mat3
 
class  mat4
 
class  Material
 
class  MaxIterExceeded
 This is thrown when an iterative algorithm attempts to use more iterations than allowed. More...
 
class  MBPT2
 The MBPT2 class implements several second-order perturbation theory methods. More...
 
class  MBPT2_R12
 The MBPT2_R12 class implements several R12 second-order Moeller-Plesset perturbation theory methods. More...
 
class  MCSearch
 This performs line searches with cubic steps. More...
 
class  MemAllocFailed
 This is thrown when a memory allocation fails. More...
 
class  MemoryDataRequest
 This is a help class used by ActiveMsgMemoryGrp. More...
 
class  MemoryDataRequestQueue
 This is a help class used by ActiveMsgMemoryGrp. More...
 
class  MemoryGrp
 The MemoryGrp abstract class provides a way of accessing distributed memory in a parallel machine. More...
 
class  MemoryGrpBuf
 The MemoryGrpBuf class provides access to pieces of the global shared memory that have been obtained with MemoryGrp. More...
 
class  MemoryGrpRegion
 The MemoryGrpRegion is a MemoryGrp proxy to a region of a MemoryGrp. More...
 
class  MemoryIter
 This iterates through data in a global array. More...
 
struct  message_struct
 
class  MessageGrp
 The MessageGrp abstract class provides a mechanism for moving data and objects between nodes in a parallel machine. More...
 
class  MOIntsRuntime
 MOIntsRuntime provides runtime support for computing 1-body and 2-body (2-, 3-, and 4-center) MO-basis integrals (with or without density fitting). More...
 
struct  MOIntsTransform
 
class  MOIntsTransformFactory
 MOIntsTransformFactory is a factory that produces MOIntsTransform objects. More...
 
class  MOLagrangian
 
class  MolcasPT2R12
 The MolcasPT2R12 class is a interface between Molcas and MPQC to perform CASPT2F12 calculations. More...
 
class  MOLDEN_ExternReadMOInfo
 Reads MO information from a text MOLDEN file. More...
 
class  MolecularCoor
 The MolecularCoor abstract class describes the coordinate system used to describe a molecule. More...
 
class  MolecularEnergy
 The MolecularEnergy abstract class inherits from the Function class. More...
 
class  MolecularFormula
 The MolecularFormula class is used to calculate the molecular formula of a Molecule. More...
 
class  MolecularFragment
 MolecularFragment is a Molecule that is a fragment of another Molecule object. More...
 
class  MolecularFrequencies
 The MolecularFrequencies class is used to compute the molecular frequencies and thermodynamic information. More...
 
class  MolecularGradient
 MolecularGradient is an abstract class that computes a molecule's first derivatives of the energy with respect to changes in the nuclear coordinates. More...
 
class  MolecularHessian
 MolecularHessian is an abstract class that computes a molecule's second derivatives of the energy with respect to changes in the nuclear coordinates. More...
 
struct  MolecularOrbitalAttributes
 MO is irrep, energy, occupation number. More...
 
struct  MolecularOrbitalMask
 mask out first n MOs in the order defined by Compare. By default mask the n lowest-energy MOs More...
 
struct  MolecularSpinOrbitalAttributes
 Same as MolecularOrbitalAttributes, plus spin. More...
 
class  Molecule
 The Molecule class contains information about molecules. More...
 
class  MoleculeColorizer
 
class  MolEnergyConvergence
 
class  MolFreqAnimate
 
class  MOPairIter
 MOPairIter gives the ordering of orbital pairs. More...
 
class  MOPairIterFactory
 This class produces MOPairIter objects. More...
 
class  MP2BasisExtrap
 
class  MP2R12Energy
 Class MP2R12Energy is the object that computes and maintains MP2-R12 energies. More...
 
class  MP2R12Energy_Diag
 The class MP2R12Energy_Diag is an implementation of MP2R12Energy that supports Ten-no's diagonal orbital-invariant ansatz for closed and open-shells. More...
 
class  MP2R12Energy_SpinOrbital
 The class MP2R12Energy_SpinOrbital is the original implementation of MP2R12Energy It supports only the standard orbital-invariant ansatz and the full set of features of R12Technology. More...
 
class  MP2R12EnergyUtil_base
 Class MP2R12EnergyUtil_base is the abstract interface to utility functions used by MP2R12Energy derivatives. More...
 
class  MP2R12EnergyUtil_Diag
 
class  MP2R12EnergyUtil_Diag_DifferentSpin
 Class MP2R12EnergyUtil provides some misc functions to operate on (blocked) ijxy and xyxy matrices. More...
 
class  MP2R12EnergyUtil_Diag_SameSpin
 
class  MP2R12EnergyUtil_Nondiag
 
class  MPIMessageGrp
 The MPIMessageGrp class is an concrete implementation of MessageGrp that uses the MPI 1 library. More...
 
class  MPQCIn
 Converts MPQC simple input to object-oriented input. More...
 
class  MPQCInDatum
 
class  MPQCInit
 This helper class simplifies initialization of MPQC. More...
 
class  mPW91XFunctional
 Implements a modified 1991 Perdew-Wang exchange functional. More...
 
class  MsgMemoryGrp
 A MsgMemoryGrp that initializes its data using a messagegrp. More...
 
class  MsgStateBufRecv
 The MsgStateBufRecv is an abstract base class that buffers objects sent through a MessageGrp. More...
 
class  MsgStateRecv
 The MsgStateRecv is an abstract base class that receives objects from nodes in a MessageGrp. More...
 
class  MsgStateSend
 The MsgStateSend is an abstract base class that sends objects to nodes in a MessageGrp. More...
 
class  MTensor
 Tensor metadata is implicit; MTensor is Tensor + metadata. More...
 
class  MTMPIMemoryGrp
 This MemoryGrp class requires a MT-safe MPI implementation. More...
 
class  MultiThreadTimer
 
class  NBodyIntEval
 This is an abstract base type for classes that compute integrals of general N-body operators described by OperDescr. More...
 
class  NBodyIntIter
 
class  NCAccResult
 This associates a result non-class datum with an accuracy. More...
 
struct  NCentersToIntDescr
 
struct  NCentersToIntDescr< 1, 1 >
 
struct  NCentersToIntDescr< 2, 1 >
 
struct  NCentersToIntDescr< 2, 2 >
 
struct  NCentersToIntDescr< 3, 2 >
 
struct  NCentersToIntDescr< 4, 2 >
 
class  NCResult
 This is similar to Result, but can be used with non-class types. More...
 
class  NElFunctional
 The NElFunctional computes the number of electrons. More...
 
class  NewP86CFunctional
 
class  NewtonOpt
 Implements Newton method. More...
 
class  NonblockedOrbitalSpace
 This is an OrbitalSpace produced from an existing one by getting rid of the blocking. More...
 
class  NonlinearTransform
 The NonlinearTransform class transforms between two nonlinear coordinate systems. More...
 
class  NonreentrantUncappedTorusHoleShape
 
class  OBWfnRDMCumulantTwo
 OBWfnRDMCumulantTwo is the cumulant of OBWfnRDMTwo. More...
 
class  OBWfnRDMOne
 OBWfnRDMOne is a 1-RDM from a OneBodyWavefunction. More...
 
class  OBWfnRDMTwo
 OBWfnRDMTwo is a 2-RDM from a OneBodyWavefunction. More...
 
class  OneBody3IntOp
 
class  OneBodyDerivInt
 OneBodyDerivInt is an abstract base class for objects that compute one body derivative integrals. More...
 
class  OneBodyDerivIntV3
 This implements one body derivative integrals in the IntV3 library. More...
 
class  OneBodyFockMatrixBuilder
 Builds the one-body part of the Fock matrix in AO basis. More...
 
class  OneBodyInt
 OneBodyInt is an abstract base class for objects that compute integrals between two basis functions. More...
 
struct  OneBodyIntEvalType
 returns the type of the evaluator for evaluating this set of two-body integrals More...
 
struct  OneBodyIntEvalType< 1 >
 
struct  OneBodyIntEvalType< 2 >
 
class  OneBodyIntIter
 
class  OneBodyIntLibint2
 This implements most one body integrals in the Libint2 library. More...
 
class  OneBodyIntOp
 
struct  OneBodyIntParamsType
 which parameter set needed to specify the operator set? More...
 
struct  OneBodyIntParamsType< OneBodyOperSet::ddphi >
 
struct  OneBodyIntParamsType< OneBodyOperSet::dphi >
 
struct  OneBodyIntParamsType< OneBodyOperSet::h >
 
struct  OneBodyIntParamsType< OneBodyOperSet::mu >
 
struct  OneBodyIntParamsType< OneBodyOperSet::p4 >
 
struct  OneBodyIntParamsType< OneBodyOperSet::phi >
 
struct  OneBodyIntParamsType< OneBodyOperSet::pVp >
 
struct  OneBodyIntParamsType< OneBodyOperSet::q >
 
struct  OneBodyIntParamsType< OneBodyOperSet::T >
 
struct  OneBodyIntParamsType< OneBodyOperSet::V >
 
struct  OneBodyIntTraits
 Traits of a set of one-body integrals. More...
 
struct  OneBodyIntType
 
struct  OneBodyIntType< 1 >
 
struct  OneBodyIntType< 2 >
 
class  OneBodyIntV3
 This implements most one body integrals in the IntV3 library. More...
 
class  OneBodyNCenterIntDescr
 Implements descriptors for various two-body evaluators. More...
 
class  OneBodyOneCenterDerivInt
 OneBodyOneCenterDerivInt is an abstract base class for objects that compute one body derivative integrals on a single center. More...
 
class  OneBodyOneCenterInt
 OneBodyOneCenterInt is an abstract base class for objects that compute integrals between two basis functions. More...
 
class  OneBodyOneCenterWrapper
 
struct  OneBodyOper
 Describes one-body operators. More...
 
class  OneBodyOperDescr
 Describes permutational properties (hermiticity) of one-body operators. More...
 
struct  OneBodyOperSet
 Describes sets of one-body operator. More...
 
class  OneBodyOperSetDescr
 runtime version of OneBodyOperSetProperties More...
 
struct  OneBodyOperSetProperties
 Describes sets of two-body operators (. More...
 
struct  OneBodyOperSetProperties< OneBodyOperSet::ddphi >
 
struct  OneBodyOperSetProperties< OneBodyOperSet::dphi >
 
struct  OneBodyOperSetProperties< OneBodyOperSet::h >
 
struct  OneBodyOperSetProperties< OneBodyOperSet::mu >
 
struct  OneBodyOperSetProperties< OneBodyOperSet::p4 >
 
struct  OneBodyOperSetProperties< OneBodyOperSet::phi >
 
struct  OneBodyOperSetProperties< OneBodyOperSet::pVp >
 
struct  OneBodyOperSetProperties< OneBodyOperSet::q >
 
struct  OneBodyOperSetProperties< OneBodyOperSet::S >
 
struct  OneBodyOperSetProperties< OneBodyOperSet::T >
 
struct  OneBodyOperSetProperties< OneBodyOperSet::V >
 
class  OneBodySODerivInt
 OneBodySODerivInt computes two-center one-electron integrals in a symmetry-adapted basis. More...
 
class  OneBodySOInt
 OneBodySOInt computes two-center one-electron integrals in a symmetry-adapted basis. More...
 
class  OneBodyWavefunction
 A OneBodyWavefunction is a MolecularEnergy that solves an effective one-body problem. More...
 
class  OOGLRender
 
class  OperatorDescr
 For an operator (e.g. More...
 
class  Optimize
 The Optimize class is an abstract base class for classes that find the extreme points of Function's. More...
 
class  OptionalRefParameter
 
class  Orbital
 
class  OrbitalSpace
 Class OrbitalSpace describes a range of orbitals that are linear combinations of Gaussian basis functions (e.g. More...
 
class  OrbitalSpaceUnion
 This is a union of two OrbitalSpaces s1 and s2. More...
 
class  OrderedOrbitalSpace
 This is an OrbitalSpace ordered according to the Order type. More...
 
class  OrderedShellList
 
class  OrderedSpinOrbitalSpace
 Same as OrderedOrbitalSpace, except for spin-orbitals. More...
 
class  OSSHF
 Hartree-Fock-like wave function for open-shell singlet electronic configurations. More...
 
class  OSSSCF
 SCF implementation for open-shell singlet electronic configurations. More...
 
class  OutSimpleCo
 
class  OverlapOrthog
 This class computes the orthogonalizing transform for a basis set. More...
 
class  P86CFunctional
 Implements the Perdew 1986 (P86) correlation functional. More...
 
class  ParallelRegionTimer
 This is a parallel-away derivative of RegionTimer. More...
 
class  Parameter
 
class  ParamsRegistry
 this is a singleton registry that holds IntParams objects. More...
 
class  ParentClass
 Gives one parent class of a class. More...
 
class  ParentClasses
 Gives a list of parent classes of a class. More...
 
class  Parenthesis2q
 
class  Parenthesis2t
 
class  Parenthesis2tNum
 PTNum is the base class for the numerator in various (2)T/(2)Q models. More...
 
class  ParsedDensityFittingKey
 Parsed representation of a string key that represents fitting of a product of space1 and space2 into fspace. More...
 
class  ParsedKeyVal
 
class  ParsedOneBodyIntKey
 Parsed representation of a string key that represents a set of one-body integrals. More...
 
class  ParsedOneBodyOperSetKey
 Parsed representation of a string key that represents a one-body operator set (OneBodyOperSet + associated parameters). More...
 
class  ParsedOrbitalSpaceKey
 Parses keys of OrbitalSpace. More...
 
class  ParsedTransformedOrbitalSpaceKey
 Parses keys of a "transformed" OrbitalSpace. More...
 
class  ParsedTwoBodyFourCenterIntKey
 Parsed representation of a string key that represents a set of 4-center 2-body integrals. More...
 
struct  ParsedTwoBodyMOIntsKeyInvolvesSpace
 
struct  ParsedTwoBodyMOIntsKeyInvolvesSpace< 2 >
 
struct  ParsedTwoBodyMOIntsKeyInvolvesSpace< 3 >
 
struct  ParsedTwoBodyMOIntsKeyInvolvesSpace< 4 >
 
class  ParsedTwoBodyOperSetKey
 Parsed representation of a string key that represents a two-body operator set (TwoBodyOperSet + associated parameters). More...
 
class  ParsedTwoBodyThreeCenterIntKey
 Parsed representation of a string key that represents a set of 3-center 2-body integrals. More...
 
class  ParsedTwoBodyTwoCenterIntKey
 Parsed representation of a string key that represents a set of 2-center 2-body integrals. More...
 
struct  ParticleHoleOrbitalAttributes
 Describes particle-hole attributes of orbitals. More...
 
class  PBECFunctional
 Implements the Perdew-Burke-Ernzerhof (PBE) correlation functional. More...
 
class  PBEXFunctional
 Implements the Perdew-Burke-Ernzerhof (PBE) exchange functional. More...
 
class  PermutedDensityFitting
 Computes density fitting for |ij) density from fitting of |ji) DensityFitting. More...
 
class  PetiteList
 PetiteList is a petite list (see Dupuis & King, IJQC 11,613,(1977) ) that can be used for constructing symmetry-adapted basis functions (`‘symmetry orbitals’', SO for short) as well as transforming operators and functions from AO to SO basis, and vice versa. More...
 
class  PipekMezeyLocalization
 Performs a Pipek-Mezey orbital localization. More...
 
class  PointChargeData
 
class  PointChargeIntV3
 
class  PointGroup
 The PointGroup class is really a place holder for a CharacterTable. More...
 
struct  PointInputData
 Contains data needed at each point by a DenFunctional. More...
 
struct  PointOutputData
 Contains data generated at each point by a DenFunctional. More...
 
class  Pool
 
class  PoolData
 
class  PopulatedOrbitalSpace
 PopulatedOrbitalSpace is an OrbitalSpace populated with a density. More...
 
class  PowellUpdate
 The PowellUpdate class is used to specify a Powell hessian update. More...
 
class  PrefixKeyVal
 
struct  prim_pair_t
 
class  PrimPairsLibint2
 PrimPairsLibint2 contains primitive pair data. More...
 
class  ProcFileGrp
 The ProcFileGrp concrete class provides an implementation of FileGrp for a single processor. More...
 
class  ProcMemoryGrp
 The ProcMemoryGrp concrete class provides an implementation of MemoryGrp for a single processor. More...
 
class  ProcMessageGrp
 ProcMessageGrp provides a concrete specialization of MessageGrp that supports only one node. More...
 
class  ProcThreadGrp
 The ProcThreadGrp class privides a concrete thread group appropriate for an environment where there is only one thread. More...
 
class  product_iterator
 
class  ProgrammingError
 This is thrown when a situations arises that should be impossible. More...
 
class  property
 Helper class to connect a 'property' in a c++ class to getter/setter methods. More...
 
class  PsiCC
 PsiCC is a Psi coupled cluster wave function. More...
 
class  PsiCC2
 PsiCC2 is a concrete implementation of Psi ground-state CC2 wave function. More...
 
class  PsiCC3
 PsiCC3 is a concrete implementation of Psi ground-state CC3 wave function. More...
 
class  PsiCC3_PT2R12
 PsiCC3_PT2R12 is a concrete implementation of the ground-state $\mathrm{CC3}-(2)_{\overline{R12}}$ method. More...
 
class  PsiCC_PT2R12
 PsiCC_PT2R12 is used to implement $\mathrm{CC}-(2)_{\overline{R12}}$ methods. More...
 
class  PsiCCSD
 PsiCCSD is a concrete implementation of Psi CCSD wave function. More...
 
class  PsiCCSD_PT2R12
 PsiCCSD_PT2R12 is a concrete implementation of the $\mathrm{CCSD}-(2)_{\overline{R12}}$ method. More...
 
class  PsiCCSD_PT2R12T
 PsiCCSD_PT2R12T is a concrete implementation of the $\mathrm{CCSD}(T)_{\overline{R12}}$ method. More...
 
class  PsiCCSD_T
 PsiCCSD_T is a concrete implementation of Psi CCSD(T) wave function. More...
 
class  PsiChkpt
 PsiChkpt know to read data from Psi checkpoint file and convert it to conform to the representations expected in MPQC. More...
 
class  PsiCLHF
 PsiCLHF is a concrete implementation of Psi RHF wave function. More...
 
class  PsiCorrWavefunction
 PsiCorrWavefunction is a Psi correlated wave function. More...
 
class  PsiEffH
 
class  PsiExEnv
 PsiExEnv specifies a Psi execution environment. More...
 
class  PsiFile11
 PsiFile11 is a Psi gradient file. More...
 
class  PsiHSOSHF
 PsiHSOSHF is a concrete implementation of Psi ROHF wave function. More...
 
class  PsiInput
 PsiInput is a Psi input file. More...
 
class  PsiRASCI
 PsiRASCI is a general (RAS) CI PsiWavefunction. More...
 
class  PsiRASCI_RefWavefunction
 RefWavefunction specialization for a general restricted-active-space multiconfiguration wave function. More...
 
class  PsiRASSCF
 PsiRASSCF is a type of a PsiRASCI wavefunction that implements orbital optimization. More...
 
class  PsiRDMOne
 PsiRDMOne is a 1-RDM from a PsiWavefunction. More...
 
class  PsiRDMTwo
 PsiRDMTwo is a 2-RDM from a PsiWavefunction. More...
 
class  PsiSCF
 PsiSCF is an abstract base for all Psi SCF wave functions. More...
 
class  PsiSCF_RefWavefunction
 RefWavefunction specialization initialized with a PsiSCF wave function. More...
 
class  PsiSpinFreeRDMOne
 PsiSpinFreeRDMOne is a spin-free 1-RDM from a PsiWavefunction. More...
 
class  PsiSpinFreeRDMTwo
 PsiRDMTwo is a spin-free 2-RDM from a PsiWavefunction. More...
 
class  PsiUHF
 PsiUHF is a concrete implementation of Psi UHF wave function. More...
 
class  PsiWavefunction
 PsiWavefunction is an abstract base for all Psi wave functions. More...
 
class  PT2R12
 PT2R12: a universal spin-free second-order R12 correction. More...
 
class  PthreadThreadGrp
 The PthreadThreadGrp class privides a concrete thread group appropriate for an environment where pthreads is available. More...
 
class  PTNum
 PTNum is the base class for the numerator in various (T) models. More...
 
class  PumaThreadGrp
 The PumaThreadGrp class privides a concrete thread group appropriate for the intel teraflops machine. More...
 
class  PW86XFunctional
 Implements the Perdew-Wang 1986 (PW86) Exchange functional. More...
 
class  PW91CFunctional
 The Perdew-Wang 1991 correlation functional computes energies and densities using the designated local correlation functional. More...
 
class  PW91XFunctional
 The Perdew-Wang 1991 exchange functional computes energies and densities using the designated local correlation functional. More...
 
class  PW92LCFunctional
 Implements the PW92 local (LSDA) correlation term. More...
 
class  PZ81LCFunctional
 Implements the PZ81 local (LSDA) correlation functional. More...
 
class  QNewtonOpt
 The QNewtonOpt implements a quasi-Newton optimization scheme. More...
 
class  R12Amplitudes
 R12Amplitudes gives the amplitudes of some R12-ansatz-related terms in wave function. More...
 
class  R12EnergyIntermediates
 The class R12EnergyIntermediates is the front-end to R12 intermediates. More...
 
class  R12IntEval
 R12IntEval is the top-level class which computes intermediates occuring in R12 theories. More...
 
class  R12Technology
 R12Technology describes technical features of the R12 approach. More...
 
class  R12TwoBodyIntKeyCreator
 Creates R12TwoBodyIntKey for the given CorrelationFactor. More...
 
class  R12WavefunctionWorld
 Class R12WavefunctionWorld describes the environment of a Wavefunction implementing an R12 method. More...
 
class  RadialAngularIntegrator
 An implementation of an integrator using any combination of a RadialIntegrator and an AngularIntegrator. More...
 
class  RadialIntegrator
 An abstract base class for radial integrators. More...
 
class  RangeCreator
 RangeCreator<T> is Functor which can be used up to n times to create objects of type T. More...
 
class  RangeLock
 
class  RangeLockItem
 
class  RDM
 RDM<R> is a reduced density matrix of rank R. More...
 
class  RDM< Zero >
 this specialization is needed to make RDM<R>::rdm_m_1() work More...
 
class  RDMAMemoryGrp
 The RDMAMemoryGrp abstract class specializes the MsgMemoryGrp class. More...
 
class  RDMCumulant
 RDMCumulant<R> is a reduced density matrix cumulant of rank R. More...
 
class  ReadMolecularHessian
 ReadMolecularHessian is an implementation of MolecularHessian that reads the hessian from a file. More...
 
class  RedundantCartesianIter
 RedundantCartesianIter objects loop through all possible combinations of a given number of axes. More...
 
class  RedundantCartesianIterCCA
 
class  RedundantCartesianIterGAMESS
 
class  RedundantCartesianIterV3
 
class  RedundantCartesianSubIter
 Like RedundantCartesianIter, except a, b, and c are fixed to a given value. More...
 
class  RedundantCartesianSubIterCCA
 
class  RedundantCartesianSubIterGAMESS
 
class  RedundantCartesianSubIterV3
 
class  RedundMolecularCoor
 The RedundMolecularCoor class provides a redundant set of simple internal coordinates. More...
 
class  reentrant_auto_time_accumulator
 
class  reentrant_time_accumulator_factory
 
class  ReentrantUncappedTorusHoleShape
 
class  Ref
 A template class that maintains references counts. More...
 
class  RefBase
 Provides a few utility routines common to all Ref template instantiations. More...
 
class  RefCount
 The base class for all reference counted objects. More...
 
class  RefDiagSCMatrix
 The RefDiagSCMatrix class is a smart pointer to an DiagSCMatrix specialization. More...
 
struct  RefObjectEqual
 this functor can be used as a binary predicate for standard algorithms. More...
 
class  RefSCDimension
 The RefSCDimension class is a smart pointer to an SCDimension specialization. More...
 
class  RefSCMatrix
 The RefSCMatrix class is a smart pointer to an SCMatrix specialization. More...
 
class  RefSCVector
 The RefSCVector class is a smart pointer to an SCVector specialization. More...
 
class  RefSymmSCMatrix
 The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization. More...
 
struct  RefSymmSCMatrixEqual
 this functor compares RefSymmSCMatrix objects. More...
 
class  RefWavefunction
 RefWavefunction represents the reference wave function (or, more generally, a state) used as a starting point for the introduction of electron correlation. More...
 
struct  RefWavefunctionFactory
 This factory produces the RefWavefunction that corresponds to the type of ref object. More...
 
class  RegionTimer
 The RegionTimer class is used to record the time spent in a section of code. More...
 
class  Registry
 Registry wraps std::map and can be policy-configured to act as a Singleton or a regular object. More...
 
class  Render
 
class  RenderedBallMolecule
 
class  RenderedMolecularSurface
 
class  RenderedMolecule
 
class  RenderedObject
 
class  RenderedObjectSet
 
class  RenderedPolygons
 
class  RenderedPolylines
 
class  RenderedSphere
 
class  RenderedStickMolecule
 
class  ReplDiagSCMatrix
 Replicated DiagSCMatrix. More...
 
class  ReplFockBuildMatrix
 
class  ReplSCMatrix
 
class  ReplSCMatrixKit
 The ReplSCMatrixKit produces matrices that work in a many processor environment. More...
 
class  ReplSCMatrixListSubblockIter
 
class  ReplSCVector
 
class  ReplSymmSCMatrix
 Replicated SymmSCMatrix. More...
 
class  Result
 Result are members of Compute specializations that keep track of whether or not a particular result should be computed or if it has already been computed. More...
 
class  ResultInfo
 This is a base class for all of Compute's result types. More...
 
class  Runnable
 The Runnable class is a DescribedClass with a pure virtual run member. More...
 
class  SavableState
 Base class for objects that can save/restore state. More...
 
class  SavableStateProxy
 
class  ScaledTorsSimpleCo
 The ScaledTorsSimpleCo class describes an scaled torsion internal coordinate of a molecule. More...
 
class  SCBlockInfo
 SCBlockInfo contains blocking information for the SCDimension class. More...
 
class  SCDimension
 The SCDimension class is used to determine the size and blocking of matrices. More...
 
struct  SCElement
 
class  SCElementAccumulateDiagSCMatrix
 
class  SCElementAccumulateSCMatrix
 
class  SCElementAccumulateSCVector
 
class  SCElementAccumulateSymmSCMatrix
 
class  SCElementAssign
 
struct  SCElementBinaryPredicateAdapter
 Adapts a binary predicate that acts on SCElement::value_type. More...
 
class  SCElementDAXPY
 does $ Y(i,j) += a*X(i,j), \forall i,j $ More...
 
class  SCElementDestructiveProduct
 does $ A(i,j) *= B(i,j), \forall i,j $ More...
 
class  SCElementDot
 
class  SCElementFindExtremum
 Searches each range in IterationRanges for element i so that there is no element j in that Range for which Op(i,j) == true. More...
 
class  SCElementInvert
 
class  SCElementKNorm
 Computes k-norm of matrix. More...
 
class  SCElementMaxAbs
 
class  SCElementMinAbs
 
class  SCElementOp
 Objects of class SCElementOp are used to perform operations on the elements of matrices. More...
 
class  SCElementOp2
 The SCElementOp2 class is very similar to the SCElementOp class except that pairs of blocks are treated simultaneously. More...
 
class  SCElementOp3
 The SCElementOp3 class is very similar to the SCElementOp class except that a triplet of blocks is treated simultaneously. More...
 
class  SCElementRandomize
 
class  SCElementScalarProduct
 evaluates $ \sum_{i,j} A(i,j) * B(i,j) $ More...
 
class  SCElementScale
 
class  SCElementScaleDiagonal
 
class  SCElementShiftDiagonal
 
class  SCElementSquareRoot
 
class  SCElementSum
 
class  SCException
 This is a sc::Exception specialization that keeps track of the ClassDesc for the MPQC object from which it is thrown, and optional sc::Debugger::Backtrace object. More...
 
class  SCExtrapData
 SCExtrapData hold the data to be extrapolated needed by SelfConsistentExtrapolation. More...
 
class  SCExtrapError
 SCExtrapError holds the error data needed by SelfConsistentExtrapolation. More...
 
class  SCF
 The SCF class is the base for all classes that use a self-consistent field procedure to solve an effective one body problem. More...
 
class  SCFEnergy
 
class  SCFIterationData
 
class  SCFIterationLogger
 
class  SCFormIO
 This utility class is used to print only on node 0 and to provide attractive indentation of output. More...
 
class  SCMatrix
 The SCMatrix class is the abstract base class for general double valued n by m matrices. More...
 
class  SCMatrix3
 
class  SCMatrixBlock
 SCMatrixBlock is the base clase for all types of blocks that comprise matrices and vectors. More...
 
class  SCMatrixBlockIter
 The SCMatrixBlockIter class is used to described iterates that loop through the elements in a block. More...
 
class  SCMatrixBlockList
 
class  SCMatrixBlockListIter
 
class  SCMatrixBlockListLink
 
class  SCMatrixCompositeSubblockIter
 
class  SCMatrixDiagBlock
 The SCMatrixDiagBlock describes a diagonal piece of a matrix. More...
 
class  SCMatrixDiagBlockIter
 
class  SCMatrixDiagSubBlock
 The SCMatrixDiagSubBlock describes a diagonal subblock of a matrix. More...
 
class  SCMatrixDiagSubBlockIter
 
class  SCMatrixdouble
 
struct  SCMatrixIterationRanges
 
class  SCMatrixJointSubblockIter
 
class  SCMatrixKit
 The SCMatrixKit abstract class acts as a factory for producing matrices. More...
 
class  SCMatrixListSubblockIter
 
class  SCMatrixLTriBlock
 The SCMatrixLTriBlock describes a triangular piece of a matrix. More...
 
class  SCMatrixLTriBlockIter
 
class  SCMatrixLTriSubBlock
 The SCMatrixLTriSubBlock describes a triangular subblock of a matrix. More...
 
class  SCMatrixLTriSubBlockIter
 
class  SCMatrixNullSubblockIter
 
class  SCMatrixRectBlock
 The SCMatrixRectBlock describes a rectangular piece of a matrix. More...
 
class  SCMatrixRectBlockIter
 
class  SCMatrixRectSubBlock
 The SCMatrixRectSubBlock describes a rectangular piece of a matrix. More...
 
class  SCMatrixRectSubBlockIter
 
class  SCMatrixSimpleSubblockIter
 
class  SCMatrixSubblockIter
 Objects of class SCMatrixSubblockIter are used to iterate through the blocks of a matrix. More...
 
class  scprintf
 This class allows printf-like output to be sent to an ostream. More...
 
class  SCVector
 The SCVector class is the abstract base class for double valued vectors. More...
 
class  SCVector3
 a 3-element version of SCVector More...
 
class  SCVectordouble
 
class  SCVectorSimpleBlock
 The SCVectorSimpleBlock describes a piece of a vector. More...
 
class  SCVectorSimpleBlockIter
 
class  SCVectorSimpleSubBlock
 The SCVectorSimpleSubBlock describes a subblock of a vector. More...
 
class  SCVectorSimpleSubBlockIter
 
class  SD_RefWavefunction
 RefWavefunction specialization for a single-determinant wave function. More...
 
class  SelfConsistentExtrapolation
 The SelfConsistentExtrapolation abstract class is used to iteratively solve equations requiring a self consistent solution, such as,. More...
 
class  SetIntCoor
 The SetIntCoor class describes a set of internal coordinates. More...
 
class  Shape
 A Shape is a Volume represents an 3D solid. More...
 
class  shell_block_iterator
 
class  ShellBlockData
 
class  ShellBlockIterator
 
class  ShellBlockSkeleton
 
struct  ShellData
 
struct  ShellDataWithValue
 
class  ShellExtent
 
struct  ShellIndexWithValue
 binds an integer index + real annotation, e.g. Shell index + associated operator norm More...
 
class  ShellPairIter
 
class  ShellPairLibint2
 ShellPairLibint2 is an interface to PrimPairsLibint2. More...
 
class  ShellPairsLibint2
 ShellPairsLibint2 contains primitive pair data for all shell pairs formed from a pair of basis sets. More...
 
class  ShellQuartetIter
 
class  ShellRotation
 Compute the transformation matrices that maps a set of Cartesian functions to another set of Cartesian functions in a rotated coordinate system. More...
 
class  ShmMemoryGrp
 The ShmMemoryGrp concrete class provides an implementation of MsgMemoryGrp. More...
 
class  SimpleCo
 The SimpleCo abstract class describes a simple internal coordinate of a molecule. More...
 
class  SingleReference_R12Intermediates
 SingleReference_R12Intermediates computes R12/F12 intermediates using MPQC3 runtime. More...
 
class  SlaterXFunctional
 Implements the Slater exchange functional. More...
 
struct  SO
 
struct  SO_block
 
class  SOBasis
 A SOBasis object describes the transformation from an atomic orbital basis to a symmetry orbital basis. More...
 
class  SOTransform
 SOTransform maintains a list of AO shells that are be used to compute the SO. More...
 
class  SOTransformFunction
 SOTransformShell describes how an AO function contributes to an SO function in a particular SO shell. More...
 
class  SOTransformShell
 SOTransformShell maintains a list of AO functions contribute to an SO function in a particular SO shell. More...
 
class  SpatialMOPairIter
 SpatialMOPairIter gives the ordering of pairs of spatial orbitals. More...
 
class  SpatialMOPairIter_eq
 SpatialMOPairIter_eq gives the ordering of same-spin and different-spin orbital pairs if both orbitals of the pairs are from the same space. More...
 
class  SpatialMOPairIter_neq
 SpatialMOPairIter_neq gives the ordering of pairs of spatial orbitals from different spaces. More...
 
class  SphereShape
 
class  SphericalTransform
 This is a base class for a container for a sparse Cartesian to solid harmonic basis function transformation. More...
 
class  SphericalTransformComponent
 This is a base class for a container for a component of a sparse Cartesian to solid harmonic basis function transformation. More...
 
class  SphericalTransformComponentLibint2
 
class  SphericalTransformComponentV3
 
class  SphericalTransformIter
 This iterates through the components of a SphericalTransform. More...
 
class  SphericalTransformLibint2
 
class  SphericalTransformV3
 
class  SpinFreeRDM
 SpinFreeRDM<R> is a spin-free reduced density matrix of rank R. More...
 
class  SpinFreeRDM< Zero >
 this specialization is needed to make SpinFreeRDM<R>::rdm_m_1() work More...
 
class  SpinMOPairIter
 SpinMOPairIter iterates over pairs of spinorbitals. More...
 
class  SpinOrbitalPT2R12
 SpinOrbitalPT2R12: a universal second-order R12 correction. More...
 
class  SplitBasisSet
 The SplitBasisSet class is used to split a basis set's contractions into multiple shells. More...
 
class  SSAccResult
 This associates a result datum with an accuracy. More...
 
class  Stack
 
class  StateClassData
 
class  StateIn
 
class  StateInBin
 
class  StateInData
 
class  StateInFile
 
class  StateInText
 
class  StateOut
 
class  StateOutBin
 
class  StateOutData
 
class  StateOutFile
 
class  StateOutText
 
class  StateRecv
 StateRecv is a concrete specialization of MsgStateRecv that does the receive part of point to point communication in a MessageGrp. More...
 
class  StateSend
 StateSend is a concrete specialization of MsgStateSend that does the send part of point to point communication in a MessageGrp. More...
 
class  StdDenFunctional
 The StdDenFunctional class is used to construct the standard density functionals. More...
 
class  SteepestDescentOpt
 
class  StreSimpleCo
 The StreSimpleCo class describes an stretch internal coordinate of a molecule. More...
 
class  StringKeyVal
 
class  StringReplacementListIterator
 Iterates over strings obtained by rank R replecement from a given string. More...
 
class  SumAccumH
 This specialization of AccumHNull does nothing. More...
 
class  SumDenFunctional
 The SumDenFunctional computes energies and densities using the a sum of energy density functions method. More...
 
class  SumIntCoor
 SumIntCoor is used to construct linear combinations of internal coordinates. More...
 
class  SumMolecularEnergy
 linear combination of MolecularEnergy objects More...
 
class  SuperpositionOfAtomicDensities
 SuperpositionOfAtomicDensities is a OneBodyWavefunction useful as a guess for other OneBodyWavefunction objects. More...
 
struct  SymmetryMOOrder
 order by symmetry first, then by energy, then by occ num More...
 
class  SymmetryOperation
 The SymmetryOperation class provides a 3 by 3 matrix representation of a symmetry operation, such as a rotation or reflection. More...
 
class  SymmMolecularCoor
 The SymmMolecularCoor class derives from IntMolecularCoor. More...
 
class  SymmOneBodyIntIter
 Iterator over symmetry unique shell pairs. More...
 
class  SymmSCMatrix
 The SymmSCMatrix class is the abstract base class for symmetric double valued matrices. More...
 
class  SymmSCMatrix2SCExtrapData
 
class  SymmSCMatrix4SCExtrapData
 
class  SymmSCMatrixdouble
 
class  SymmSCMatrixNSCExtrapData
 
class  SymmSCMatrixSCExtrapData
 
class  SymmSCMatrixSCExtrapError
 
class  SymmTwoBodyIntIter
 Iterator over symmetry unique shell quartets. More...
 
class  SymmTwoBodyTwoCenterIntIter
 Iterator over symmetry unique shell pairs. More...
 
class  SymRep
 The SymRep class provides an n dimensional matrix representation of a symmetry operation, such as a rotation or reflection. More...
 
class  SyscallFailed
 This is thrown when an system call fails with an errno. More...
 
class  SystemException
 This is thrown when a system problem occurs. More...
 
class  Taylor_Fjt
 Uses Taylor interpolation of up to 8-th order to compute the Boys function. More...
 
class  TaylorMolecularEnergy
 
class  TBGrad
 
class  TCHF
 Two-determinant wave function for open-shell singlet electronic configurations. More...
 
class  TCSCF
 SCF implementation for open-shell singlet electronic configurations. More...
 
class  Tensor
 
class  TensorExtrapData
 
class  TensorExtrapError
 
class  TensorIndexRangeIterator
 TensorIndexRangeIterator is a direct product of shell ranges for each center. More...
 
class  TestEffH
 
class  TestRunnable
 
class  Thread
 The Thread abstract class defines an interface which must be implemented by classes wishing to be run as threads. More...
 
class  threaded_iterator
 
class  ThreadGrp
 The ThreadGrp abstract class provides a means to manage separate threads of control. More...
 
class  ThreadLock
 The ThreadLock abstract class provides mutex locks to be used in conjunction with ThreadGrp's. More...
 
class  ThreadLockHolder
 Acquire a lock on creation and release it on destruction. More...
 
class  ThreadReplicated
 
class  ThreadTimer
 
class  time_accumulator_factory
 
class  TimedRegion
 TimedRegion is a helper class for RegionTimer. More...
 
class  Timer
 The Timer class uses RegionTimer to time intervals in an exception safe manner. More...
 
class  TimerHolder
 
class  ToleranceExceeded
 This is thrown when when some tolerance is exceeded. More...
 
class  TorsSimpleCo
 The TorsSimpleCo class describes an torsion internal coordinate of a molecule. More...
 
class  Transform
 
class  TransformedDensityFitting
 Computes density fitting for |ij) density from fitting of |iq) DensityFitting where q is the AO space supporting j. More...
 
class  TranslateData
 Generic data translation. More...
 
class  TranslateDataByteSwap
 Data translation to an external representation with bytes swapped. More...
 
class  TranslateDataIn
 Convert data from other formats. More...
 
class  TranslateDataOut
 Convert data to other formats. More...
 
class  Triangle
 
class  TriangleIntegrator
 
class  TriangulatedImplicitSurface
 
class  TriangulatedSurface
 
class  TriangulatedSurfaceIntegrator
 
class  TriInterpCoef
 
class  TriInterpCoefKey
 
class  tristate_less
 
class  TwoBodyDerivInt
 This is an abstract base type for classes that compute geometric derivatives of the integrals involving two electrons and four basis functions. More...
 
class  TwoBodyDerivIntLibint2
 This implements electron repulsion derivative integrals in the IntV3 library. More...
 
class  TwoBodyDerivIntV3
 This implements electron repulsion derivative integrals in the IntV3 library. More...
 
class  TwoBodyFockMatrixBuilder
 Builds the two-body part of the Fock matrix in AO basis using integral-direct algorithm. More...
 
class  TwoBodyFockMatrixDFBuilder
 Builds the two-body part of the Fock matrix in AO basis using DF-based algorithm. More...
 
class  TwoBodyFockMatrixTransformBuilder
 Builds the two-body part of the Fock matrix in MO basis using AO->MO transforms. More...
 
class  TwoBodyGrid
 Class TwoBodyGrid describes a set of coordinates of 2 particles. More...
 
class  TwoBodyInt
 This is an abstract base type for classes that compute integrals involving two electrons and 2 functions per electron. More...
 
class  TwoBodyIntBatch
 This is an abstract base type for classes that compute integrals involving two electrons and 2 functions per electron. More...
 
class  TwoBodyIntBatchGeneric
 This is a generic implementation of TwoBodyIntBatch in terms of a TwoBodyInt. More...
 
class  TwoBodyIntDescrCreator
 Creates TwoBodyIntDescr for correlation factor C. More...
 
class  TwoBodyIntEval
 This is an abstract base type for classes that compute integrals involving two electrons and 2 functions per electron. More...
 
struct  TwoBodyIntEvalType
 returns the type of the evaluator for evaluating this set of two-body integrals More...
 
struct  TwoBodyIntEvalType< 2 >
 
struct  TwoBodyIntEvalType< 3 >
 
struct  TwoBodyIntEvalType< 4 >
 
class  TwoBodyIntIter
 
class  TwoBodyIntLayout
 describes the physical layout of the integrals in TwoBodyIntsAcc More...
 
class  TwoBodyIntLibint2
 This implements 4-center two-electron integrals in the IntLibint2 library. More...
 
struct  TwoBodyIntParamsType
 which parameter set needed to specify the operator set? More...
 
struct  TwoBodyIntParamsType< TwoBodyOperSet::DeltaFunction >
 
struct  TwoBodyIntParamsType< TwoBodyOperSet::ERI >
 
struct  TwoBodyIntParamsType< TwoBodyOperSet::G12 >
 
struct  TwoBodyIntParamsType< TwoBodyOperSet::G12_T1_G12 >
 
struct  TwoBodyIntParamsType< TwoBodyOperSet::G12DKH >
 
struct  TwoBodyIntParamsType< TwoBodyOperSet::G12NC >
 
struct  TwoBodyIntParamsType< TwoBodyOperSet::R12 >
 
struct  TwoBodyIntParamsType< TwoBodyOperSet::R12_0_G12 >
 
struct  TwoBodyIntParamsType< TwoBodyOperSet::R12_m1_G12 >
 
struct  TwoBodyIntShape
 Describes types of integrals of 2-body operators. More...
 
struct  TwoBodyIntTraits
 Traits of a set of two-body integrals. More...
 
struct  TwoBodyIntType
 
struct  TwoBodyIntType< 2 >
 
struct  TwoBodyIntType< 3 >
 
struct  TwoBodyIntType< 4 >
 
class  TwoBodyIntV3
 This implements electron repulsion integrals in the IntV3 library. More...
 
class  TwoBodyMOIntsRuntime
 Smart runtime support for computing MO-basis integrals. More...
 
class  TwoBodyMOIntsRuntimeUnion23
 TwoBodyMOIntsRuntimeUnion23 packages 2-center and 3-center runtimes; it also keeps track of 2-center matrix inverses. More...
 
class  TwoBodyMOIntsTransform
 TwoBodyMOIntsTransform computes two-body integrals in MO basis using parallel integrals-direct AO->MO transformation. More...
 
class  TwoBodyMOIntsTransform_123Inds
 
class  TwoBodyMOIntsTransform_12Inds
 
class  TwoBodyMOIntsTransform_13Inds
 
class  TwoBodyMOIntsTransform_ijxy
 TwoBodyMOIntsTransform_ijxy computes (ij|xy) integrals using parallel integrals-direct AO->MO transformation. More...
 
class  TwoBodyMOIntsTransform_ikjy
 TwoBodyMOIntsTransform_ikjy computes (ik|jy) integrals using parallel integrals-direct AO->MO transformation. More...
 
class  TwoBodyMOIntsTransform_iRjS
 TwoBodyMOIntsTransform_iRjS computes (iR|jS), or <ij|RS> integrals, where R and S are atomic orbitals, using parallel integral-direct AO->MO transformation. More...
 
class  TwoBodyMOIntsTransform_ixjy
 TwoBodyMOIntsTransform_ixjy computes (ix|jy) integrals using parallel integrals-direct AO->MO transformation. More...
 
class  TwoBodyMOIntsTransform_ixjy_df
 TwoBodyMOIntsTransform_ixjy_df computes (ix|jy) integrals using parallel integral-direct density-fitting. More...
 
class  TwoBodyNCenterIntDescr
 Implements descriptors for various two-body evaluators. More...
 
struct  TwoBodyOper
 Describes two-body operators. More...
 
class  TwoBodyOperDescr
 Describes permutational properties (hermiticity, Bose/Fermi) of a two-body operator. More...
 
struct  TwoBodyOperSet
 Known two-body operator sets. More...
 
class  TwoBodyOperSetDescr
 Describes sets of two-body operator. More...
 
struct  TwoBodyOperSetProperties
 Describes sets of two-body operators (. More...
 
struct  TwoBodyOperSetProperties< TwoBodyOperSet::DeltaFunction >
 
struct  TwoBodyOperSetProperties< TwoBodyOperSet::ERI >
 
struct  TwoBodyOperSetProperties< TwoBodyOperSet::G12 >
 
struct  TwoBodyOperSetProperties< TwoBodyOperSet::G12_T1_G12 >
 
struct  TwoBodyOperSetProperties< TwoBodyOperSet::G12DKH >
 
struct  TwoBodyOperSetProperties< TwoBodyOperSet::G12NC >
 
struct  TwoBodyOperSetProperties< TwoBodyOperSet::R12 >
 
struct  TwoBodyOperSetProperties< TwoBodyOperSet::R12_0_G12 >
 
struct  TwoBodyOperSetProperties< TwoBodyOperSet::R12_m1_G12 >
 
class  TwoBodySODerivInt
 TwoBodySODerivInt computes four-center two-electron derivative integrals in a symmetry-adapted basis. More...
 
class  TwoBodySOInt
 TwoBodySOInt computes four-center two-electron integrals in a symmetry-adapted basis. More...
 
class  TwoBodyTensorInfo
 Provides information about the type of a two body tensor. More...
 
class  TwoBodyThreeCenterDerivInt
 This is an abstract base type for classes that compute three centers integrals involving two electrons. More...
 
class  TwoBodyThreeCenterInt
 This is an abstract base type for classes that compute integrals involving two electrons in three Gaussian functions. More...
 
class  TwoBodyThreeCenterIntLibint2
 This implements 3-center 2-body integrals in the IntLibint2 library. More...
 
class  TwoBodyThreeCenterIntV3
 This implements electron repulsion integrals involving three centers in the IntV3 library. More...
 
class  TwoBodyThreeCenterMOIntsTransform
 TwoBodyThreeCenterMOIntsTransform computes (xy|z) integrals, using parallel integral-direct AO->MO transformation. More...
 
class  TwoBodyThreeCenterMOIntsTransform_ijR
 TwoBodyThreeCenterMOIntsTransform_ijR computes (ij|R) integrals, where R are atomic orbitals, using parallel integral-direct AO->MO transformation. More...
 
class  TwoBodyThreeCenterMOIntsTransform_ijR_using_iqR
 TwoBodyThreeCenterMOIntsTransform_ijR computes (ij|R) integrals, where R are atomic orbitals, using (iq|R) integrals. More...
 
class  TwoBodyTwoCenterDerivInt
 This is an abstract base type for classes that compute two centers integrals involving two electrons. More...
 
class  TwoBodyTwoCenterInt
 This is an abstract base type for classes that compute integrals involving two electrons in two Gaussian functions. More...
 
class  TwoBodyTwoCenterIntIter
 
class  TwoBodyTwoCenterIntLibint2
 This implements 2-center 2-body integrals in the IntLibint2 library. More...
 
class  TwoBodyTwoCenterIntOp
 The 2-body analog of OneBodyIntOp. More...
 
class  TwoBodyTwoCenterIntV3
 This implements electron repulsion integrals involving two centers in the IntV3 library. More...
 
class  type_info_key
 
class  UHF
 This provides an unrestricted Hartree-Fock implementation. More...
 
class  UKS
 This provides a Kohn-Sham implementation for unrestricted-orbital open-shell systems. More...
 
class  Uncapped5SphereExclusionShape
 
class  UncappedTorusHoleShape
 
class  UncontractedBasisSet
 The UncontractedBasisSet class is used to form uncontracted Gaussian basis sets. More...
 
class  UnionBasisSet
 UnionBasisSet constructs a union of two GaussianBasisSet objects. More...
 
class  UnionShape
 A UnionShape is volume enclosed by a set of Shape's. More...
 
class  Units
 The Units class is used to perform unit conversions. More...
 
class  UnrestrictedSCF
 A base class for unrestricted self-consistent-field methods. More...
 
struct  UsedData
 
class  VDWShape
 The VDWShape class describes the surface of a molecule as the union of atom centered spheres, each the van der Waals radius of the atom. More...
 
class  vec2
 
class  vec3
 
class  vec4
 
class  Vertex
 
class  Volume
 A Volume is a Function of three variables. More...
 
class  VWN1LCFunctional
 The VWN1LCFunctional computes energies and densities using the VWN1 local correlation term (from Vosko, Wilk, and Nusair). More...
 
class  VWN2LCFunctional
 The VWN2LCFunctional computes energies and densities using the VWN2 local correlation term (from Vosko, Wilk, and Nusair). More...
 
class  VWN3LCFunctional
 The VWN3LCFunctional computes energies and densities using the VWN3 local correlation term (from Vosko, Wilk, and Nusair). More...
 
class  VWN4LCFunctional
 The VWN4LCFunctional computes energies and densities using the VWN4 local correlation term (from Vosko, Wilk, and Nusair). More...
 
class  VWN5LCFunctional
 The VWN5LCFunctional computes energies and densities using the VWN5 local correlation term (from Vosko, Wilk, and Nusair). More...
 
class  VWNLCFunctional
 An abstract base class from which the various VWN (Vosko, Wilk and Nusair) local correlation functional (1, 2, 3, 4, 5) classes are derived. More...
 
class  Wavefunction
 A Wavefunction is a MolecularEnergy that utilizies a GaussianBasisSet. More...
 
class  WavefunctionWorld
 Class WavefunctionWorld describes the environment of a Wavefunction. More...
 
class  WriteBasisGrid
 
class  WriteElectronDensity
 The WriteElectronDensity class writes the electron density at user defined grid points to the standard output or to a separate file. More...
 
class  WriteElectrostaticPotential
 The WriteElectrostaticPotential class writes the electrostatic potential at user defined grid points to the standard output or to a separate file. More...
 
class  WriteGrid
 The abstract WriteGrid class provides an interface for writing the value of a scalar function evaluated at a given set of grid points to a file. More...
 
class  WriteMolden
 
class  WriteOrbital
 The WriteOrbital class writes an orbital at user defined grid points to the standard output or to a separate file. More...
 
class  WriteOrbitals
 The WriteOrbitals class writes orbitals at user defined grid points to the standard output or to a separate file. More...
 
class  WriteVectorGrid
 WriteVectorGrid provides an interface for writing the value of a vector function evaluated at a given set of grid points to a file (compare to WriteGrid). More...
 
class  X
 
class  XalphaFunctional
 Implements the Xalpha exchange functional. More...
 
class  XMLDataStream
 
struct  XMLDataStreamTranslator
 
class  XMLReadable
 
class  XMLReader
 
class  XMLWritable
 
class  XMLWriter
 
class  Y
 

Typedefs

typedef StreSimpleCo Stre
 
typedef BendSimpleCo Bend
 
typedef TorsSimpleCo Tors
 
typedef ScaledTorsSimpleCo ScaledTors
 
typedef OutSimpleCo Out
 
typedef LinIPSimpleCo LinIP
 
typedef LinOPSimpleCo LinOP
 
typedef IntegralSetDescr< TwoBodyIntTwoBodyIntDescr
 
typedef IntegralSetDescr< TwoBodyThreeCenterIntTwoBodyThreeCenterIntDescr
 
typedef IntegralSetDescr< TwoBodyTwoCenterIntTwoBodyTwoCenterIntDescr
 
typedef TwoBodyNCenterIntDescr< 4, TwoBodyOperSet::ERITwoBodyIntDescrERI
 
typedef TwoBodyNCenterIntDescr< 3, TwoBodyOperSet::ERITwoBodyThreeCenterIntDescrERI
 
typedef TwoBodyNCenterIntDescr< 2, TwoBodyOperSet::ERITwoBodyTwoCenterIntDescrERI
 
typedef TwoBodyNCenterIntDescr< 4, TwoBodyOperSet::R12TwoBodyIntDescrR12
 
typedef TwoBodyNCenterIntDescr< 3, TwoBodyOperSet::R12TwoBodyThreeCenterIntDescrR12
 
typedef TwoBodyNCenterIntDescr< 2, TwoBodyOperSet::R12TwoBodyTwoCenterIntDescrR12
 
typedef TwoBodyNCenterIntDescr< 4, TwoBodyOperSet::G12TwoBodyIntDescrG12
 
typedef TwoBodyNCenterIntDescr< 3, TwoBodyOperSet::G12TwoBodyThreeCenterIntDescrG12
 
typedef TwoBodyNCenterIntDescr< 2, TwoBodyOperSet::G12TwoBodyTwoCenterIntDescrG12
 
typedef TwoBodyNCenterIntDescr< 4, TwoBodyOperSet::G12NCTwoBodyIntDescrG12NC
 
typedef TwoBodyNCenterIntDescr< 3, TwoBodyOperSet::G12NCTwoBodyThreeCenterIntDescrG12NC
 
typedef TwoBodyNCenterIntDescr< 2, TwoBodyOperSet::G12NCTwoBodyTwoCenterIntDescrG12NC
 
typedef TwoBodyNCenterIntDescr< 4, TwoBodyOperSet::G12DKHTwoBodyIntDescrG12DKH
 
typedef TwoBodyNCenterIntDescr< 3, TwoBodyOperSet::G12DKHTwoBodyThreeCenterIntDescrG12DKH
 
typedef TwoBodyNCenterIntDescr< 2, TwoBodyOperSet::G12DKHTwoBodyTwoCenterIntDescrG12DKH
 
typedef IntegralSetDescr< OneBodyIntOneBodyIntDescr
 
typedef IntegralSetDescr< OneBodyOneCenterIntOneBodyOneCenterIntDescr
 
typedef Ref< OneBodyInt >(Integral::* IntegralOneBodyMethod) ()
 
typedef TwoBodyMOIntsRuntime< 4 > TwoBodyFourCenterMOIntsRuntime
 
typedef TwoBodyMOIntsRuntime< 3 > TwoBodyThreeCenterMOIntsRuntime
 
typedef TwoBodyMOIntsRuntime< 2 > TwoBodyTwoCenterMOIntsRuntime
 
typedef std::set< int > domainmapvirbs_t
 
typedef std::map< std::pair< int, int >, domainmapvirbs_t > domainmap_t
 
typedef std::vector< std::pair< int, int > > my_occ_pairs_t
 
typedef std::set< std::pair< int, int > > k_2occ_local_pairs_t
 
typedef std::set< std::pair< int, int > > k_3_4_occ_local_pairs_t
 
typedef std::map< sma2::triplet< int, int, int >, domainmapvirbs_t > domainmap_triple
 
using int_range = decltype(boost::counting_range(1, 2))
 
template<typename Iterator = int_range::iterator>
using shell_iterator = basis_element_iterator< ShellData, Iterator >
 
template<typename Iterator = int_range::iterator>
using function_iterator = basis_element_iterator< BasisFunctionData, Iterator >
 
template<typename DataContainer , typename Iterator = int_range::iterator>
using range_of = decltype(boost::make_iterator_range(basis_element_iterator< DataContainer, Iterator >(), basis_element_iterator< DataContainer, Iterator >()))
 
template<typename DataContainer , typename Iterator = int_range::iterator>
using valued_range_of = decltype(boost::make_iterator_range(basis_element_with_value_iterator< DataContainer, Iterator >(), basis_element_with_value_iterator< DataContainer, Iterator >()))
 
template<typename Iterator = int_range::iterator, typename Range = range_of<ShellData, Iterator>>
using range_of_shell_blocks = decltype(boost::make_iterator_range(shell_block_iterator< Iterator, Range >(), shell_block_iterator< Iterator, Range >()))
 
template<typename DataContainer , typename Iterator = int_range::iterator>
using joined_range_of = decltype(boost::join(range_of< DataContainer, Iterator >(), range_of< DataContainer, Iterator >()))
 
typedef DecoratedOrbital< unsigned int > BlockedOrbital
 Orbital in a blocked space.
 
typedef DecoratedOrbital< MolecularOrbitalAttributesMolecularOrbital
 
typedef DecoratedOrbital< MolecularSpinOrbitalAttributesMolecularSpinOrbital
 
typedef std::vector< unsigned int > MOIndexMap
 
typedef std::vector< std::pair< unsigned int, double > > SparseMOIndexMap
 
typedef Registry< std::string, Ref< OrbitalSpace >, detail::NonsingletonCreationPolicy, std::equal_to< std::string >, RefObjectEqual< OrbitalSpace > > OrbitalSpaceRegistry
 registry of globally-known OrbitalSpace objects
 
typedef Registry< Ref< GaussianBasisSet >, Ref< OrbitalSpace >, detail::NonsingletonCreationPolicy, std::equal_to< Ref< GaussianBasisSet > >, RefObjectEqual< OrbitalSpace > > AOSpaceRegistry
 registry of globally-known OrbitalSpace objects that describe AO basis spaces
 
typedef AccResult< RefSCMatrixAccResultRefSCMatrix
 
typedef AccResult< RefSymmSCMatrixAccResultRefSymmSCMatrix
 
typedef AccResult< RefDiagSCMatrixAccResultRefDiagSCMatrix
 
typedef AccResult< RefSCVectorAccResultRefSCVector
 
typedef AccResult< RefSCMatrixResultRefSCMatrix
 
typedef AccResult< RefSymmSCMatrixResultRefSymmSCMatrix
 
typedef AccResult< RefDiagSCMatrixResultRefDiagSCMatrix
 
typedef AccResult< RefSCVectorResultRefSCVector
 
typedef ClassDescClassDescP
 
template<int nkeys>
using IdentityKeySymmetry = KeySymmetry< IdentityKeyPermutation< nkeys > >
 
template<int nkeys, int idx1, int idx2>
using SingleTranspositionKeySymmetry = KeySymmetry< IdentityKeyPermutation< nkeys >, KeyTransposition< nkeys, idx1, idx2 > >
 
template<typename val_type , typename... key_types>
using ConcurrentCache = ConcurrentCacheBase< val_type, key_types... >
 A cache of objects that can be safely accessed concurrently by threads that share memory.
 
typedef unsigned long distsize_t
 
typedef long distssize_t
 
typedef struct message_struct message_t
 
typedef struct intlist_struct intlist_t
 
typedef struct ip_cwk_stack_struct ip_cwk_stack_t
 
typedef struct ip_keyword_tree_struct ip_keyword_tree_t
 
typedef struct ip_keyword_tree_list_struct ip_keyword_tree_list_t
 
typedef struct ip_string_list_struct ip_string_list_t
 
typedef ResultInfoResultInfoP
 
typedef NCResult< int > Resultint
 
typedef NCResult< double > Resultdouble
 
typedef NCAccResult< double > AccResultdouble
 
template<typename Iterator >
using skip_iterator = threaded_iterator< Iterator >
 
typedef boost::property_tree::xml_writer_settings< char > xml_writer_settings
 
template<typename Value = std::string>
using attrs = std::map< std::string, Value >
 
typedef unsigned long refcount_t
 
typedef double(* V_FCT_PTR) (double)
 
typedef TranslateDataByteSwap TranslateDataBigEndian
 
typedef TranslateData TranslateDataLittleEndian
 

Enumerations

enum  { NotAssigned = -998, NoLastIndex = -999, NoMaximumBlockSize = -1001, IndicesEnd = -1002 }
 
enum  BlockCompositionRequirement { NoRestrictions = 0, SameCenter = 1, SameAngularMomentum = 2, Contiguous = 4 }
 
enum  LinKListName {
  L3 = 0, L3_star = 1, LB = 2, Ld_over = 3,
  Ld_under = 4
}
 
enum  Rank {
  Zero =0, One = 1, Two = 2, Three = 3,
  Four = 4
}
 Rank of the RDM.
 
enum  NSpinCases { NSpinCases1 = 2, NSpinCases2 = 3 }
 
enum  NPureSpinCases { NPureSpinCases2 = 2 }
 
enum  { ToLowerCase = true, ToUpperCase = false }
 
enum  SpinCase1 { AnySpinCase1 = -1, Alpha = 0, Beta = 1, InvalidSpinCase1 = 2 }
 
enum  SpinCase2 {
  AnySpinCase2 = -1, AlphaBeta = 0, AlphaAlpha = 1, BetaBeta = 2,
  InvalidSpinCase2 = 3
}
 
enum  PureSpinCase2 { AnyPureSpinCase2 = -1, Singlet = 0, Triplet = 1, InvalidPureSpinCase2 = 2 }
 
enum  DistArray4Storage { DistArray4Storage_XY, DistArray4Storage_YX }
 
enum  { VX, VY, VZ, VW }
 
enum  { PA, PB, PC, PD }
 
enum  { RED, GREEN, BLUE }
 

Functions

void ToStateOut (const Atom &a, StateOut &so, int &count)
 writes Atom to sc::StateOut
 
void FromStateIn (Atom &a, StateIn &si, int &count)
 reads Atom from sc::StateIn
 
bool operator== (const Atom &a, const Atom &b)
 
bool operator!= (const Atom &a, const Atom &b)
 
template<>
void FromStateIn< EGH > (EGH &v, StateIn &s, int &count)
 
template<>
void ToStateOut< EGH > (const EGH &v, StateOut &so, int &count)
 
bool operator== (const Molecule &mol1, const Molecule &mol2)
 
Ref< GaussianBasisSetoperator+ (const Ref< GaussianBasisSet > &A, const Ref< GaussianBasisSet > &B)
 Nonmember operator+ is more convenient to use than the member operator+.
 
int ishell_on_center (int icenter, const Ref< GaussianBasisSet > &bs, const GaussianShell &A)
 Find A in bs on center icenter and return its index.
 
std::vector< unsigned int > operator<< (const GaussianBasisSet &B, const GaussianBasisSet &A)
 computes a map from basis functions in A to the equivalent basis functions in B. More...
 
std::vector< int > map (const GaussianBasisSet &B, const GaussianBasisSet &A)
 same as operator<<, except A does not have to be contained in B, map[a] = -1 if function a is not in B
 
template<typename Filter >
GaussianShell filter (const GaussianShell &shell, Filter f)
 constructs a new GaussianShell from shell by applying Filter filter More...
 
void ToStateOut (const GaussianShell &s, StateOut &so, int &count)
 writes GaussianShell to sc::StateOut
 
void FromStateIn (GaussianShell &s, StateIn &si, int &count)
 reads GaussianShell from sc::StateIn
 
void symmetrize (const Ref< GPetiteList2 > &plist2, const Ref< Integral > &integral, const RefSymmSCMatrix &skel, const RefSymmSCMatrix &sym)
 Uses plist2 to convert the "skeleton" matrix into the full matrix. Only applicable when the two basis sets are equivalent.
 
void symmetrize (const Ref< GPetiteList2 > &plist2, const Ref< Integral > &integral, const RefSCMatrix &skel, const RefSCMatrix &sym)
 Uses plist2 to convert the "skeleton" matrix into the full matrix.
 
bool operator== (const IntParams &p1, const IntParams &p2)
 
template<IntegralOneBodyMethod IntMethod>
RefSymmSCMatrix compute_onebody_matrix (Ref< PetiteList > &plist)
 Creates matrix representation of a one-body operator using point-group symmetry. More...
 
sc_int_least64_t ij_offset64 (sc_int_least64_t i, sc_int_least64_t j)
 
sc_int_least64_t i_offset64 (sc_int_least64_t i)
 
int ** compute_atom_map (const Ref< GaussianBasisSet > &)
 
void delete_atom_map (int **atom_map, const Ref< GaussianBasisSet > &)
 
int ** compute_shell_map (int **atom_map, const Ref< GaussianBasisSet > &)
 
void delete_shell_map (int **shell_map, const Ref< GaussianBasisSet > &)
 
template<typename I >
std::pair< I, I > intersect (const std::pair< I, I > &range1, const std::pair< I, I > &range2)
 return intersect of two ranges defined as pair<start,fence>, i.e. [start, fence)
 
template<typename I >
bool in (const std::pair< I, I > &r, const std::pair< I, I > &range)
 return true if r is contained in range defined as pair<start,fence>, i.e. [start, fence)
 
template<typename I >
bool in (I i, const std::pair< I, I > &range)
 return true if i is in range defined as pair<start,fence>, i.e. [start, fence)
 
double RMS (const Tensor &t)
 Computes the `‘RMS norm’' of the tensor, defined as tensor->norm() divided by the size of the tensor. More...
 
bool operator== (const DensityFittingParams &A, const DensityFittingParams &B)
 
bool operator== (const DensityFittingInfo &A, const DensityFittingInfo &B)
 
template<PureSpinCase2 spin>
RefSCMatrix spinadapt (const RefSCMatrix &A, const Ref< OrbitalSpace > &bra, const Ref< OrbitalSpace > &ket)
 Takes the 4-index quantity <ij|A|kl> and returns, depending on the value of the PureSpinCase2 spin, a Singlet or Triplet spinadapted matrix.
 
void antisymmetrize (RefSCMatrix &Aanti, const RefSCMatrix &A, const Ref< OrbitalSpace > &bra, const Ref< OrbitalSpace > &ket, bool accumulate=false)
 Antisymmetrizes 4-index quantity <ij|A|kl> -> <ij|A|kl> - <ij|A|lk> and saves to Aanti. More...
 
template<bool accumulate>
void antisymmetrize (RefSCMatrix &Aanti, const RefSCMatrix &A, const Ref< OrbitalSpace > &bra1, const Ref< OrbitalSpace > &bra2, const Ref< OrbitalSpace > &ket1, const Ref< OrbitalSpace > &ket2)
 Generalization of the above. More...
 
template<bool accumulate>
void antisymmetrize (RefSymmSCMatrix &Aanti, const RefSymmSCMatrix &A, const Ref< OrbitalSpace > &bra1)
 Specialization of the above to symmetric matrices. More...
 
template<bool accumulate>
void antisymmetrize (double *Aanti, const double *A, const int n)
 Antisymmetrizes square matrix A of size n. More...
 
template<bool Accumulate>
void symmetrize (RefSCMatrix &Asymm, const RefSCMatrix &A, const Ref< OrbitalSpace > &bra, const Ref< OrbitalSpace > &ket)
 Symmetrizes 4-index quantity <ij|A|kl> -> 1/2 * (<ij|A|kl> + <ji|A|lk>) and saves to Asymm. More...
 
template<bool Accumulate, sc::fastpairiter::PairSymm BraSymm, sc::fastpairiter::PairSymm KetSymm>
void symmetrize12 (RefSCMatrix &Asymm, const RefSCMatrix &A, const Ref< OrbitalSpace > &bra1, const Ref< OrbitalSpace > &bra2, const Ref< OrbitalSpace > &ket1, const Ref< OrbitalSpace > &ket2)
 Generalization of the above. More...
 
template<bool Accumulate, sc::fastpairiter::PairSymm SrcBraSymm, sc::fastpairiter::PairSymm SrcKetSymm, sc::fastpairiter::PairSymm DstBraSymm, sc::fastpairiter::PairSymm DstKetSymm>
void symmetrize (RefSCMatrix &Aanti, const RefSCMatrix &A, const Ref< OrbitalSpace > &bra1, const Ref< OrbitalSpace > &bra2, const Ref< OrbitalSpace > &ket1, const Ref< OrbitalSpace > &ket2)
 Symmetrizes/antisymmetrizes bra and/or ket. More...
 
std::vector< double > convert (const RefDiagSCMatrix &A)
 Converts RefDiagSCMatrix to std::vector<double>
 
void print_f77_mat (const std::string &comment, const double *A, unsigned int nrow, unsigned int ncol, bool transpose=false)
 print out the Fortran-style matrix
 
RefSymmSCMatrix to_lower_triangle (const RefSCMatrix &B)
 Returns the lower triangle of the matrix B (which should be symmetric)
 
void map (const Ref< DistArray4 > &src, const Ref< OrbitalSpace > &isrc, const Ref< OrbitalSpace > &jsrc, const Ref< OrbitalSpace > &xsrc, const Ref< OrbitalSpace > &ysrc, Ref< DistArray4 > &dest, const Ref< OrbitalSpace > &idest, const Ref< OrbitalSpace > &jdest, const Ref< OrbitalSpace > &xdest, const Ref< OrbitalSpace > &ydest)
 map src to dest (uses MOIndexMap). if dest is a null ptr will clone src
 
template<typename T >
void bzerofast (T *s, size_t n)
 
template<int N>
void analyze_array (typename sma2::Array< N > &array, const char *name, const sc::Ref< sc::MessageGrp > &grp=0, bool distributed=false)
 Prints out information about an Array. More...
 
void count_dgemm (int n, int l, int m, double t)
 Records information about the time take to perform a DGEMM operation.
 
void create_domains (const sc::Ref< sc::OneBodyWavefunction > &wfn, int nfzc, const sc::RefSCMatrix &scf_local, std::vector< std::vector< int > > &domains, domainmap_t &domainmap, double distance_threshold, double completeness_threshold, bool all_nondist_pairs, std::vector< double > &interdomain_distances, sma2::Array< 2 > &S_ao, sma2::Array< 2 > &L, double bound, const sc::Ref< sc::MessageGrp > &msg)
 Create maps of occupied orbital pairs to atoms in their domain.
 
void create_domains (const sc::Ref< sc::OneBodyWavefunction > &wfn, int nfzc, const sc::RefSCMatrix &scf_local, std::vector< std::vector< int > > &domains, domainmap_t &domainmap, double distance_threshold, double completeness_threshold, domainmap_t &weak_pair_domainmap, double weak_pair_distance_threshold, bool all_nondist_pairs, std::vector< double > &interdomain_distances, sma2::Array< 2 > &S_ao, sma2::Array< 2 > &L, double bound, const sc::Ref< sc::MessageGrp > &msg)
 Create maps of occupied orbital pairs to atoms in their domain for both strong and weak pairs.
 
sc::RefSCMatrix convert_complete_to_occupied_vector (const sc::Ref< sc::OneBodyWavefunction > &wfn, const sc::RefSCMatrix &vec)
 
sc::RefSCMatrix convert_complete_to_occupied_vector_nosymm (const sc::Ref< sc::OneBodyWavefunction > &wfn, int nfzc, const sc::RefSCMatrix &vec)
 
sc::RefSCMatrix pop_local_mo (const sc::Ref< sc::OneBodyWavefunction > &wfn, int nfzc, const sc::RefSymmSCMatrix &ao_overlap, const sc::Ref< sc::MessageGrp > &msg)
 
template<typename T , typename CreateT , template< typename Elem, typename Alloc=std::allocator< Elem > > class Container>
void fill_container (CreateT &creator, Container< T > &container)
 Create Container<T> filled with objects of type T created by calling CreateT() repeatedly until it returns zero.
 
Ref< MP2R12Energyconstruct_MP2R12Energy (Ref< R12EnergyIntermediates > &r12intermediates, bool include_obs_singles, int debug, bool diag)
 
Ref< MP2R12EnergyUtil_Diaggenerate_MP2R12EnergyUtil_Diag (SpinCase2 spincase2, const RefSCDimension &oodim, const RefSCDimension &xydim, const RefSCDimension &f12dim, const unsigned int nocc_act)
 
void firstorder_cusp_coefficients (const SpinCase2 &spincase2, RefSCMatrix &C, const Ref< OrbitalSpace > &i1, const Ref< OrbitalSpace > &i2, const Ref< R12Technology::CorrelationFactor > &corrfactor)
 fills C with coefficients determined by first-order cusp conditions
 
std::vector< Ref< DistArray4 > > A_distarray4 (SpinCase2 spincase2, const Ref< R12IntEval > &r12eval)
 
RefSCMatrix Onerdm_X_F12 (SpinCase1 spin, const Ref< R12IntEval > &r12eval, int debug)
 
RefSCMatrix Onerdm_X_CABS_Singles (SpinCase1 spin, const Ref< R12IntEval > &r12eval, const Ref< R12EnergyIntermediates > &r12intermediates, int debug)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const DA4_Tile< T > &t)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, const DA4_Tile34< T > &t)
 
double get_element (const TA::TArrayD &array, const std::vector< std::size_t > &ele_idx)
 
Ref< OrbitalSpacecompute_canonvir_space (const Ref< FockBuildRuntime > &fb_rtime, const Ref< OrbitalSpace > &A, SpinCase1 spin)
 canonicalize A
 
void add_ao_space (const Ref< GaussianBasisSet > &bs, const Ref< Integral > &ints, const Ref< AOSpaceRegistry > &aoreg, const Ref< OrbitalSpaceRegistry > oreg)
 construct and add an AO space to aoreg and oreg
 
void remove_ao_space (const Ref< GaussianBasisSet > &bs, const Ref< AOSpaceRegistry > &aoreg, const Ref< OrbitalSpaceRegistry > oreg)
 undo the effect of add_ao_space()
 
template<size_t N1, size_t N2>
FermionOccupationNBitString< N1+N2 > operator+ (const FermionOccupationNBitString< N1 > &s1, const FermionOccupationNBitString< N2 > &s2)
 
template<class CharT , class Traits , size_t Ns>
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const FermionOccupationNBitString< Ns > &x)
 
FermionOccupationDBitString operator+ (const FermionOccupationDBitString &s1, const FermionOccupationDBitString &s2)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const FermionOccupationDBitString &x)
 
template<class CharT , class Traits >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const FermionOccupationBlockString &x)
 
FermionOccupationBlockString operator+ (const FermionOccupationBlockString &s1, const FermionOccupationBlockString &s2)
 
template<class CharT , class Traits , size_t Nb, typename FString >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, const FermionBasicNCOper< Nb, FString > &o)
 
std::vector< unsigned int > index_map_symmtocorrorder (const std::vector< unsigned int > &class1, const std::vector< unsigned int > &class2, const std::vector< unsigned int > &class3, const std::vector< unsigned int > &class4, const std::vector< unsigned int > &class5)
 Returns map from symmetry-blocked orbitals to correlated-order orbitals. More...
 
std::vector< unsigned int > index_map_inverse (const std::vector< unsigned int > &map)
 inverts an (isomorphic) index map that maps [0,n) onto itself
 
ShellData shell_data (GaussianBasisSet *basis, int ish, GaussianBasisSet *dfbasis)
 
const BasisFunctionData function_data (const Ref< GaussianBasisSet > &basis, int ish, const Ref< GaussianBasisSet > &dfbasis)
 
template<typename Range >
auto shell_range (const ShellBlockData< Range > &block) -> const decltype(block.shell_range)&
 
template<typename Range >
const Range & shell_range (const ShellBlockSkeleton< Range > &skeleton)
 
template<typename ShellRange >
range_of< BasisFunctionDatafunction_range (const ShellBlockData< ShellRange > &block)
 
template<>
range_of< BasisFunctionDatafunction_range (const ShellBlockData< range_of< ShellData >> &block)
 
template<typename ShellRange1 , typename ShellRange2 >
auto threaded_shell_block_pair_range (const ShellBlockData< ShellRange1 > &iblk, const ShellBlockData< ShellRange2 > &jblk, int ithr, int nthr) -> decltype(thread_over_range(product_range(iblk.shell_range, jblk.shell_range), ithr, nthr))
 
void do_threaded (int nthread, const std::function< void(int)> &f)
 
void get_split_range_part (const Ref< MessageGrp > &msg, int full_begin, int full_end, int &out_begin, int &out_size)
 
void get_split_range_part (int me, int n, int full_begin, int full_end, int &out_begin, int &out_size)
 
boost::property_tree::ptree & write_xml (const CADFCLHF::ScreeningStatistics &obj, boost::property_tree::ptree &parent, const XMLWriter &writer)
 
boost::property_tree::ptree & write_xml (const CADFCLHF::ScreeningStatistics::Iteration &obj, boost::property_tree::ptree &parent, const XMLWriter &writer)
 
std::string data_size_to_string (size_t t)
 
template<typename DataContainer >
range_of< DataContainer > basis_element_range (GaussianBasisSet *basis, OptionalRefParameter< GaussianBasisSet > dfbasis, int first_index, int last_index, int block_offset=NotAssigned)
 
template<typename DataContainer >
range_of< DataContainer > basis_element_range (GaussianBasisSet *basis, int last_index)
 
template<typename DataContainer >
range_of< DataContainer > basis_element_range (GaussianBasisSet *basis, GaussianBasisSet *dfbasis=0, int last_index=NoLastIndex)
 
template<typename DataContainer >
range_of< DataContainer > basis_element_range (GaussianBasisSet *basis, int first_index, int last_index)
 
template<typename Iterable >
boost::enable_if< boost::is_convertible< typename Iterable::value_type, int >, range_of< ShellData, typename Iterable::iterator >>::type shell_range (const Iterable &index_iterable, GaussianBasisSet *basis, GaussianBasisSet *dfbasis=0)
 
template<typename Iterable >
boost::enable_if< boost::is_convertible< typename Iterable::value_type, int >, range_of< BasisFunctionData, typename Iterable::iterator const >>::type function_range (const Iterable &index_iterable, GaussianBasisSet *basis, GaussianBasisSet *dfbasis=0)
 
template<typename Iterator >
range_of< ShellData, Iterator > shell_range (const ShellData::with_iterator< Iterator > &begin, const ShellData::with_iterator< Iterator > &end)
 
template<typename Iterator , typename Iterator2 >
range_of< ShellData, Iterator > shell_range (const ShellData::with_iterator< Iterator > &begin, const Iterator2 &end)
 
template<typename Iterator >
range_of< ShellData, Iterator > shell_range (const Iterator &begin, const Iterator &end, GaussianBasisSet *basis, GaussianBasisSet *dfbasis)
 
template<typename Iterator >
range_of< BasisFunctionData, Iterator > function_range (const BasisFunctionData::with_iterator< Iterator > &begin, const BasisFunctionData::with_iterator< Iterator > &end)
 
template<typename... Args>
range_of< ShellDatashell_range (GaussianBasisSet *basis, Args &&... args)
 
template<typename... Args>
range_of< BasisFunctionDatafunction_range (GaussianBasisSet *basis, Args &&... args)
 
range_of< BasisFunctionDatafunction_range (const ShellData &ish)
 
range_of_shell_blocks shell_block_range (GaussianBasisSet *basis, OptionalRefParameter< GaussianBasisSet > dfbasis=0, int first_index=0, int last_index=NoLastIndex, int reqs=SameCenter, int target_size=DEFAULT_TARGET_BLOCK_SIZE)
 
range_of_shell_blocks shells_blocked_by_atoms (GaussianBasisSet *basis, OptionalRefParameter< GaussianBasisSet > dfbasis=0)
 
std::ostream & operator<< (std::ostream &out, const ShellData &ish)
 
template<typename Range >
std::ostream & operator<< (std::ostream &out, const ShellBlockData< Range > &blk)
 
range_of< BasisFunctionDataiter_functions_on_center (const Ref< GaussianBasisSet > &basis, int center, const OptionalRefParameter< GaussianBasisSet > &dfbasis=0)
 
range_of< ShellDataiter_shells_on_center (GaussianBasisSet *basis, int center, const OptionalRefParameter< GaussianBasisSet > &dfbasis=0)
 
joined_range_of< ShellDataiter_shells_on_centers (const Ref< GaussianBasisSet > &basis, int center1, int center2, const OptionalRefParameter< GaussianBasisSet > &dfbasis=0)
 
range_of_shell_blocks iter_shell_blocks_on_center (const Ref< GaussianBasisSet > &basis, int center, const OptionalRefParameter< GaussianBasisSet > &dfbasis=0, int reqs=SameCenter, int target_size=DEFAULT_TARGET_BLOCK_SIZE)
 
template<typename Iterator >
valued_range_of< ShellDataWithValue, Iterator > shell_range (const ShellDataWithValue::with_iterator< Iterator > &begin, const ShellDataWithValue::with_iterator< Iterator > &end)
 
template<typename Iterator , typename Iterator2 >
valued_range_of< ShellData, Iterator > shell_range (const ShellDataWithValue::with_iterator< Iterator > &begin, const Iterator2 &end)
 
template<typename Iterator >
valued_range_of< ShellData, Iterator > shell_range (const basis_element_with_value_iterator< ShellData, Iterator > &begin, const basis_element_with_value_iterator< ShellData, Iterator > &end)
 
template<typename Iterable >
range_of_shell_blocks< typename Iterable::const_iterator > shell_block_range (const Iterable &shlist, GaussianBasisSet *basis, GaussianBasisSet *dfbasis=0, int requirements=SameCenter, int target_size=DEFAULT_TARGET_BLOCK_SIZE)
 
template<typename ShellRange >
range_of_shell_blocks< typename ShellRange::iterator::base_iterator, ShellRange > shell_block_range (const ShellBlockData< ShellRange > &iblk, int requirements=SameCenter, int target_size=DEFAULT_TARGET_BLOCK_SIZE)
 
range_of_shell_blocks< typename OrderedShellList::index_iterator > shell_block_range (const OrderedShellList &shlist, int requirements=SameCenter, int target_size=DEFAULT_TARGET_BLOCK_SIZE)
 
bool operator== (const OrbitalSpace &space1, const OrbitalSpace &space2)
 
MOIndexMap operator<< (const OrbitalSpace &space2, const OrbitalSpace &space1)
 s2<<s1 returns map from s1 to s2. More...
 
std::vector< int > map (const OrbitalSpace &space2, const OrbitalSpace &space1, bool expect_same_bases=true)
 same as operator<<(), except if some orbital in space1 is not contained in space2, map it to -1. More...
 
SparseMOIndexMap sparsemap (const OrbitalSpace &space2, const OrbitalSpace &space1, double hardzero=1e-12)
 sparsemap(s2,s1) returns a sparse one-to-one map from s1 to s2. More...
 
RefSCMatrix transform (const OrbitalSpace &space2, const OrbitalSpace &space1, const Ref< SCMatrixKit > &kit=SCMatrixKit::default_matrixkit())
 transform(s2,s1) returns matrix that transforms s1 to s2. More...
 
RefSCMatrix overlap (const OrbitalSpace &space2, const OrbitalSpace &space1, const Ref< SCMatrixKit > &kit=SCMatrixKit::default_matrixkit())
 overlap(s2,s1) returns the overlap matrix between s2 and s1. More...
 
bool in (const OrbitalSpace &s1, const OrbitalSpace &s2)
 in(s1,s2) returns true if s1 is in s2
 
std::pair< std::string, Ref< OrbitalSpace > > make_keyspace_pair (const Ref< OrbitalSpace > &space, SpinCase1 spin=AnySpinCase1)
 helper function to form a key/space pair from a OrbitalSpace
 
std::string new_unique_key (const Ref< OrbitalSpaceRegistry > &oreg)
 helper function to create a key basename (i.e. More...
 
Ref< OrbitalSpaceorthogonalize (const std::string &id, const std::string &name, const Ref< GaussianBasisSet > &bs, const Ref< Integral > &integral, OverlapOrthog::OrthogMethod orthog_method, double lindep_tol, int &nlindep)
 Compute span of bs and create corresponding mospace referred to by name. More...
 
Ref< OrbitalSpacegen_project (const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2, const std::string &id, const std::string &name, double lindep_tol)
 Project space1 on space2. More...
 
Ref< OrbitalSpaceorthog_comp (const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2, const std::string &id, const std::string &name, double lindep_tol)
 Compute subspace X2 of space2 which is orthogonal complement to space1, i.e., C1.S12.X2=0, where 0 is the null matrix.
 
template<IntegralOneBodyMethod IntMethod>
RefSCMatrix compute_obints (const Ref< OrbitalSpace > &space_bra, const Ref< OrbitalSpace > &space_ket)
 compute one-body integral matrix in the space of space_bra and space_ket (space_bra != space_ket)
 
template<IntegralOneBodyMethod IntMethod>
RefSymmSCMatrix compute_obints (const Ref< OrbitalSpace > &space)
 compute one-body integral matrix between in the basis of space
 
RefSCMatrix compute_overlap_ints (const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2)
 compute overlap between space1 and space2
 
void compute_multipole_ints (const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2, RefSCMatrix &MX, RefSCMatrix &MY, RefSCMatrix &MZ, RefSCMatrix &MXX, RefSCMatrix &MYY, RefSCMatrix &MZZ, RefSCMatrix &MXY, RefSCMatrix &MXZ, RefSCMatrix &MYZ)
 Compute electric dipole and quadrupole moment matrices in the basis of space1 and space2.
 
unsigned int nspincases1 (bool spin_polarized)
 Returns the number of unique spin cases (1 or 2)
 
unsigned int nspincases2 (bool spin_polarized)
 Returns the number of unique combinations of 2 spin cases (1 or 3)
 
unsigned int npurespincases2 ()
 Returns the number of pure 2 spin cases.
 
SpinCase1 case1 (SpinCase2 S)
 returns the first spin case of the 2-spin S
 
SpinCase1 case2 (SpinCase2 S)
 returns the second spin case of the 2-spin S
 
SpinCase2 case12 (SpinCase1 S1, SpinCase1 S2)
 combines 2 spins to give 1 2-spin
 
SpinCase1 other (SpinCase1 S)
 given 1-spin return the other 1-spin
 
std::string to_string (SpinCase1 S)
 
std::string to_string (SpinCase2 S)
 
std::string to_string (PureSpinCase2 S)
 
SpinCase1 to_spincase1 (const std::string &key)
 
SpinCase2 to_spincase2 (const std::string &key)
 
PureSpinCase2 to_purespincase2 (const std::string &key)
 
std::string prepend_spincase (SpinCase1 S, const std::string &R, bool lowercase=false)
 Prepend string representation of S to R and return.
 
std::string prepend_spincase (SpinCase2 S, const std::string &R, bool lowercase=false)
 Prepend string representation of S to R and return.
 
std::string prepend_spincase (PureSpinCase2 S, const std::string &R, bool lowercase=false)
 Prepend string representation of S to R and return.
 
template<class T >
T * get_pointer (const sc::Ref< T > &ref)
 
bool operator== (const DistArray4Dimensions &A, const DistArray4Dimensions &B)
 
Ref< DistArray4make_distarray4 (int num_te_types, int ni, int nj, int nx, int ny, DistArray4Storage storage=DistArray4Storage_XY)
 
Ref< DistArray4extract (const Ref< DistArray4 > &A, unsigned int te_type, double scale=1.0)
 extracts te_type from A
 
Ref< DistArray4permute23 (const Ref< DistArray4 > &src)
 creates an array in which indices 2 and 3 are permuted
 
Ref< DistArray4permute34 (const Ref< DistArray4 > &src)
 creates an array in which indices 3 and 4 are permuted
 
Ref< DistArray4permute12 (const Ref< DistArray4 > &src)
 creates an array in which indices 1 and 2 are permuted
 
void axpy (const Ref< DistArray4 > &X, double a, const Ref< DistArray4 > &Y, double scale=1.0)
 axpy followed by scaling: Y += a*X; Y *= scale.
 
void antisymmetrize (const Ref< DistArray4 > &A)
 antisymmetrizes the 4-index array in-place: <ij|xy> = ( (ij|xy) + (ji|yx) - (ij|yx) - (ji|xy) ) / 2 More...
 
void symmetrize (const Ref< DistArray4 > &A)
 symmetrizes the 4-index array in-place: <ij|xy> = ( (ij|xy) + (ji|yx) ) / 2 More...
 
void contract34 (Ref< DistArray4 > &braket, double scale, const Ref< DistArray4 > &bra, unsigned int intsetidx_bra, const Ref< DistArray4 > &ket, unsigned int intsetidx_ket, int debug=0)
 contracts ijxy ("bra") with klxy ("ket") to produce ijkl ("braket")
 
void contract34_DA4_RefMat (Ref< DistArray4 > &braket, double scale, const Ref< DistArray4 > &bra, unsigned int intsetidx_bra, const RefSCMatrix &ket, const int MatBra1Dim, const int MatBra2Dim)
 contracts ijxy("bra") with klxy ("ket", a RefSCMatrix) to produce ijkl ("braket"); The last two arguments definie the dimension for the resultant DistArray4 object, since a RefSCMatrix itself only gives the the product of dimensions
 
void contract_DA4_RefMat_k2b2_34 (Ref< DistArray4 > &braket, double scale, const Ref< DistArray4 > &bra, unsigned int intsetidx_bra, const RefSCMatrix &ket, const int MatBra1Dim, const int MatBra2Dim)
 Contract X^Aj_ik = DA^Ax_iy * M^jk_xy; This is written for spin free[2]R12, where rdm matrices can be easily permuted to assume the needed form; while write a general function involving, say, M^jy_kx would need to permute k&y, which then needs the dimension information. More...
 
void contract_DA4_RefMat_k1b2_34 (Ref< DistArray4 > &braket, double scale, const Ref< DistArray4 > &bra, unsigned int intsetidx_bra, const RefSCMatrix &ket, const int MatBra1Dim, const int MatBra2Dim)
 Contract X^Aj_ik = DA^Ax_yi * M^jk_xy; procedure: DA'^Ax_iy <- DA^Ax_yi from permute34 DA''^Ai_xy <- DA'^Ax_iy from permute23 then C^Ai_jk <- DA'^Ai_xy ** M^jk_xy from contract34_DA4_RefMat then X^Aj_ik <- C^Ai_jk from permute23 again.
 
void contract3 (const Ref< DistArray4 > &ijxy, const RefSCMatrix &T, Ref< DistArray4 > &ijzy)
 contracts ijxy with T_xz to produce ijzy
 
void contract4 (const Ref< DistArray4 > &ijxy, const RefSCMatrix &T, Ref< DistArray4 > &ijxz)
 contracts ijxy with T_yz to produce ijxz
 
RefSCMatrixoperator<< (RefSCMatrix &dst, const Ref< DistArray4 > &src)
 copies contents of src into dst
 
RefSCMatrixcopy_to_RefSCMat (RefSCMatrix &dst, const Ref< DistArray4 > &src, const int tensor_type)
 copy a specific tensor to RefSCMatrix
 
RefSCMatrix copy_to_RefSCMat (const Ref< DistArray4 > &src, int tensor_index)
 
template<class C , class I >
void erase_elements_by_value (C &container, I begin, I end)
 
template<typename F >
double linsolv_conjugate_gradient (F &a, const RefSCMatrix &b, RefSCMatrix &x, const RefSCMatrix &preconditioner, double convergence_target=-1.0)
 Solves linear system a(x) = b using conjugate gradient solver where a is a linear function of x. More...
 
size_t size (const RefSCMatrix &m)
 
RefSCMatrix clone (const RefSCMatrix &m)
 
RefSCMatrix copy (const RefSCMatrix &m)
 
double minabs_value (const RefSCMatrix &m)
 
double maxabs_value (const RefSCMatrix &m)
 
void vec_multiply (RefSCMatrix &m1, const RefSCMatrix &m2)
 
double dot_product (const RefSCMatrix &m1, const RefSCMatrix &m2)
 
void scale (RefSCMatrix &m, double scaling_factor)
 
void daxpy (RefSCMatrix &y, double a, const RefSCMatrix &x)
 
void assign (RefSCMatrix &m1, const RefSCMatrix &m2)
 
double norm2 (const RefSCMatrix &m)
 
void print (const RefSCMatrix &m, const char *label)
 
void dist_diagonalize (int n, int m, double *a, double *d, double *v, const Ref< MessageGrp > &)
 
RefSCVector operator* (double, const RefSCVector &)
 
RefSCMatrix operator* (double, const RefSCMatrix &)
 Allow multiplication with a scalar on the left.
 
RefSymmSCMatrix operator* (double, const RefSymmSCMatrix &)
 Allow multiplication with a scalar on the left.
 
RefDiagSCMatrix operator* (double, const RefDiagSCMatrix &)
 Allow multiplication with a scalar on the left.
 
template<>
void FromStateIn< sc::RefSCVector > (sc::RefSCVector &t, StateIn &so, int &count)
 specialization for RefSCVector
 
template<>
void FromStateIn< sc::RefSCMatrix > (sc::RefSCMatrix &t, StateIn &so, int &count)
 specialization for RefSCMatrix
 
template<>
void FromStateIn< sc::RefSymmSCMatrix > (sc::RefSymmSCMatrix &t, StateIn &so, int &count)
 specialization for RefSymmSCMatrix
 
template<>
void FromStateIn< sc::RefDiagSCMatrix > (sc::RefDiagSCMatrix &t, StateIn &so, int &count)
 specialization for RefDiagSCMatrix
 
template<>
void ToStateOut< sc::RefSCVector > (const sc::RefSCVector &t, StateOut &so, int &count)
 specialization for RefSCVector
 
template<>
void ToStateOut< sc::RefSCMatrix > (const sc::RefSCMatrix &t, StateOut &so, int &count)
 specialization for RefSCMatrix
 
template<>
void ToStateOut< sc::RefSymmSCMatrix > (const sc::RefSymmSCMatrix &t, StateOut &so, int &count)
 specialization for RefSymmSCMatrix
 
template<>
void ToStateOut< sc::RefDiagSCMatrix > (const sc::RefDiagSCMatrix &t, StateOut &so, int &count)
 specialization for RefDiagSCMatrix
 
SCMatrix3 operator* (double, const SCMatrix3 &)
 
SCMatrix3 rotation_mat (const SCVector3 &, const SCVector3 &, double theta)
 
SCMatrix3 rotation_mat (const SCVector3 &, const SCVector3 &)
 
SCMatrix3 rotation_mat (const SCVector3 &, double theta)
 
SCMatrix3 reflection_mat (const SCVector3 &)
 
int delta (int i, int j)
 
void lapack_svd (const RefSCMatrix &A, RefSCMatrix &U, RefDiagSCMatrix &Sigma, RefSCMatrix &V)
 Uses LAPACK's DGESVD to perform SVD of A: A = U * Sigma * V.
 
double lapack_linsolv_symmnondef (const RefSymmSCMatrix &A, RefSCVector &X, const RefSCVector &B)
 Uses LAPACK's DSPSVX to solve symmetric non-definite linear system AX = B, where B is a single vector. More...
 
double lapack_linsolv_symmnondef (const RefSymmSCMatrix &A, RefSCMatrix &X, const RefSCMatrix &B)
 Uses LAPACK's DSPSVX to solve symmetric non-definite linear system AX = B, where B is a set of vectors. More...
 
double lapack_linsolv_symmnondef (const double *AP, int nA, double *Xt, const double *Bt, int ncolB)
 Same as above, except uses C-style arrays already. More...
 
void lapack_invert_symmnondef (RefSymmSCMatrix &A, double condition_number_threshold=0.0)
 invert symmetric non-definite matrix using DSPTRF LAPACK routine that implements the Bunch-Kaufman diagonal pivoting method. More...
 
void lapack_dpf_symmnondef (const RefSymmSCMatrix &A, double *AF, blasint *ipiv, double condition_number_threshold=0.0)
 Compute factorization of a symmetric non-definite matrix using DSPTRF LAPACK routine that implements the Bunch-Kaufman diagonal pivoting method. More...
 
void lapack_invert_symmposdef (RefSymmSCMatrix &A, double condition_number_threshold=0.0)
 invert symmetric positive-definite matrix using DPPTRF LAPACK routine that implements the Cholesky method. More...
 
void lapack_linsolv_dpf_symmnondef (const double *A, int nA, const double *AF, const blasint *ipiv, double *Xt, const double *Bt, int ncolB, bool refine=true)
 Solves a symmetric indefinite system of linear equations AX=B, where A is held in packed storage, using the factorization computed by lapack_dpf_symmnondef. More...
 
double linsolv_symmnondef_jacobi (const RefSymmSCMatrix &A, RefSCVector &X, const RefSCVector &B)
 Solves symmetric non-definite linear system AX = B, where B is a RefSCVector, using Jacobi solver. More...
 
double linsolv_symmnondef_cg (const RefSymmSCMatrix &A, RefSCVector &X, const RefSCVector &B)
 Solves symmetric non-definite linear system AX = B, where B is a RefSCVector, using conjugate gradient solver. More...
 
void lapack_cholesky_symmposdef (const RefSymmSCMatrix &A, double *AF, double condition_number_threshold=0.0)
 Compute factorization of a symmetric positive-definite matrix using DPPTRF LAPACK routine that implements the Cholesky method. More...
 
void lapack_linsolv_cholesky_symmposdef (const double *A, int nA, const double *AF, double *Xt, const double *Bt, int ncolB, bool refine=true)
 Solves a symmetric indefinite system of linear equations AX=B, where A is held in packed storage, using the factorization computed by lapack_cholesky_symmnondef. More...
 
void scmat_perform_op_on_blocks (const Ref< SCElementOp > &op, const Ref< SCMatrixBlockList > &blocklist)
 
void canonicalize_column_phases (RefSCMatrix &A)
 Canonicalize phases of SCMatrix A phases are canonical when the largest-magnitude coefficient in each column is positive.
 
template<class RefSCMat >
void print_scmat_norms (const RefSCMat &A, const std::string &label, std::ostream &os=ExEnv::out0())
 Compute and print out neatly various matrix norms of A.
 
SCVector3 operator* (double, const SCVector3 &)
 
std::ostream & operator<< (std::ostream &, const SCVector3 &)
 
bool operator== (const SCVector3 &a, const SCVector3 &b)
 
bool operator!= (const SCVector3 &a, const SCVector3 &b)
 
void ToStateOut (const mpqc::ci::Config &a, StateOut &so, int &count)
 writes Config to sc::StateOut
 
void FromStateIn (mpqc::ci::Config &a, StateIn &si, int &count)
 reads Config from sc::StateIn
 
template<class T >
DescribedClasscreate ()
 This is used to pass a function that make void constructor calls to the ClassDesc constructor.
 
template<class T >
DescribedClasscreate (const Ref< KeyVal > &keyval)
 This is used to pass a function that make KeyVal constructor calls to the ClassDesc constructor.
 
template<class T >
DescribedClasscreate (StateIn &statein)
 This is used to pass a function that make StateIn constructor calls to the ClassDesc constructor.
 
template<class T >
ClassDescclass_desc ()
 Return the ClassDesc corresponding to template argument.
 
ClassDescclass_desc (DescribedClass *d)
 Return the ClassDesc corresponding to the exact type for the argument.
 
template<class T >
require_dynamic_cast (DescribedClass *p, const char *errmsg,...)
 Attempt to cast a DescribedClass pointer to a DescribedClass descendent. More...
 
template<class T >
require_dynamic_cast (const DescribedClass *p, const char *errmsg,...)
 Attempt to cast a const DescribedClass pointer to a DescribedClass descendent. More...
 
std::string::size_type string_distance (const std::string &str1, const std::string &str2)
 computes DamerauĞLevenshtein distance between two strings More...
 
template<class T >
T ** new_c_array2 (int l, int m, T)
 
template<class T >
T ** new_zero_c_array2 (int l, int m, T)
 
template<class T >
void delete_c_array2 (T **b)
 
template<class T >
T *** new_c_array3 (int l, int m, int n, T)
 
template<class T >
T *** new_zero_c_array3 (int l, int m, int n, T)
 
template<class T >
void delete_c_array3 (T ***b)
 
template<class T >
int compare (const T &k1, const T &k2)
 
template<typename STLContainer >
STLContainer merge (const std::vector< STLContainer > &containers)
 
template<typename STLContainer >
STLContainer sum_merge (const std::vector< STLContainer > &containers)
 
size_t distsize_to_size (const distsize_t &a)
 
size_t align_pool_data (size_t size)
 
void * align_pool_data (void *ptr)
 
size_t align_pool_data_downward (size_t size)
 
void * align_pool_data_downward (void *ptr)
 
std::ostream & operator<< (std::ostream &, const KeyValValue &)
 
template<typename T >
T * allocate (std::size_t size)
 allocate and deallocate array of data using new or new[] (delete or delete[]) and using default ConsumableResources object
 
template<typename T >
void deallocate (T *&array)
 this version will set array to 0 upon return More...
 
template<typename T >
void deallocate (T *const &array)
 
template<typename T >
void manage_array (T *const &array, std::size_t size)
 manage or unmanaged array of data using default ConsumableResources object
 
template<typename T >
void unmanage_array (T *const &array)
 
std::ios & indent (std::ios &)
 
std::ios & decindent (std::ios &)
 
std::ios & incindent (std::ios &)
 
std::ios & skipnextindent (std::ios &)
 
std::ostream & operator<< (std::ostream &, const scprintf &)
 
void ieee_trap_errors ()
 
template<typename... Iterables>
boost::iterator_range< product_iterator< Iterables... > > product_range (Iterables &&... iterables)
 
template<typename Range , bool base_can_be_advanced = false>
boost::iterator_range< threaded_iterator< typename iterable_iterator< Range >::type > > thread_over_range (Range &&range, int ithr, int nthr)
 
template<typename Range , bool base_can_be_advanced = false>
boost::iterator_range< threaded_iterator< typename iterable_iterator< Range >::type > > thread_node_parallel_range (Range &&range, int n_node, int me, int nthread, int ithr)
 
template<typename... T>
auto zip (const T &... containers) -> boost::iterator_range< boost::zip_iterator< decltype(boost::make_tuple(std::begin(containers)...))>>
 
template<typename T1 , typename T2 >
std::ostream & operator<< (std::ostream &os, const std::pair< T1, T2 > &val)
 
char * strdup (const char *string)
 
template<typename AccumulateToType = std::atomic_uint_fast64_t>
auto_time_accumulator< std::chrono::nanoseconds, std::chrono::high_resolution_clock, AccumulateToType > make_auto_timer (AccumulateToType &dest)
 
void tim_enter (const char *) TIMER_DEPRECATED
 
void tim_exit (const char *) TIMER_DEPRECATED
 
void tim_change (const char *) TIMER_DEPRECATED
 
void tim_set_default (const char *) TIMER_DEPRECATED
 
void tim_enter_default () TIMER_DEPRECATED
 
void tim_exit_default () TIMER_DEPRECATED
 
void tim_print (int) TIMER_DEPRECATED
 
template<typename T >
boost::enable_if< boost::is_base_of< XMLWritable, typename boost::decay< T >::type >, ptree & >::type write_xml (const Ref< T > &obj, ptree &parent, const XMLWriter &writer)
 
template<typename T >
ptree & write_xml (const Ref< T > &obj, typename boost::disable_if_c< boost::is_base_of< XMLWritable, typename boost::decay< T >::type >::value or not boost::is_base_of< RefCount, typename boost::decay< T >::type >::value, ptree & >::type const &parent, const XMLWriter &writer)
 
ptree & write_xml (XMLWritable &, ptree &, const XMLWriter &)
 
ptree & write_xml (const SCVector3 &, ptree &, const XMLWriter &)
 
ptree & write_xml (const SCVector &, ptree &, const XMLWriter &)
 
ptree & write_xml (const Grid &, ptree &, const XMLWriter &)
 
ptree & write_xml (const Units &, ptree &, const XMLWriter &)
 
ptree & write_xml (const Eigen::MatrixXd &, ptree &, const XMLWriter &)
 
ptree & write_xml (const Eigen::VectorXd &, ptree &, const XMLWriter &)
 
ptree & write_xml (const std::vector< double > &, ptree &, const XMLWriter &)
 
template<typename Derived >
ptree & write_xml (const Eigen::MatrixBase< Derived > &, ptree &, const XMLWriter &)
 
template<typename Derived , unsigned int ViewMode>
ptree & write_xml (const Eigen::TriangularView< Derived, ViewMode > &obj, ptree &parent, const XMLWriter &writer)
 
template<template< typename... > class Container, template< typename... > class TupleType, typename... NumTypes>
boost::enable_if_c< boost::is_convertible< Container< TupleType< NumTypes... > >, std::vector< TupleType< NumTypes... > > >::value and boost::mpl::and_< boost::mpl::or_< boost::is_integral< NumTypes >, boost::is_floating_point< NumTypes > >... >::value, ptree & >::type write_xml (const Container< TupleType< NumTypes... >> &obj, ptree &parent, const XMLWriter &writer)
 
 BOOST_PARAMETER_FUNCTION ((void), write_to_xml_file, sc::parameter::tag,(required(object, *))(optional XMLWRITER_KV_OPTIONAL_PARAMS(root_name, *(is_convertible< mpl::_, std::string >), std::string("mpqc"))))
 
 BOOST_PARAMETER_FUNCTION ((void), begin_xml_context, parameter::tag,(required(name, *(is_convertible< mpl::_, std::string >)))(optional XMLWRITER_KV_OPTIONAL_PARAMS))
 
 BOOST_PARAMETER_FUNCTION ((void), end_xml_context, parameter::tag,(optional(name, *(is_convertible< mpl::_, std::string >), XMLWRITER_FILENAME_NOT_GIVEN)))
 
template<typename T , typename MapType >
boost::enable_if< is_convertible< MapType, bool >, void >::type _write_as_xml_impl (T &&object, const std::string &tag_name, const MapType &attrs)
 
template<typename T , typename MapType >
boost::enable_if< boost::mpl::not_< is_convertible< MapType, bool > >, void >::type _write_as_xml_impl (T &&object, const std::string &tag_name, const MapType &attrs)
 
 BOOST_PARAMETER_FUNCTION ((void), write_as_xml, parameter::tag,(required(name, *)(object, *))(optional(attributes, *, false)))
 
template<class T >
std::ostream & operator<< (std::ostream &os, const Ref< T > &r)
 
mat3 identity2D ()
 
mat3 translation2D (const vec2 &v)
 
mat3 rotation2D (const vec2 &Center, const double angleDeg)
 
mat3 scaling2D (const vec2 &scaleVector)
 
mat4 identity3D ()
 
mat4 translation3D (const vec3 &v)
 
mat4 rotation3D (const vec3 &Axis, const double angleDeg)
 
mat4 scaling3D (const vec3 &scaleVector)
 
mat4 perspective3D (const double d)
 
void find_int_parameter_in_appearance_stack (Stack< Ref< Appearance > > &stack, Parameter< int > &(Appearance::*access)(), int &result)
 
void polysphere (int maxlevel, const Ref< RenderedPolygons > &poly)
 
template<typename T >
void FromStateIn (T &t, StateIn &si, int &count)
 
template<typename T >
void FromStateIn (Ref< T > &t, StateIn &so, int &count)
 specialization for Ref<SavableState>
 
template<typename T >
void ToStateOut (const T &t, StateOut &so, int &count)
 
template<typename T >
void ToStateOut (const Ref< T > &t, StateOut &so, int &count)
 specialization for Ref<SavableState>
 

Variables

const typedef ClassDescCClassDescP
 
ForceLink< RedundMolecularCoormolecule_force_link_a_
 
ForceLink< CartMolecularCoormolecule_force_link_b_
 
ForceLink< SymmMolecularCoormolecule_force_link_c_
 
ForceLink< TaylorMolecularEnergymolecule_force_link_d_
 
ForceLink< MolecularFrequenciesmolecule_force_link_e_
 
ForceLink< RenderedStickMoleculemolecule_force_link_f_
 
ForceLink< RenderedBallMoleculemolecule_force_link_g_
 
ForceLink< RenderedMolecularSurfacemolecule_force_link_h_
 
ForceLink< VDWShapemolecule_force_link_i_
 
ForceLink< DiscreteConnollyShapemolecule_force_link_j_
 
ForceLink< ConnollyShapemolecule_force_link_k_
 
ForceLink< FinDispMolecularHessianmolecule_force_link_l_
 
ForceLink< FinDispMolecularGradientmolecule_force_link_m_
 
ForceLink< MolecularFragmentmolecule_force_link_n_
 
ForceLink< WriteMoldenmolecule_force_link_o_
 
ForceLink< UncontractedBasisSetbasis_force_link_a_
 
ForceLink< SplitBasisSetbasis_force_link_b_
 
ForceLink< LSelectBasisSetbasis_force_link_c_
 
ForceLink< UnionBasisSetbasis_force_link_d_
 
ForceLink< WriteBasisGridbasis_force_link_e_
 
ForceLink< CIci_force_link_a_
 
ForceLink< RadialAngularIntegratordft_force_link_a_
 
ForceLink< NElFunctionaldft_force_link_b_
 
ForceLink< XalphaFunctionaldft_force_link_c_
 
ForceLink< SlaterXFunctionaldft_force_link_d_
 
ForceLink< Becke88XFunctionaldft_force_link_e_
 
ForceLink< LYPCFunctionaldft_force_link_f_
 
ForceLink< CLKSdft_force_link_h_
 
ForceLink< UKSdft_force_link_i_
 
ForceLink< VWN5LCFunctionaldft_force_link_j_
 
ForceLink< VWN3LCFunctionaldft_force_link_k_
 
ForceLink< PW92LCFunctionaldft_force_link_l_
 
ForceLink< PBEXFunctionaldft_force_link_m_
 
ForceLink< PBECFunctionaldft_force_link_n_
 
ForceLink< P86CFunctionaldft_force_link_o_
 
ForceLink< PW91XFunctionaldft_force_link_p_
 
ForceLink< PW86XFunctionaldft_force_link_q_
 
ForceLink< PZ81LCFunctionaldft_force_link_r_
 
ForceLink< G96XFunctionaldft_force_link_s_
 
ForceLink< VWN1LCFunctionaldft_force_link_t_
 
ForceLink< VWN2LCFunctionaldft_force_link_u_
 
ForceLink< VWN4LCFunctionaldft_force_link_v_
 
ForceLink< PW91CFunctionaldft_force_link_w_
 
ForceLink< HSOSKSdft_force_link_x_
 
ForceLink< VWNLCFunctionaldft_force_link_y_
 
ForceLink< NewP86CFunctionaldft_force_link_z_
 
ForceLink< AM05Functionaldft_force_link_aa_
 
ForceLink< BEMSolventHdft_force_link_ab_
 
ForceLink< ETraInetrain_force_link_a_
 
ForceLink< DensityFittinglcao_force_link_a_
 
ForceLink< SuperpositionOfAtomicDensitieslcao_force_link_b_
 
ForceLink< IntegralLibint2libint2_force_link_a_
 
ForceLink< LMP2lmp2_force_link_a_
 
ForceLink< MBPT2mbpt_force_link_a_
 
ForceLink< MP2BasisExtrapmbpt_force_link_b_
 
ForceLink< MBPT2_R12mbptr12_force_link_a_
 
ForceLink< PT2R12mbptr12_force_link_b_
 
ForceLink< SpinOrbitalPT2R12mbptr12_force_link_c_
 
ForceLink< ManyBodyWavefunctionnbody_force_link_a_
 
ForceLink< SD_RefWavefunctionnbody_force_link_b_
 
ForceLink< PsiCLHFpsi_force_link_a_
 
ForceLink< PsiHSOSHFpsi_force_link_b_
 
ForceLink< PsiUHFpsi_force_link_c_
 
ForceLink< PsiCCSDpsi_force_link_d_
 
ForceLink< PsiCCSD_Tpsi_force_link_e_
 
ForceLink< PsiRASCIpsi_force_link_h_
 
ForceLink< PsiRDMTwopsi_force_link_j_
 
ForceLink< CLHFscf_force_link_a_
 
ForceLink< HSOSHFscf_force_link_b_
 
ForceLink< OSSHFscf_force_link_c_
 
ForceLink< TCHFscf_force_link_d_
 
ForceLink< UHFscf_force_link_e_
 
ForceLink< FockBuildCLHFscf_force_link_f_
 
ForceLink< ElectronDensitywfn_force_link_a_
 
ForceLink< Orbitalwfn_force_link_b_
 
ForceLink< ExtendedHuckelWfnwfn_force_link_d_
 
ForceLink< WriteElectrostaticPotentialwfn_force_link_e_
 
ForceLink< HCoreWfnwfn_force_link_f_
 
ForceLink< OBWfnRDMOnewfn_force_link_g_
 
ForceLink< OBWfnRDMTwowfn_force_link_h_
 
ForceLink< DistArray4_MemoryGrpmath_distarray4_force_link_a_
 
ForceLink< DistArray4_Node0Filemath_distarray4_force_link_b_
 
ForceLink< DistArray4_MPIIO > math_distarray4_force_link_c_
 
ForceLink< QNewtonOptoptimize_force_link_a_
 
ForceLink< GDIISOptoptimize_force_link_b_
 
ForceLink< EFCOptoptimize_force_link_c_
 
ForceLink< BFGSUpdateoptimize_force_link_d_
 
ForceLink< PowellUpdateoptimize_force_link_e_
 
ForceLink< SteepestDescentOptoptimize_force_link_f_
 
ForceLink< NewtonOptoptimize_force_link_g_
 
ForceLink< MCSearchoptimize_force_link_h_
 
ForceLink< ReplSCMatrixKitmath_scmat_force_link_a_
 
ForceLink< DistSCMatrixKitmath_scmat_force_link_b_
 
ForceLink< ProcMessageGrpgroup_force_link_0_
 
ForceLink< ProcMemoryGrpgroup_force_link_1_
 
const int pool_data_alignment_bit = 3
 
const size_t pool_data_alignment = 1<<pool_data_alignment_bit
 
const int PoolData_aligned_size
 
ForceLink< OOGLRenderrender_force_link_a_
 
ForceLink< RenderedSphererender_force_link_b_
 
ForceLink< RenderedPolylinesrender_force_link_c_
 
ForceLink< Appearancerender_force_link_d_
 
ForceLink< Materialrender_force_link_e_
 
ForceLink< Transformrender_force_link_f_
 
ForceLink< SavableStateProxy, const Ref< KeyVal > & > state_force_link_a_
 

Detailed Description

Contains all MPQC code up to version 3.

Function Documentation

◆ analyze_array()

template<int N>
void sc::analyze_array ( typename sma2::Array< N > &  array,
const char *  name,
const sc::Ref< sc::MessageGrp > &  grp = 0,
bool  distributed = false 
)

Prints out information about an Array.

Parameters
arraythe array to be analyzed.
namethe name of the array to be printed in the output.
grpthe MessageGrp.
distrubedwhether or not the array's data is distributed.

References sc::sma2::Array< N >::index(), sc::sma2::Array< N >::n_block(), sc::sma2::Array< N >::n_element(), and sc::ExEnv::out0().

◆ antisymmetrize() [1/5]

void sc::antisymmetrize ( const Ref< DistArray4 > &  A)

antisymmetrizes the 4-index array in-place: <ij|xy> = ( (ij|xy) + (ji|yx) - (ij|yx) - (ji|xy) ) / 2

Parameters
Ainput tensor. on output contains the antisymmetrized tensor. Valid A will obey these conditions: A->ni() == A->nj(), A->nx() == A->ny()

◆ antisymmetrize() [2/5]

template<bool accumulate>
void sc::antisymmetrize ( double *  Aanti,
const double *  A,
const int  n 
)

Antisymmetrizes square matrix A of size n.

Aanti is the lower-triangle of the result. The dimension of Aanti is n*(n-1)/2.

◆ antisymmetrize() [3/5]

void sc::antisymmetrize ( RefSCMatrix Aanti,
const RefSCMatrix A,
const Ref< OrbitalSpace > &  bra,
const Ref< OrbitalSpace > &  ket,
bool  accumulate = false 
)

Antisymmetrizes 4-index quantity <ij|A|kl> -> <ij|A|kl> - <ij|A|lk> and saves to Aanti.

Row dimension of A has to be an integer multiple of bra->rank()*bra->rank(). Same for ket.

Referenced by sc::R12IntEval::contract_tbint_tensors_to_obtensor().

◆ antisymmetrize() [4/5]

template<bool accumulate>
void sc::antisymmetrize ( RefSCMatrix Aanti,
const RefSCMatrix A,
const Ref< OrbitalSpace > &  bra1,
const Ref< OrbitalSpace > &  bra2,
const Ref< OrbitalSpace > &  ket1,
const Ref< OrbitalSpace > &  ket2 
)

Generalization of the above.

Antisymmetrizes 4-index quantity <ij|A|kl>. antisymmetrize only makes sense if either bra1==bra2 or ket1==ket2. If bra1==bra2: <ij|A|kl> - <ji|A|kl>. If ket1==ket2: <ij|A|kl> - <ij|A|lk>. Row dimension of A has to be an integer multiple of bra1->rank()*bra2->rank(). Same for ket. The row dimension of Aanti: bra1==bra2 ? bra1->rank()*(bra1->rank()-1)/2. The col dimension of Aanti: ket1==ket2 ? ket1->rank()*(ket1->rank()-1)/2

References sc::SpatialMOPairIter_neq::ij_aa(), sc::SpatialMOPairIter_neq::ij_ab(), sc::SpatialMOPairIter_neq::ij_ba(), sc::SpatialMOPairIter_neq::next(), sc::SpatialMOPairIter_neq::nij_aa(), sc::SpatialMOPairIter_neq::nij_ab(), sc::OrbitalSpace::rank(), and sc::SpatialMOPairIter_neq::start().

◆ antisymmetrize() [5/5]

template<bool accumulate>
void sc::antisymmetrize ( RefSymmSCMatrix Aanti,
const RefSymmSCMatrix A,
const Ref< OrbitalSpace > &  bra1 
)

Specialization of the above to symmetric matrices.

bra2 must be equal to bra1, hence not needed. Antisymmetrizes 4-index quantity <ij|A|kl>. <ij|Aanti|kl> = <ij|A|kl> - <ij|A|lk>. Dimension of A has to be an integer multiple of bra1->rank()*bra1->rank(). The dimension of Aanti: bra1->rank()*(bra1->rank()-1)/2.

References sc::SpatialMOPairIter::ij_aa(), sc::SpatialMOPairIter::ij_ab(), sc::SpatialMOPairIter::ij_ba(), sc::MOPairIter::next(), sc::SpatialMOPairIter::nij_aa(), sc::SpatialMOPairIter::nij_ab(), sc::OrbitalSpace::rank(), and sc::MOPairIter::start().

◆ compute_onebody_matrix()

template<IntegralOneBodyMethod IntMethod>
RefSymmSCMatrix sc::compute_onebody_matrix ( Ref< PetiteList > &  plist)

Creates matrix representation of a one-body operator using point-group symmetry.

Template Parameters
IntMethodmember function of Integral that produces the evaluator for the desired integrals
Parameters
plistPetiteList object initialized with the proper Integral factory and basis set

References sc::PetiteList::AO_basisdim(), sc::GaussianBasisSet::matrixkit(), sc::PetiteList::SO_basisdim(), and sc::GaussianBasisSet::so_matrixkit().

◆ contract_DA4_RefMat_k2b2_34()

void sc::contract_DA4_RefMat_k2b2_34 ( Ref< DistArray4 > &  braket,
double  scale,
const Ref< DistArray4 > &  bra,
unsigned int  intsetidx_bra,
const RefSCMatrix ket,
const int  MatBra1Dim,
const int  MatBra2Dim 
)

Contract X^Aj_ik = DA^Ax_iy * M^jk_xy; This is written for spin free[2]R12, where rdm matrices can be easily permuted to assume the needed form; while write a general function involving, say, M^jy_kx would need to permute k&y, which then needs the dimension information.

So we prefer to pre-arrange M so that we can directly use contract34_DA4_RefMat. procedure: DA'^Ai_xy <- DA^Ax_iy from permute23 then C^Ai_jk <- DA'^Ai_xy ** M^jk_xy from contract34_DA4_RefMat then X^Aj_ik <- C^Ai_jk from permute23 again.

◆ deallocate()

template<typename T >
void sc::deallocate ( T *&  array)

this version will set array to 0 upon return

See also
deallocate

References sc::ConsumableResources::get_default_instance().

◆ gen_project()

Ref<OrbitalSpace> sc::gen_project ( const Ref< OrbitalSpace > &  space1,
const Ref< OrbitalSpace > &  space2,
const std::string &  id,
const std::string &  name,
double  lindep_tol 
)

Project space1 on space2.

This routine computes X2 such that C1.S12.X2 = I, where I is identity matrix, C1 is space1, and X2 spans subspace of space2. X2 is returned.

◆ index_map_symmtocorrorder()

std::vector<unsigned int> sc::index_map_symmtocorrorder ( const std::vector< unsigned int > &  class1,
const std::vector< unsigned int > &  class2,
const std::vector< unsigned int > &  class3,
const std::vector< unsigned int > &  class4,
const std::vector< unsigned int > &  class5 
)

Returns map from symmetry-blocked orbitals to correlated-order orbitals.

The former blocks orbitals by irrep, and within each block orbitals are ordered by occupation or other correlation attribute (RAS, etc.), then by energy. The latter orders by the attribute, then by irrep, then by energy.

The common orderings used by Psi are: QT ("quantum trio") – orbitals are classified as follows: frozen docc, docc, socc, uocc, frozen uocc RAS – orbitals are classified as follows: frozen docc, RAS1, RAS2, RAS3, frozen uocc (not sure about RAS4) since both orderings define 5 classes of attributes, we only need 1 function

Parameters
class1– specifies the number of orbitals of class 1 (e.g., frozen docc) in each irrep
class2– specifies the number of orbitals of class 2 (e.g., RAS1) in each irrep
class3– specifies the number of orbitals of class 3 (e.g., RAS2) in each irrep
class4– specifies the number of orbitals of class 4 (e.g., RAS3) in each irrep
class5– specifies the number of orbitals of class 5 (e.g., frozen uocc) in each irrep

◆ lapack_cholesky_symmposdef()

void sc::lapack_cholesky_symmposdef ( const RefSymmSCMatrix A,
double *  AF,
double  condition_number_threshold = 0.0 
)

Compute factorization of a symmetric positive-definite matrix using DPPTRF LAPACK routine that implements the Cholesky method.

The resulting factorization (AF and ipiv) can be used to solve a linear system A X = B using lapack_linsolv_cholesky_symmposdef();

Parameters
condition_number_thresholdwhen the estimate of the condition number (see lapack function DSPCON) exceeds this threshold print a warning to ExEnv::err0(). No warning will be produced if the threshold is 0.0. Negative threshold will prompt the estimate of the condition number of A to be printed out to ExEnv::out0().
AFarray of size A.dim().n() * (A.dim().n() + 1)/2. On output contains the desired factorization.

◆ lapack_dpf_symmnondef()

void sc::lapack_dpf_symmnondef ( const RefSymmSCMatrix A,
double *  AF,
blasint *  ipiv,
double  condition_number_threshold = 0.0 
)

Compute factorization of a symmetric non-definite matrix using DSPTRF LAPACK routine that implements the Bunch-Kaufman diagonal pivoting method.

The resulting factorization (AF and ipiv) can be used to solve a linear system A X = B using lapack_linsolv_dpf_symmnondef();

Parameters
condition_number_thresholdwhen the estimate of the condition number (see lapack function DSPCON) exceeds this threshold print a warning to ExEnv::err0(). No warning will be produced if the threshold is 0.0. Negative threshold will prompt the estimate of the condition number of A to be printed out to ExEnv::out0().
AFarray of size A.dim().n() * (A.dim().n() + 1)/2. On output contains the desired factorization.
ipivinteger array of sizeA.dim().n()

◆ lapack_invert_symmnondef()

void sc::lapack_invert_symmnondef ( RefSymmSCMatrix A,
double  condition_number_threshold = 0.0 
)

invert symmetric non-definite matrix using DSPTRF LAPACK routine that implements the Bunch-Kaufman diagonal pivoting method.

Parameters
condition_number_thresholdwhen the estimate of the condition number (see lapack function DSPCON) exceeds this threshold print a warning to ExEnv::err0(). No warning will be produced if the threshold is 0.0. Negative threshold will prompt the estimate of the condition number of A to be printed out to ExEnv::out0().

◆ lapack_invert_symmposdef()

void sc::lapack_invert_symmposdef ( RefSymmSCMatrix A,
double  condition_number_threshold = 0.0 
)

invert symmetric positive-definite matrix using DPPTRF LAPACK routine that implements the Cholesky method.

Parameters
condition_number_thresholdwhen the estimate of the condition number (see lapack function DPPCON) exceeds this threshold print a warning to ExEnv::err0(). No warning will be produced if the threshold is 0.0. Negative threshold will prompt the estimate of the condition number of A to be printed out to ExEnv::out0().

◆ lapack_linsolv_cholesky_symmposdef()

void sc::lapack_linsolv_cholesky_symmposdef ( const double *  A,
int  nA,
const double *  AF,
double *  Xt,
const double *  Bt,
int  ncolB,
bool  refine = true 
)

Solves a symmetric indefinite system of linear equations AX=B, where A is held in packed storage, using the factorization computed by lapack_cholesky_symmnondef.

Parameters
A
nA
AF
Xt
Bt
ncolB
refineset to false to avoid the iterative refinement of the solution that was obtained by substitution (using LAPACK dsptrs function)

◆ lapack_linsolv_dpf_symmnondef()

void sc::lapack_linsolv_dpf_symmnondef ( const double *  A,
int  nA,
const double *  AF,
const blasint *  ipiv,
double *  Xt,
const double *  Bt,
int  ncolB,
bool  refine = true 
)

Solves a symmetric indefinite system of linear equations AX=B, where A is held in packed storage, using the factorization computed by lapack_dpf_symmnondef.

Parameters
A
nA
AF
ipiv
Xt
Bt
ncolB
refineset to false to avoid the iterative refinement of the solution that was obtained by substitution (using LAPACK dsptrs function)

◆ lapack_linsolv_symmnondef() [1/3]

double sc::lapack_linsolv_symmnondef ( const double *  AP,
int  nA,
double *  Xt,
const double *  Bt,
int  ncolB 
)

Same as above, except uses C-style arrays already.

A is in packed upper-triangular form, nA is the dimension of A, X and B are matrices with ncolB rows and nA columns.

Returns
The estimate of the reciprocal condition number of the matrix A.

◆ lapack_linsolv_symmnondef() [2/3]

double sc::lapack_linsolv_symmnondef ( const RefSymmSCMatrix A,
RefSCMatrix X,
const RefSCMatrix B 
)

Uses LAPACK's DSPSVX to solve symmetric non-definite linear system AX = B, where B is a set of vectors.

Returns
The estimate of the reciprocal condition number of the matrix A.

◆ lapack_linsolv_symmnondef() [3/3]

double sc::lapack_linsolv_symmnondef ( const RefSymmSCMatrix A,
RefSCVector X,
const RefSCVector B 
)

Uses LAPACK's DSPSVX to solve symmetric non-definite linear system AX = B, where B is a single vector.

Returns
The estimate of the reciprocal condition number of the matrix A.

◆ linsolv_conjugate_gradient()

template<typename F >
double sc::linsolv_conjugate_gradient ( F &  a,
const RefSCMatrix b,
RefSCMatrix x,
const RefSCMatrix preconditioner,
double  convergence_target = -1.0 
)

Solves linear system a(x) = b using conjugate gradient solver where a is a linear function of x.

Parameters
afunctor that evaluates LHS, will call as: a(x, result)
bRHS
xunknown
preconditioner
convergence_target
Returns
the 2-norm of the residual, a(x) - b, divided by the number of elements in the residual.

References sc::RefSCMatrix::clone(), and sc::ExEnv::out0().

◆ linsolv_symmnondef_cg()

double sc::linsolv_symmnondef_cg ( const RefSymmSCMatrix A,
RefSCVector X,
const RefSCVector B 
)

Solves symmetric non-definite linear system AX = B, where B is a RefSCVector, using conjugate gradient solver.

 @return The estimate of the reciprocal condition number of the matrix A.

◆ linsolv_symmnondef_jacobi()

double sc::linsolv_symmnondef_jacobi ( const RefSymmSCMatrix A,
RefSCVector X,
const RefSCVector B 
)

Solves symmetric non-definite linear system AX = B, where B is a RefSCVector, using Jacobi solver.

Note that Jacobi solver rarely converges, hence it should not be used.

 @return The estimate of the reciprocal condition number of the matrix A.

◆ operator!=()

bool sc::operator!= ( const SCVector3 a,
const SCVector3 b 
)
inline
Returns
false if a and b are exactly identical

◆ operator==()

bool sc::operator== ( const SCVector3 a,
const SCVector3 b 
)
Returns
true if a and b are exactly identical

◆ orthogonalize()

Ref<OrbitalSpace> sc::orthogonalize ( const std::string &  id,
const std::string &  name,
const Ref< GaussianBasisSet > &  bs,
const Ref< Integral > &  integral,
OverlapOrthog::OrthogMethod  orthog_method,
double  lindep_tol,
int &  nlindep 
)

Compute span of bs and create corresponding mospace referred to by name.

Setting nlindep on input to a non-negative value will cause the number of linear dependencies to be exactly its input value, if possible (lindep_tol is then ignored). This is not implemented for Gram-Schmidt orthogonalization and thus in that case nlindep is ignored on input. On output nlindep contains the number of linear dependencies.

◆ require_dynamic_cast() [1/2]

template<class T >
T sc::require_dynamic_cast ( const DescribedClass p,
const char *  errmsg,
  ... 
)
inline

Attempt to cast a const DescribedClass pointer to a DescribedClass descendent.

It is an error for the result to be a null pointer.

References sc::DescribedClass::class_desc(), and sc::ClassDesc::name().

◆ require_dynamic_cast() [2/2]

template<class T >
T sc::require_dynamic_cast ( DescribedClass p,
const char *  errmsg,
  ... 
)
inline

Attempt to cast a DescribedClass pointer to a DescribedClass descendent.

It is an error for the result to be a null pointer.

References sc::DescribedClass::class_desc(), and sc::ClassDesc::name().

◆ RMS()

double sc::RMS ( const Tensor t)

Computes the `‘RMS norm’' of the tensor, defined as tensor->norm() divided by the size of the tensor.

The advantage of RMS norm over norm is that it's size-independent.

◆ string_distance()

std::string::size_type sc::string_distance ( const std::string &  str1,
const std::string &  str2 
)

computes DamerauĞLevenshtein distance between two strings

Parameters
str1a string
str2another string
Returns
the distance between the strings

◆ symmetrize() [1/3]

void sc::symmetrize ( const Ref< DistArray4 > &  A)

symmetrizes the 4-index array in-place: <ij|xy> = ( (ij|xy) + (ji|yx) ) / 2

Parameters
Ainput tensor. on output contains the symmetrized tensor. Valid A will obey these conditions: A->ni() == A->nj(), A->nx() == A->ny()

◆ symmetrize() [2/3]

template<bool Accumulate, sc::fastpairiter::PairSymm SrcBraSymm, sc::fastpairiter::PairSymm SrcKetSymm, sc::fastpairiter::PairSymm DstBraSymm, sc::fastpairiter::PairSymm DstKetSymm>
void sc::symmetrize ( RefSCMatrix Aanti,
const RefSCMatrix A,
const Ref< OrbitalSpace > &  bra1,
const Ref< OrbitalSpace > &  bra2,
const Ref< OrbitalSpace > &  ket1,
const Ref< OrbitalSpace > &  ket2 
)

Symmetrizes/antisymmetrizes bra and/or ket.

Sanity is checked as fully as possible. If DstBraSymm!=ASymm, bra1 must equal bra2. If DstKetSymm!=ASymm, ket1 must equal ket2. Row dimension of A has to be an integer multiple of bra1->rank()*bra2->rank(). Same for ket. Row dimension of A has to be pairdim<SrcBraSymm>(bra1->rank(),bra2->rank()).n(). Same for ket, etc. Asymm and A cannot be the same matrix.

References sc::MOPairIter::nij().

◆ symmetrize() [3/3]

template<bool Accumulate>
void sc::symmetrize ( RefSCMatrix Asymm,
const RefSCMatrix A,
const Ref< OrbitalSpace > &  bra,
const Ref< OrbitalSpace > &  ket 
)

Symmetrizes 4-index quantity <ij|A|kl> -> 1/2 * (<ij|A|kl> + <ji|A|lk>) and saves to Asymm.

Row dimension has to be an integer multiple of bra->rank()*bra->rank(). Same for ket. Asymm and A can be the same matrix.

References sc::SpatialMOPairIter_eq::nij_ab(), and sc::OrbitalSpace::rank().

◆ symmetrize12()

template<bool Accumulate, sc::fastpairiter::PairSymm BraSymm, sc::fastpairiter::PairSymm KetSymm>
void sc::symmetrize12 ( RefSCMatrix Asymm,
const RefSCMatrix A,
const Ref< OrbitalSpace > &  bra1,
const Ref< OrbitalSpace > &  bra2,
const Ref< OrbitalSpace > &  ket1,
const Ref< OrbitalSpace > &  ket2 
)

Generalization of the above.

Symmetrizes 4-index quantity <ij|A|kl> -> 1/2 * (<ij|A|kl> + <ji|A|lk>), where either bra or ket may have been antisymmetrized. If BraSymm==ASymm && KetSymm==ASymm: <ij|A|kl> -> 1/2 * (<ij|A|kl> + <ji|A|lk>) If BraSymm==ASymm && KetSymm==AntiSymm: <ij|A|kl> -> 1/2 * (<ij|A|kl> + <ji|A|lk>) = 1/2 * (<ij|A|kl> - <ji|A|kl>) If BraSymm==AntiSymm && KetSymm==ASymm: <ij|A|kl> -> 1/2 * (<ij|A|kl> + <ji|A|lk>) = 1/2 * (<ij|A|kl> - <ij|A|lk>) If BraSymm==ASymm && KetSymm==Symm: <ij|A|kl> -> 1/2 * (<ij|A|kl> + <ji|A|lk>) = 1/2 * (<ij|A|kl> + <ji|A|kl>) If BraSymm==Symm && KetSymm==ASymm: <ij|A|kl> -> 1/2 * (<ij|A|kl> + <ji|A|lk>) = 1/2 * (<ij|A|kl> + <ij|A|lk>) etc. and saves to Asymm. Row dimension of A has to be pairdim<BraSymm>(bra1->rank(),bra2->rank()).n(). Same for ket. Asymm and A cannot be the same matrix.

References sc::MOPairIter::nij().

Variable Documentation

◆ PoolData_aligned_size

const int sc::PoolData_aligned_size
Initial value:
= (sizeof(PoolData) + pool_data_alignment - 1)
& (~ (pool_data_alignment - 1))

Generated at Sun Jan 26 2020 23:24:03 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.