-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFreeFunctions.h
28 lines (25 loc) · 1.51 KB
/
FreeFunctions.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef FREEFUNCTIONS_H
#define FREEFUNCTIONS_H
#include "FinalSuperblock.h"
rmMatrixX_t randomSeed(const TheBlock& leftBlock, const TheBlock& rightBlock);
// outputs random normalized vector
std::vector<int> vectorProductSum(const std::vector<int>& first,
const std::vector<int>& second);
// takes the tensor product of two blocks' lists of quantum numbers
void reflectPredictedPsi(rmMatrixX_t& psiGround, const TheBlock& bigBlock,
const TheBlock& littleBlock);
// when you reach edge of system
Eigen::VectorXd oneSiteExpValues(const obsMatrixD_t& oneSiteOp,
int rangeOfObservables, int lSys,
FinalSuperblock& hSuperFinal,
std::vector<TheBlock>& leftBlocks,
std::vector<TheBlock>& rightBlocks,
std::ofstream& fileout);
Eigen::MatrixXd twoSiteExpValues(const obsMatrixD_t& firstTwoSiteOp,
const obsMatrixD_t& secondTwoSiteOp,
int rangeOfObservables, int lSys,
FinalSuperblock& hSuperFinal,
std::vector<TheBlock>& leftBlocks,
std::vector<TheBlock>& rightBlocks,
std::ofstream& fileout);
#endif