ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
complexarray.h File Reference
#include <complex>
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cassert>
Include dependency graph for complexarray.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ModuleBase::ComplexArray
 A basic type of data for complex array. More...
 

Namespaces

namespace  ModuleBase
 

Functions

ComplexArray ModuleBase::operator* (const double r, const ComplexArray &cd)
 Scale a ComplexArray cd by real r.
 
ComplexArray ModuleBase::operator* (const std::complex< double > c, const ComplexArray &cd)
 Scale a ComplexArray cd by std::complex number c.
 
double ModuleBase::abs2 (const ComplexArray &cd)
 Sum of absolute squares of all elements in cd.
 
std::complex< double > ModuleBase::dot (const ComplexArray &cd1, const ComplexArray &cd2)
 Take "dot-product" of two ComplexArray: sum of cd1(conjugate)[i] * cd2[i].
 
void ModuleBase::scale_accumulate (double r, const ComplexArray &cd1, ComplexArray &cd2)
 Does cd2 += r * cd1.
 
void ModuleBase::scale_accumulate (std::complex< double > c, const ComplexArray &cd1, ComplexArray &cd2)
 Does cd2 += c * cd1.
 
void ModuleBase::scaled_sum (double r1, const ComplexArray &cd1, double r2, const ComplexArray &cd2, ComplexArray &cd3)
 Does cd3 = r1*cd1 + r2*cd2.
 
void ModuleBase::scaled_sum (std::complex< double > c1, const ComplexArray &cd1, std::complex< double > c2, const ComplexArray &cd2, ComplexArray &cd3)
 Does cd3 = c1*cd1 + c2*cd2.
 
void ModuleBase::point_mult (ComplexArray &a1, ComplexArray &in2, ComplexArray &out)
 out[i] = a1[i] * in2[i]
 
template<class T >
void ModuleBase::zeros (std::complex< T > *u, int n)
 set elements of u as zero which u is 1_d std::complex array