version 1.4 | version 1.5 |
---|
| |
S_backup.resize(4,4); | S_backup.resize(4,4); |
S_backup = S; | S_backup = S; |
| |
if (cvm::debug()) { | |
if (b_debug_gradients) { | if (b_debug_gradients) { |
cvm::log("S = "+cvm::to_str(cvm::to_str(S_backup), cvm::cv_width, cvm::cv_prec)+"\n"); | cvm::log("S = "+cvm::to_str(cvm::to_str(S_backup), cvm::cv_width, cvm::cv_prec)+"\n"); |
} | } |
} | |
| |
diagonalize_matrix(S, S_eigval, S_eigvec); | diagonalize_matrix(S, S_eigval, S_eigvec); |
| |
| |
q_old = q; | q_old = q; |
} | } |
| |
if (cvm::debug()) { | |
if (b_debug_gradients) { | if (b_debug_gradients) { |
cvm::log("L0 = "+cvm::to_str(L0, cvm::cv_width, cvm::cv_prec)+ | cvm::log("L0 = "+cvm::to_str(L0, cvm::cv_width, cvm::cv_prec)+ |
", Q0 = "+cvm::to_str(Q0, cvm::cv_width, cvm::cv_prec)+ | ", Q0 = "+cvm::to_str(Q0, cvm::cv_width, cvm::cv_prec)+ |
| |
", Q0*Q3 = "+cvm::to_str(Q0.inner(Q3), cvm::cv_width, cvm::cv_prec)+ | ", Q0*Q3 = "+cvm::to_str(Q0.inner(Q3), cvm::cv_width, cvm::cv_prec)+ |
"\n"); | "\n"); |
} | } |
} | |
| |
// calculate derivatives of L0 and Q0 with respect to each atom in | // calculate derivatives of L0 and Q0 with respect to each atom in |
// either group; note: if dS_1 is a null vector, nothing will be | // either group; note: if dS_1 is a null vector, nothing will be |
| |
} | } |
} | } |
| |
if (cvm::debug()) { | |
| |
if (b_debug_gradients) { | if (b_debug_gradients) { |
| |
cvm::matrix2d<cvm::real> S_new(4, 4); | cvm::matrix2d<cvm::real> S_new(4, 4); |
| |
} | } |
} | } |
} | } |
} | |
| |
| |
| |