| Line 197... |
Line 197... |
svd->nsv = 1;
|
svd->nsv = 1;
|
svd->ncv = PETSC_DECIDE;
|
svd->ncv = PETSC_DECIDE;
|
svd->its = 0;
|
svd->its = 0;
|
svd->max_it = PETSC_DECIDE;
|
svd->max_it = PETSC_DECIDE;
|
svd->tol = 1e-7;
|
svd->tol = 1e-7;
|
|
svd->errest = PETSC_NULL;
|
svd->data = PETSC_NULL;
|
svd->data = PETSC_NULL;
|
svd->setupcalled = 0;
|
svd->setupcalled = 0;
|
svd->reason = SVD_CONVERGED_ITERATING;
|
svd->reason = SVD_CONVERGED_ITERATING;
|
|
svd->numbermonitors = 0;
|
|
|
ierr = PetscPublishAll(svd);CHKERRQ(ierr);
|
ierr = PetscPublishAll(svd);CHKERRQ(ierr);
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|
}
|
}
|
|
|
| Line 239... |
Line 241... |
|
|
if (svd->A) { ierr = MatDestroy(svd->A);CHKERRQ(ierr); }
|
if (svd->A) { ierr = MatDestroy(svd->A);CHKERRQ(ierr); }
|
if (svd->AT) { ierr = MatDestroy(svd->AT);CHKERRQ(ierr); }
|
if (svd->AT) { ierr = MatDestroy(svd->AT);CHKERRQ(ierr); }
|
if (svd->n) {
|
if (svd->n) {
|
ierr = PetscFree(svd->sigma);CHKERRQ(ierr);
|
ierr = PetscFree(svd->sigma);CHKERRQ(ierr);
|
|
ierr = PetscFree(svd->errest);CHKERRQ(ierr);
|
for (i=0;i<svd->n;i++) {
|
for (i=0;i<svd->n;i++) {
|
ierr = VecDestroy(svd->U[i]); CHKERRQ(ierr);
|
ierr = VecDestroy(svd->U[i]); CHKERRQ(ierr);
|
}
|
}
|
ierr = PetscFree(svd->U);CHKERRQ(ierr);
|
ierr = PetscFree(svd->U);CHKERRQ(ierr);
|
for (i=0;i<svd->n;i++) {
|
for (i=0;i<svd->n;i++) {
|
| Line 250... |
Line 253... |
}
|
}
|
ierr = PetscFree(svd->V);CHKERRQ(ierr);
|
ierr = PetscFree(svd->V);CHKERRQ(ierr);
|
}
|
}
|
if (svd->vec_initial) { ierr = VecDestroy(svd->vec_initial);CHKERRQ(ierr); }
|
if (svd->vec_initial) { ierr = VecDestroy(svd->vec_initial);CHKERRQ(ierr); }
|
if (svd->data) { ierr = PetscFree(svd->data);CHKERRQ(ierr); }
|
if (svd->data) { ierr = PetscFree(svd->data);CHKERRQ(ierr); }
|
|
ierr = SVDClearMonitor(svd);CHKERRQ(ierr);
|
|
|
PetscLogObjectDestroy(svd);
|
PetscLogObjectDestroy(svd);
|
PetscHeaderDestroy(svd);
|
PetscHeaderDestroy(svd);
|
PetscFunctionReturn(0);
|
PetscFunctionReturn(0);
|
}
|
}
|