MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
orbitalspace_utils.h
1//
2// orbitalspace_utils.h
3//
4// Copyright (C) 2009 Edward Valeev
5//
6// Author: Edward Valeev <evaleev@vt.edu>
7// Maintainer: EV
8//
9// This file is part of the SC Toolkit.
10//
11// The SC Toolkit is free software; you can redistribute it and/or modify
12// it under the terms of the GNU Library General Public License as published by
13// the Free Software Foundation; either version 2, or (at your option)
14// any later version.
15//
16// The SC Toolkit is distributed in the hope that it will be useful,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19// GNU Library General Public License for more details.
20//
21// You should have received a copy of the GNU Library General Public License
22// along with the SC Toolkit; see the file COPYING.LIB. If not, write to
23// the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24//
25// The U.S. Government is granted a limited license as per AL 91-7.
26//
27
28#ifndef _mpqc_src_lib_chemistry_qc_mbptr12_orbitalspaceutils_h
29#define _mpqc_src_lib_chemistry_qc_mbptr12_orbitalspaceutils_h
30
31#include <chemistry/qc/wfn/orbitalspace.h>
32#include <chemistry/qc/basis/orthog.h>
33#include <chemistry/qc/lcao/fockbuild_runtime.h>
34#include <chemistry/qc/basis/obintfactory.h>
35
36namespace sc {
37
45 Ref<OrbitalSpace> orthogonalize(const std::string& id, const std::string& name, const Ref<GaussianBasisSet>& bs,
46 const Ref<Integral>& integral, OverlapOrthog::OrthogMethod orthog_method, double lindep_tol,
47 int& nlindep);
48
53 const std::string& id, const std::string& name, double lindep_tol);
54
59 const std::string& id, const std::string& name, double lindep_tol);
60
62 template <IntegralOneBodyMethod IntMethod>
64 compute_obints(const Ref<OrbitalSpace>& space_bra, const Ref<OrbitalSpace>& space_ket);
65
67 template <IntegralOneBodyMethod IntMethod>
70
74
77 const Ref<OrbitalSpace>& space2,
78 RefSCMatrix& MX,
79 RefSCMatrix& MY,
80 RefSCMatrix& MZ,
81 RefSCMatrix& MXX,
82 RefSCMatrix& MYY,
83 RefSCMatrix& MZZ,
84 RefSCMatrix& MXY,
85 RefSCMatrix& MXZ,
86 RefSCMatrix& MYZ);
87
88} // end of namespace sc
89
90#include <chemistry/qc/wfn/orbitalspace_utils.timpl.h>
91
92#endif // end of header guard
93
94
95// Local Variables:
96// mode: c++
97// c-file-style: "CLJ-CONDENSED"
98// End:
OrthogMethod
An enum for the types of orthogonalization.
Definition orthog.h:42
The RefSCMatrix class is a smart pointer to an SCMatrix specialization.
Definition matrix.h:135
The RefSymmSCMatrix class is a smart pointer to an SCSymmSCMatrix specialization.
Definition matrix.h:265
A template class that maintains references counts.
Definition ref.h:361
Contains all MPQC code up to version 3.
Definition mpqcin.h:14
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 !...
Definition orbitalspace_utils.timpl.h:54
RefSCMatrix compute_overlap_ints(const Ref< OrbitalSpace > &space1, const Ref< OrbitalSpace > &space2)
compute overlap between space1 and space2
Ref< OrbitalSpace > 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.
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.
Ref< OrbitalSpace > orthog_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....
Ref< OrbitalSpace > 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.

Generated at Wed Sep 25 2024 02:45:30 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.12.0.