[petsc-users] tridiagonal matrix in kspsolve
Shriram Srinivasan
shriram at ualberta.ca
Wed Jun 11 01:04:56 CDT 2014
Thank you Jed. Your point is well taken. We are trying to improve upon
an existing method, and this is the first attempt. Based on this, we
shall proceed. Could you direct me to a reference that discusses issues
with ADI ?
Also, if I use Lapack's tridiagonal solver, I suppose I shall only need
the diagonals, so would it be better to assemble the diagonals directly
as an array without using a Mat object and its methods for assembly?
Assembling the matrix and then extracting the diagonals I expect is
inefficient in comparison ?
Thanks, Shriram
On 06/10/2014 05:02 PM, Jed Brown wrote:
> Shriram Srinivasan <shriram at ualberta.ca> writes:
>
>> Apologies if my question is answered elsewhere already. I could not
>> find this discussed in the manual or mailing list.
>>
>> I have been using matsolvermumps through ksp to solve my linear system.
>> I wanted to simply get it working so I was not concerned about the
>> structure of the matrix.
>>
>>
>> 1) My matrix is tridiagonal, but the elements of the diagonals are not
>> all equal. Will a dedicated tridiagonal solver be faster than
>> matsolvermumps in this case ?
>>
>> 2) My matrix is tridiagonal but not in the conventional sense, the minor
>> diagonals are farther apart. But it is possible to renumber the nodes
>> and make it a conventional tridiagonal system. In this case, again, am I
>> losing efficiency using matsolvermumps ?
> Yes on all counts, but use a profiler to see where the time is spent. A
> good implementation will specialize the tridiagonal structure and
> aggregate all the problems. It can be done efficiently, but I'm not
> aware of general-purpose libraries.
>
> However, I reiterate my earlier statements that ADI is an antiquated
> method that has fallen out of favor since it is a poor parallel
> algorithm and has large splitting errors.
More information about the petsc-users
mailing list