| Line 215... |
Line 215... |
ierr = dvd_BasicArnoldi(d->A, data->ip, d->H, d->ldH, d->V, 0, &i,
|
ierr = dvd_BasicArnoldi(d->A, data->ip, d->H, d->ldH, d->V, 0, &i,
|
d->W[data->k-1]/* f */, &beta, &breakdown,
|
d->W[data->k-1]/* f */, &beta, &breakdown,
|
d->auxV[0], d->auxS); CHKERRQ(ierr);
|
d->auxV[0], d->auxS); CHKERRQ(ierr);
|
d->size_V = data->k;
|
d->size_V = data->k;
|
d->size_H = 0/* data->k */;
|
d->size_H = 0/* data->k */;
|
|
|
|
(*d->e_Vchanged)(d, 0, 0, 0, d->size_V);
|
|
|
/* Calc W <- V * H + f * e_m^T */
|
/* Calc W <- V * H + f * e_m^T */
|
for (i=0; i<data->k; i++) {
|
ierr = SlepcUpdateVectorsZ(d->W, d->V, d->size_V, d->H, d->ldH, data->k,
|
if (i != data->k - 1) {
|
data->k); CHKERRQ(ierr);
|
ierr = VecSet(d->W[i], 0.0); CHKERRQ(ierr);
|
|
}
|
|
ierr = VecMAXPY(d->W[i], data->k, d->H+d->ldH*i, d->V); CHKERRQ(ierr);
|
|
}
|
|
d->size_W = data->k-1;
|
d->size_W = data->k-1;
|
|
|
(*d->e_Vchanged)(d, 0, 0, 0, d->size_V);
|
|
|
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|
}
|
}
|
|
|
|
|
EXTERN_C_BEGIN
|
EXTERN_C_BEGIN
|