41 for ( i = 0; i <
m_dim; i++ ) {
42 for ( j = 0; j <
m_dim; j++ ) {
53 for ( i = 0; i <
m_dim; i++ ) {
54 for ( j = 0; j <
m_dim; j++ ) {
66 for ( i = 0; i <
m_dim; i++ )
85 for ( i = 0; i <
m_dim; i++ )
96 for ( i = 0; i < n; i++ ) {
123 for ( i = 0; i < n; i++ ) {
124 for ( j = 0; j < n; j++ ) {
139 <<
"Not matching dimensions in NormalizedProb" << endl;
143 for ( i = 0; i <
m_dim; i++ ) {
145 for ( j = 0; j <
m_dim; j++ ) {
150 if (
imag( prob ) > 0.00000001 *
real( prob ) ) {
152 <<
"Imaginary probability:" << prob <<
" " << norm << endl;
154 if (
real( prob ) < 0.0 ) {
156 <<
"Negative probability:" << prob <<
" " << norm << endl;
159 return real( prob ) / norm;
166 <<
"dim=" <<
m_dim <<
"in SpinDensity::Check" << endl;
173 for ( i = 0; i <
m_dim; i++ ) {
177 for ( i = 0; i <
m_dim; i++ ) {
180 if (
imag(
m_rho[i][i] ) * 1000000.0 > trace ) {
188 for ( i = 0; i <
m_dim; i++ ) {
189 for ( j = i + 1; j <
m_dim; j++ ) {
211 s <<
"Dimension:" << d.
m_dim << endl;
213 for ( i = 0; i < d.
m_dim; i++ ) {
214 for ( j = 0; j < d.
m_dim; j++ ) {
215 s << d.
m_rho[i][j] <<
" ";
double imag(const EvtComplex &c)
double real(const EvtComplex &c)
EvtComplex * EvtComplexPtr
double abs(const EvtComplex &c)
std::ostream & EvtGenReport(EvtGenSeverity severity, const char *facility=nullptr)
ostream & operator<<(ostream &s, const EvtSpinDensity &d)
double normalizedProb(const EvtSpinDensity &d)
EvtSpinDensity & operator=(const EvtSpinDensity &density)
const EvtComplex & get(int i, int j) const
EvtSpinDensity(const EvtSpinDensity &density)
void set(int i, int j, const EvtComplex &rhoij)
virtual ~EvtSpinDensity()