[petsc-users] Ambiguity of KSPCGNE
Alexander Grayver
agrayver at gfz-potsdam.de
Fri Jun 22 02:54:39 CDT 2012
Hi Barry,
>> In this case the application of the method is quite restricted since all practical least squares problems formulated in form of normal equations are solved with regularization, e.g.:
>>
>> (A'A + \lamba I)x = A'b
> Yes it is restrictive. There is no concept of lambda in CGNE in PETSc
In this case, since there is LSQR in PETSc, there is hardly any reason
to use CGNE.
>> Assume I have A computed and use matrix free approach to represent (A'A + \lamba I) without ever forming it, so what should I do then to apply KSPCGNE?
> If you supply a shell matrix that applies (A'A + \lamba I) why not just use KSPCG?
That is what I do at the moment. However, as far as I understand, CGLS
is not just about shifting original matrix with some lambda, it has
other advantages over CG for normal equations.
> But if you provide this shell matrix, how do you plan to apply a preconditioner?
One can easily compute diag(A'A + \lamba I), thanks to
MatGetColumnNorms, and thus Jacobi is possible. Since the matrix is
diagonally dominant, in my case it is enough to converge. Although
convergence for normal equations does not imply accurate solution, so
that one needs CGLS or LSQR.
--
Regards,
Alexander
More information about the petsc-users
mailing list