Browse Subversion Repository
Diff of /BLDConograph_ver1/trunk/src/lattice_symmetry/check_equiv.hh
Parent Directory
| Revision Log
| Patch
| 34 |
const Double& resol) |
const Double& resol) |
| 35 |
{ |
{ |
| 36 |
Double diff = lhs - rhs; |
Double diff = lhs - rhs; |
| 37 |
Double min_value = min( fabs(lhs), fabs(rhs) ); |
Double max_value = max( fabs(lhs), fabs(rhs) ); |
| 38 |
if( fabs( diff ) <= min_value * resol ) return true; |
if( fabs( diff ) <= max_value * resol ) return true; |
| 39 |
return false; |
return false; |
| 40 |
} |
} |
| 41 |
|
|
| 42 |
|
inline bool equiv_zero(const SymMat<Double>& S, const Int4& i, const Int4& j, const Double& resol) |
| 43 |
|
{ |
| 44 |
|
return equiv_resol( S(i,i)+S(j,j)+S(i,j)*2.0, S(i,i)+S(j,j)-S(i,j)*2.0, resol); |
| 45 |
|
} |
| 46 |
|
|
| 47 |
|
inline bool equiv_zero(const SymMat<Double>& S, const Int4& i, const Int4& j, const Int4& l, const Double& resol) |
| 48 |
|
{ |
| 49 |
|
// Ki, Kj, Kl, Km, Kn -> Ki, -Kj, Kl, Kj+Km, Kj+Kn. |
| 50 |
|
// (Sii + Sjj + Sij*2) + (Sjj + Sll + Sjl*2) + (Sii + Sjj + Sll + Sij*2 + Sjl*2 + Sil*2) |
| 51 |
|
// = (Sii + Sjj - Sij*2) + (Sjj + Sll - Sjl*2) + (Sii + Sjj + Sll - Sij*2 - Sjl*2 + Sil*2). |
| 52 |
|
return equiv_resol( |
| 53 |
|
(S(i,i)+S(j,j)+S(l,l)+S(i,l)+(S(i,j)+S(j,l))*2.0)*2.0+S(j,j), |
| 54 |
|
(S(i,i)+S(j,j)+S(l,l)+S(i,l)-(S(i,j)+S(j,l))*2.0)*2.0+S(j,j), resol); |
| 55 |
|
} |
| 56 |
|
|
| 57 |
|
inline bool equiv_zero(const SymMat<Double>& S, const Int4& i, const Int4& j, const Int4& k, const Int4& l, const Double& resol) |
| 58 |
|
{ |
| 59 |
|
// Ki, Kj, Kk, Kl, Kn -> Ki+Kk, -Kj, -Kk, Kj+Kl, Kj+Kk+Kn |
| 60 |
|
// (Sii + Sjj + Sij*2) + (Skk + Sll + Skl*2) + (Sii + Sjj + Skk + Sij*2 + Sjk*2 + Sik*2) + (Sjj + Skk + Sll + Sjk*2 + Skl*2 + Sjl*2) |
| 61 |
|
// = (Sii + Sjj - Sij*2) + (Skk + Sll - Skl*2) + (Sii + Sjj + Skk - Sij*2 - Sjk*2 + Sik*2) + (Sjj + Skk + Sll - Sjk*2 - Skl*2 + Sjl*2). |
| 62 |
|
return equiv_resol( |
| 63 |
|
(S(i,i)+S(j,j)+S(k,k)+S(l,l)+S(i,k)+S(j,l)+(S(i,j)+S(j,k)+S(k,l))*2.0)*2.0+S(j,j)+S(k,k), |
| 64 |
|
(S(i,i)+S(j,j)+S(k,k)+S(l,l)+S(i,k)+S(j,l)-(S(i,j)+S(j,k)+S(k,l))*2.0)*2.0+S(j,j)+S(k,k), resol); |
| 65 |
|
} |
| 66 |
|
|
| 67 |
|
|
| 68 |
inline bool check_equiv_m(const SymMat<Double>& lhs, //const Double& lhs_detS, const Double& lhs_detS_var, |
inline bool check_equiv_m(const SymMat<Double>& lhs, //const Double& lhs_detS, const Double& lhs_detS_var, |
|
|
Legend:
| Removed from v.31 |
|
| changed lines |
| |
Added in v.32 |
|
|
| |