StatMech
Loading...
Searching...
No Matches
OperatorSpace_test.cpp File Reference

Namespaces

namespace  Eigen
 

Functions

template<typename charT , typename traits >
std::basic_ostream< charT, traits > & Eigen::operator<< (std::basic_ostream< charT, traits > &strm, const std::complex< double > &c)
 
Eigen::IOFormat OctaveFmt (Eigen::StreamPrecision, 0, ", ", ";\n", "", "", "[", "]")
 
int main (void)
 

Function Documentation

◆ main()

int main ( void  )
21 {
22 int L = 7, dimLoc = 2;
23 HilbertSpace<> baseSpace(dimLoc);
24 std::cout << baseSpace.dim() << std::endl;
25 std::cout << &baseSpace << std::endl;
26
27 {
28 std::cout << "Testing class OperatorSpace." << std::endl;
29 OperatorSpace<> opSpace(baseSpace);
30 std::cout << opSpace.dim() << "\n"
31 << &opSpace.baseSpace() << std::endl;
32 std::cout << &baseSpace << std::endl;
33
34 long opNum = 3;
35 Eigen::SparseMatrix<std::complex<double>> op(opSpace.baseSpace().dim(), opSpace.baseSpace().dim());
36 for(int j = 0;j < opSpace.baseSpace().dim(); ++j) {
37 std::pair<long, std::complex<double> > p = opSpace.action(opNum,j);
38 if( std::abs(p.second) != 0 ) op.insert(p.first, j) = p.second;
39 }
40 std::cout << op.pruned(1,0.5) << std::endl;
41 }
42
43 {
44 std::cout << "Testing class ManyBodyOperatorSpace." << std::endl;
45 int L = 4;
46 ManyBodySpinSpace mbHSpace(L, baseSpace);
47 std::cout << std::endl;
48 ManyBodyOperatorSpace<> mbOpSpace(mbHSpace);
49 std::cout << std::endl;
50 std::cout << mbOpSpace.dim() << "\n"
51 << mbOpSpace.baseSpace().dim() << " " << mbHSpace.dim() << "\n"
52 << mbOpSpace.dimLoc() << "\n"
53 << mbOpSpace.baseSpace().dimLoc() << " " << mbHSpace.dimLoc() << "\n"
54 << mbOpSpace.sysSize() << " "
55 << mbOpSpace.baseSpace().sysSize() << " " << mbHSpace.sysSize() << "\n" << std::endl;
56
57 std::cout << "&baseSpace = " << &baseSpace << "\n"
58 << "&mbHSpace = " << &mbHSpace << "\n"
59 << "&mbHSpace.locSpace() = " << &mbHSpace.locSpace() << "\n"
60 << "&mbOpSpace.baseSpace() = " << &mbOpSpace.baseSpace() << "\n"
61 << "&mbOpSpace.locSpace() = " << &mbOpSpace.locSpace() << "\n"
62 << "&mbOpSpace.locSpace().baseSpace() = " << &mbOpSpace.locSpace().baseSpace() << "\n"
63 << "&mbOpSpace = " << &mbOpSpace << "\n";
64
65 std::cout << mbOpSpace.ordinalToConfig(1) << std::endl;
66 }
67
68 return EXIT_SUCCESS;
69}
Definition HilbertSpace.hpp:32
Definition OperatorSpace.hpp:290
Definition HilbertSpace.hpp:423
Definition OperatorSpace.hpp:132

◆ OctaveFmt()

Eigen::IOFormat OctaveFmt ( Eigen::StreamPrecision  ,
,
,
,
";\n"  ,
""  ,
""  ,
""  [", "] 
)