MADNESS  0.10.1
basic_operators.h
Go to the documentation of this file.
1 /*
2  * Some basic operators for ResponseFunction objects
3  */
4 #ifndef SRC_APPS_molresponse_TDHF_BASIC_OPERATORS2_H_
5 #define SRC_APPS_molresponse_TDHF_BASIC_OPERATORS2_H_
6 
7 #include <madness/mra/mra.h>
8 #include <madness/mra/operator.h>
9 #include "response_functions.h"
10 
11 #include <algorithm>
12 #include <memory>
13 #include <vector>
14 
15 namespace madness {
16 // Returns a shallow copy of the transpose of a vector of vector of functions
17 response_space transpose(response_space& f);
18 
19 // Multiplication of a vector of vectors by a matrix,
20 // * g[i][k] = \sum_{j} a[i][j] * b(j,k)
21 // ! NOTE: NO BOUNDS CHECKING ON THE TENSOR b!!!!
23 
24 // Multiplication of a vector of vectors by a scalar g[i][j] = a[i][j] * b
26 
27 // Truncate a vector of vector of functions
28 void truncate(World& world, response_space& v, double tol = FunctionDefaults<3>::get_thresh(), bool fence = true);
29 
30 // Apply a vector of vector of operators to a vector of vector of functions
31 // g[i][j] = op[i][j](f[i][j])
33  std::vector<std::vector<std::shared_ptr<real_convolution_3d>>>& op,
34  response_space& f);
35 // frequecy case
36 response_space apply(World& world, std::vector<std::shared_ptr<real_convolution_3d>>& op, response_space& f);
37 
38 // Apply the derivative operator to a vector of vector of functions
40 } // namespace madness
41 
42 #endif // SRC_APPS_molresponse_TDHF_BASIC_OPERATORS2_H_
Implements derivatives operators with variety of boundary conditions on simulation domain.
Definition: derivative.h:266
FunctionDefaults holds default paramaters as static class members.
Definition: funcdefaults.h:204
A parallel world class.
Definition: world.h:132
static const double v
Definition: hatom_sf_dirac.cc:20
Tensor< double > op(const Tensor< double > &x)
Definition: kain.cc:508
Main include file for MADNESS and defines Function interface.
File holds all helper structures necessary for the CC_Operator and CC2 class.
Definition: DFParameters.h:10
response_space scale(response_space a, double b)
response_space apply(World &world, std::vector< std::vector< std::shared_ptr< real_convolution_3d >>> &op, response_space &f)
Definition: basic_operators.cc:39
void truncate(World &world, response_space &v, double tol, bool fence)
Definition: basic_operators.cc:30
response_space scale_2d(World &world, const response_space &a, const Tensor< double > &b)
response_space transpose(response_space &f)
Definition: basic_operators.cc:10
NDIM & f
Definition: mra.h:2416
static const double b
Definition: nonlinschro.cc:119
static const double a
Definition: nonlinschro.cc:118
Implements most functionality of separated operators.
Definition: response_functions.h:25