18 :
BandMatrix(r.size(),r.bandwidth(),r.bandwidth())
24 m_ssdiag.resize(m_size);
25 m_mask.resize(m_size);
30 while (1.0 + ff != 1.0) {
37 void MultiJac::updateTransient(doublereal rdt, integer* mask)
39 for (
size_t n = 0; n < m_size; n++) {
40 value(n,n) = m_ssdiag[n] - mask[n]*rdt;
44 void MultiJac::incrementDiagonal(
int j, doublereal d)
47 value(j,j) = m_ssdiag[j];
59 size_t n, m, ipt=0, j, nv, mv, iloc;
60 doublereal rdx, dx, xsave;
62 for (j = 0; j < m_points; j++) {
64 for (n = 0; n < nv; n++) {
68 dx = m_atol + fabs(xsave)*m_rtol;
77 for (
size_t i = j - 1; i != j+2; i++) {
78 if (i !=
npos && i < m_points) {
81 for (m = 0; m < mv; m++) {
82 value(m+iloc,ipt) = (m_r1[m+iloc]
83 - resid0[m+iloc])*rdx;
93 for (n = 0; n < m_size; n++) {
94 m_ssdiag[n] =
value(n,n);
97 m_elapsed += double(clock() - t0)/CLOCKS_PER_SEC;