MADNESS 0.10.1
Classes | Functions
kain.cc File Reference
#include <iostream>
#include <madness/tensor/tensor.h>
#include <madness/tensor/tensor_lapack.h>
#include <madness/world/print.h>
Include dependency graph for kain.cc:

Classes

struct  OptimizationTargetInterface
 The interface to be provided by functions to be optimized. More...
 
struct  OptimizerInterface
 The interface to be provided by optimizers. More...
 
class  QuasiNewton
 Optimization via quasi-Newton (BFGS or SR1 update) More...
 
struct  SolverInterface
 The interface to be provided by solvers. More...
 
struct  SolverTargetInterface
 The interface to be provided by. More...
 
class  SteepestDescent
 Optimization via steepest descent. More...
 
struct  Test
 
struct  Test2
 

Functions

double dot_product (const Tensor< double > &a, const Tensor< double > &b)
 
template<typename T >
Tensor< TKAIN (const Tensor< T > &Q)
 Solves the KAIN equations for coefficients to compute the next vector.
 
int main ()
 
Tensor< double > op (const Tensor< double > &x)
 

Function Documentation

◆ dot_product()

double dot_product ( const Tensor< double > &  a,
const Tensor< double > &  b 
)

References a, b, and madness::Tensor< T >::trace().

◆ KAIN()

template<typename T >
Tensor< T > KAIN ( const Tensor< T > &  Q)

Solves the KAIN equations for coefficients to compute the next vector.

///   Q(i,j) = <xi|fj>
///   A(i,j) = <xi-xm | fj-fm> = Q(i,j) - Q(m,j) - Q(i,m) + Q(m,m)
///   b(i,j) =-<xi-xm | fm> = -Q(i,m) + Q(m,m)
///   A c = b
///
///   . Correction to vector m
///   .   interior = sum(i<m)[ c(i)*(x(i)-x(m)) ] = sum(i<m)[c(i)*x(i)] - x[m]*sum(i<m)[c(i)]
///   .   exterior = -f(m) - sum(i<m)[ c(i)*(f(i)-f(m)) ] = -f(m) - sum(i<m)[c(i)*f(i)] + f(m)*sum(i<m)[c(i)]
///   . New vector
///   .   define C = sum(i<m)(c(i))  (note less than)
///   .   define c(m) = 1.0 - C
///   .   xnew = sum(i<=m) [ c(i)*(x(i) - f(i)) ]
/// 

References b, c, madness::BaseTensor::dim(), e(), madness::gelss(), L, m, madness::print(), Q(), and T().

Referenced by Subspace::update_subspace(), and Subspace::update_subspace().

◆ main()

int main ( void  )

◆ op()

Tensor< double > op ( const Tensor< double > &  x)

References madness::BaseTensor::dim(), and madness::f.

Referenced by madness::ConvolutionND< Q, NDIM >::ConvolutionND(), MatrixOperator::add_operator(), madness::WorldGopInterface::all_reduce(), madness::WorldGopInterface::all_reduce(), SafeMPI::Intracomm::Allreduce(), madness::SeparatedConvolution< Q, NDIM >::apply(), madness::apply(), madness::apply(), madness::CCPairFunction< T, NDIM >::apply(), madness::apply(), madness::apply(), madness::apply(), PointGroup::apply(), madness::apply(), PointGroup::apply(), madness::FunctionImpl< T, NDIM >::apply(), madness::apply(), madness::apply(), madness::apply(), madness::apply(), Fcwf::apply(), apply(), madness::apply(), madness::apply(), madness::apply(), madness::SeparatedConvolution< Q, NDIM >::apply2(), madness::SeparatedConvolution< Q, NDIM >::apply2_lowdim(), madness::apply_1d_realspace_push(), madness::FunctionImpl< T, NDIM >::apply_1d_realspace_push(), madness::FunctionImpl< T, NDIM >::apply_1d_realspace_push_op(), apply_BSH(), apply_BSH_new(), madness::MP2::apply_exchange(), madness::MP2::apply_exchange_vector(), madness::apply_only(), apply_periodic_bsh(), apply_potential(), madness::FunctionImpl< T, NDIM >::apply_source_driven(), madness::XCOperator< T, NDIM >::apply_xc_kernel(), madness::binary_op(), madness::FunctionImpl< T, NDIM >::binaryXX(), madness::FunctionImpl< T, NDIM >::binaryXXa(), madness::HartreeFock< T, NDIM >::calculate_coulomb_energy(), madness::HartreeFock< T, NDIM >::calculate_exchange_energy(), madness::DFT< T, NDIM >::calculate_tot_coulomb_energy(), madness::DFT< T, NDIM >::calculate_tot_pe_sp(), PointGroup::cart_ir(), madness::CCPairFunction< T, NDIM >::collect_same_types(), madness::OEP::compute_dcep_correction(), compute_energy(), madness::F12Potentials::compute_ijab_integrals(), madness::OEP::compute_mrks_correction(), madness::OEP::compute_ocep_correction(), madness::OEP::compute_slater_potential(), madness::F12Potentials::compute_xyab_integrals(), madness::conditional_conj(), converge(), converge(), converge2s(), madness::Pairs< T >::convert(), PointGroup::ctable(), DF::diagonalize(), madness::CCPairFunction< T, NDIM >::dirac_convolution(), madness::CCPairFunction< T, NDIM >::dirac_convolution_decomposed(), madness::FunctionImpl< T, NDIM >::do_apply(), madness::FunctionImpl< T, NDIM >::do_apply_directed_screening(), madness::FunctionImpl< T, NDIM >::do_apply_kernel(), madness::FunctionImpl< T, NDIM >::do_apply_kernel2(), madness::FunctionImpl< T, NDIM >::do_apply_kernel3(), madness::FunctionImpl< T, NDIM >::do_binary_op(), madness::Function< T, NDIM >::do_hartree_product(), doit(), GygiPot::ESP(), madness::SeparatedConvolution< Q, NDIM >::estimate_costs(), DF::exchange(), madness::Function< T, NDIM >::fill_cuspy_tree(), madness::Function< T, NDIM >::fill_nuclear_cuspy_tree(), madness::Function< T, NDIM >::fill_tree(), madness::Molecule::find_symmetry_equivalent_atom(), madness::FunctionImpl< T, NDIM >::flo_unary_op_node_inplace(), madness::FunctionImpl< T, NDIM >::flo_unary_op_node_inplace(), madness::WorldTaskQueue::for_each(), madness::foreach_child(), Key::foreach_child(), madness::FunctionFactory< T, NDIM >::functor(), madness::smooth< T, NDIM >::gaussian_smoothing(), madness::cblas::gemm(), madness::cblas::gemm(), madness::cblas::gemm(), madness::cblas::gemm(), madness::cblas::gemv(), madness::cblas::gemv(), madness::cblas::gemv(), madness::cblas::gemv(), PointGroup::get_op_name(), madness::SeparatedConvolution< Q, NDIM >::getmuop(), madness::SeparatedConvolution< Q, NDIM >::getmuop_modified(), madness::SeparatedConvolution< Q, NDIM >::getop_modified(), madness::SeparatedConvolution< Q, NDIM >::getop_ns(), madness::GMRES(), GygiPot::GuessPotential(), madness::hartree_product(), madness::Fock< T, NDIM >::info(), madness::Solver< T, NDIM >::initial_guess(), madness::CCPairFunction< T, NDIM >::inner_internal(), PointGroup::ircell(), iterate(), iterate(), iterate(), iterate(), iterate(), DF::iterate(), iterate(), iterate(), iterate(), iterate_excite(), iterate_excite(), iterate_ground(), iterate_ground(), madness::WorldGopInterface::lazy_sync(), madness::WorldGopInterface::lazy_sync(), madness::WorldGopInterface::lazy_sync_children(), madness::WorldGopInterface::lazy_sync_internal(), madness::archive::ArchiveLoadImpl< ParallelInputArchive< archiveT >, CCPairFunction< T, NDIM > >::load(), main(), main(), main(), madness::MP2::make_chi(), MiniDFT::make_coulomb_potential(), make_coulomb_potential(), DF::make_fermi_potential(), madness::SeparatedConvolution< Q, NDIM >::make_tt_representation(), madness::MP2::make_xi(), madness::CCPairFunction< T, NDIM >::make_xy_u(), madness::EigSolver< T, NDIM >::matrix_element(), madness::EigSolver< T, NDIM >::multi_solve(), madness::multi_to_multi_op_values(), madness::Function< T, NDIM >::multi_to_multi_op_values(), madness::FunctionImpl< T, NDIM >::multi_to_multi_op_values(), madness::FunctionImpl< T, NDIM >::multi_to_multi_op_values_doit(), madness::Function< T, NDIM >::multiop_values(), madness::multiop_values(), madness::FunctionImpl< T, NDIM >::multiop_values(), madness::FunctionImpl< T, NDIM >::multiop_values_doit(), madness::CCPairFunction< T, NDIM >::multiply_with_op_inplace(), newK(), SafeMPI::Op_free(), madness::CCConvolutionOperator< T, NDIM >::operator()(), madness::CCConvolutionOperator< T, NDIM >::operator()(), madness::CCConvolutionOperator< T, NDIM >::operator()(), madness::XCOperator< T, NDIM >::logme::operator()(), madness::XCOperator< T, NDIM >::expme::operator()(), MicroTask::operator()(), MatrixOperator::operator()(), madness::Fock< T, NDIM >::operator()(), madness::Fock< T, NDIM >::operator()(), madness::CCPairFunction< T, NDIM >::operator*(), operator<<(), PointGroup::operator=(), SurfaceMoleculeInteraction::perturbed_molecular_pot(), madness::plot_line(), madness::plot_plane(), madness::EigSolver< T, NDIM >::prepare_ops(), MatrixOperator::print(), madness::GFit< T, NDIM >::print_accuracy(), madness::projector_irrep::print_character_table(), madness::EigSolver< T, NDIM >::print_matrix_elements(), madness::FunctionImpl< T, NDIM >::print_plane_local(), madness::CCPairFunction< T, NDIM >::project_out_op_decomposed(), madness::WorldGopInterface::reduce(), madness::WorldGopInterface::reduce(), madness::WorldTaskQueue::reduce(), SafeMPI::Intracomm::Reduce(), madness::WorldGopInterface::reduce(), madness::WorldGopInterface::reduce_internal(), madness::WorldGopInterface::reduce_result_task(), madness::WorldGopInterface::reduce_task(), madness::FunctionImpl< T, NDIM >::refine(), madness::Function< T, NDIM >::refine_general(), madness::FunctionImpl< T, NDIM >::refine_op(), madness::FunctionImpl< T, NDIM >::refine_spawn(), madness::CCPairFunction< T, NDIM >::reset_operator(), madness::DQueue< T >::scan(), madness::ThreadPool::scan(), madness::WorldAmInterface::send(), madness::ConvolutionND< Q, NDIM >::setop(), madness::EigSolver< T, NDIM >::solve(), DF::solve_occupied(), madness::WorldTaskQueue::sum(), madness::Molecule::symmetrize_for_op(), test(), madness::smooth< T, NDIM >::test_1d(), test_adaptive_tree(), test_apply(), test_apply_push_1d(), test_asymmetric(), test_bsh(), test_combined_operators(), test_compress(), test_constructor(), test_coulomb(), madness::Molecule::test_for_op(), test_gconv(), test_he_potential(), test_hermiticity(), test_hf_be(), test_hf_he(), test_modified(), test_multi_to_multi_op(), test_op(), test_opdir(), test_per(), test_periodic(), test_periodic1(), test_periodic2(), test_periodic_bsh(), test_recursive_application(), test_smooth_maxout(), testbsh(), testNavierStokes(), testPeriodicCoulomb3d(), madness::unary_op(), madness::FunctionImpl< T, NDIM >::unary_op_coeff_inplace(), madness::Function< T, NDIM >::unary_op_coeffs(), madness::unary_op_coeffs(), madness::FunctionImpl< T, NDIM >::unary_op_node_inplace(), madness::FunctionImpl< T, NDIM >::unary_op_value_inplace(), madness::Function< T, NDIM >::unaryop(), madness::Tensor< T >::unaryop(), madness::Function< T, NDIM >::unaryop_coeff(), madness::Function< T, NDIM >::unaryop_node(), madness::FunctionImpl< T, NDIM >::unaryXX(), madness::FunctionImpl< T, NDIM >::unaryXXa(), madness::FunctionImpl< T, NDIM >::unaryXXvalues(), and madness::CCConvolutionOperator< T, NDIM >::update_elements().