MPQC 3.0.0-alpha
Loading...
Searching...
No Matches
orbitalspace_utils.timpl.h
1//
2// orbitalspace_utils.timpl.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_orbitalspace_utils_timpl_h
29#define _mpqc_src_lib_chemistry_qc_mbptr12_orbitalspace_utils_timpl_h
30
31#include <chemistry/qc/basis/obintfactory.h>
32
33namespace sc {
34
36 template <IntegralOneBodyMethod IntMethod>
37 RefSymmSCMatrix
39 Ref<Integral> ints = space->integral()->clone();
40 ints->set_basis(space->basis());
41 Ref<PetiteList> plist = ints->petite_list();
43 RefSymmSCMatrix O_ao = plist->to_AO_basis(O_so);
44 RefSCMatrix C = space->coefs();
45 RefSymmSCMatrix O = O_so.kit()->symmmatrix(C.coldim());
46 O.assign(0.0);
47 O.accumulate_transform(C, O_ao, SCMatrix::TransposeTransform);
48 return O;
49 }
50
52 template <IntegralOneBodyMethod IntMethod>
53 RefSCMatrix
54 compute_obints(const Ref<OrbitalSpace>& space_bra, const Ref<OrbitalSpace>& space_ket) {
55 throw ProgrammingError("compute_obints not yet implemented",
56 __FILE__, __LINE__);
57 }
58
59} // end of namespace sc
60
61#endif // end of header guard
62
63
64// Local Variables:
65// mode: c++
66// c-file-style: "CLJ-CONDENSED"
67// End:
This is thrown when a situations arises that should be impossible.
Definition scexception.h:92
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
void accumulate_transform(const RefSCMatrix &a, const RefSymmSCMatrix &b, SCMatrix::Transform=SCMatrix::NormalTransform) const
Add a * b * a.t() to this.
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
RefSymmSCMatrix compute_onebody_matrix(Ref< PetiteList > &plist)
Creates matrix representation of a one-body operator using point-group symmetry.
Definition obintfactory.h:42

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