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>
10
11#include <algorithm>
12#include <memory>
13#include <vector>
14
15namespace madness {
16// Returns a shallow copy of the transpose of a vector of vector of functions
17response_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
28void 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,
35// frequecy case
36response_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 tensor is a multidimension array.
Definition tensor.h:317
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.
Namespace for all elements and tools of MADNESS.
Definition DFParameters.h:10
response_space scale(response_space a, double b)
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
response_space apply(World &world, std::vector< std::vector< std::shared_ptr< real_convolution_3d > > > &op, response_space &f)
Definition basic_operators.cc:39
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