QNANO
Spherical_Harmonics.h
1 #ifndef QNANO_NEW_SPHERICAL_HARMONICS_DEFINED_H
2 #define QNANO_NEW_SPHERICAL_HARMONICS_DEFINED_H
3 
4 #include <cmath>
5 #include <iostream>
6 #include <cstdlib>
7 #include <vector>
8 #include <complex>
9 
10 /*
11 
12 Here, we provide the first few spherical harmonics in real form. Source:
13  https://en.wikipedia.org/wiki/Table_of_spherical_harmonics#Real_spherical_harmonics
14 
15 
16 */
17 
18 
19 namespace Spherical_Harmonics{
20 
21 
22 // d has to contain x,y, and z coordinates:
23 double Y(const size_t orb, const double *d);
24 
25 double Y(const size_t orb, const double x, const double y, const double z);
26 
27 std::vector<std::complex<double> > apply_Lz(const std::vector<std::complex<double> > &orbs);
28 
29 std::vector<std::complex<double> > apply_sx(const std::vector<std::complex<double> > &orbs);
30 std::vector<std::complex<double> > apply_sy(const std::vector<std::complex<double> > &orbs);
31 std::vector<std::complex<double> > apply_sz(const std::vector<std::complex<double> > &orbs);
32 
33 
34 std::vector<std::complex<double> > apply_Jz(const std::vector<std::complex<double> > &orbs);
35 
36 
37 }//namespace
38 
39 #endif
Definition: Spherical_Harmonics.h:19