Correct embarrassing indexing error: Both the fine-scale

ip-contributions and the resulting coarse-scale ip matrix have
  dimensions (number of basis functions)-by-(number of basis
  functions).
This commit is contained in:
Bård Skaflestad 2010-09-08 09:09:34 +00:00
parent 5075c7a222
commit 5366d18fc2

View File

@ -178,7 +178,7 @@ coarse_sys_compute_cell_ip(int nc,
p = sys->ip_pos[b] + i*nbf_pairs; p = sys->ip_pos[b] + i*nbf_pairs;
for (i2 = 0; i2 < nbf; i2++) { for (i2 = 0; i2 < nbf; i2++) {
for (i1 = 0; i1 <= i2; i1++, p++) { for (i1 = 0; i1 <= i2; i1++, p++) {
sys->cell_ip[p] = IP[i1 + i2*n]; sys->cell_ip[p] = IP[i1 + i2*nbf];
} }
} }
@ -245,6 +245,7 @@ coarse_sys_compute_Binv(int nb,
Lti, &incx, &a2, B, &incy); Lti, &incx, &a2, B, &incy);
/* Factor (packed) SPD inner-product matrix... */ /* Factor (packed) SPD inner-product matrix... */
mm = nbf;
dpptrf_("Upper Triangular", &mm, B, &info); dpptrf_("Upper Triangular", &mm, B, &info);
if (info == 0) { if (info == 0) {
/* ...and invert it... */ /* ...and invert it... */