[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