| 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); |
| |
| } | } |
| } | } |
| } | } |
| } | |
| | |
| | |
| | |