28#include <util/state/state.h>
29#include <util/state/statein.h>
30#include <util/state/stateout.h>
32#ifndef _chemistry_qc_mbptr12_twoparticlecontraction_h
33#define _chemistry_qc_mbptr12_twoparticlecontraction_h
51 unsigned int nrow()
const;
52 unsigned int ncol()
const;
55 virtual double contract(
const double* A,
const double* B)
const =0;
58 double dot_prod(
const double* A,
const double* B)
const;
76 double contract(
const double* A,
const double* B)
const;
95 double contract(
const double* A,
const double* B)
const;
114 double contract(
const double* A,
const double* B)
const;
Base class for objects that can save/restore state.
Definition state.h:45
Restores fundamental and user-defined types from images created with StateOut.
Definition statein.h:79
Serializes fundamental and user-defined types.
Definition stateout.h:71
ABS_OBS_Contraction contracts 2 square nobs-by-nobs blocks for the ABS approach.
Definition twoparticlecontraction.h:87
ABS_OBS_Contraction(unsigned int nobs, unsigned int nocc1, unsigned int nocc2)
nobs = rank of OBS (number of all orbitals), nocc1 and nocc2 are number of occupied orbitals for spac...
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
double contract(const double *A, const double *B) const
Computes contraction of blocks A and B.
CABS_OBS_Contraction contracts 2 square nobs-by-nobs blocks for the CABS approach.
Definition twoparticlecontraction.h:106
void save_data_state(StateOut &)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
double contract(const double *A, const double *B) const
Computes contraction of blocks A and B.
CABS_OBS_Contraction(unsigned int nobs)
CABS OBS contraction does not depend on the occupied spaces.
Direct_Contraction is a straight scalar (dot) product of 2 rectangular blocks, scaled by scale.
Definition twoparticlecontraction.h:68
double contract(const double *A, const double *B) const
Computes contraction of blocks A and B.
void save_data_state(StateOut &so)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
TwoParticleContraction contracts nrow-by-ncol bra- or ket-blocks of two 2-particle tensors i....
Definition twoparticlecontraction.h:43
void save_data_state(StateOut &so)
Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR ...
virtual double contract(const double *A, const double *B) const =0
Computes contraction of blocks A and B.
Contains all MPQC code up to version 3.
Definition mpqcin.h:14