[petsc-users] About MatLUFactor()

Barry Smith bsmith at mcs.anl.gov
Fri Feb 25 11:36:14 CST 2011


   A custom MatMatSolve_SeqDense() will work much better than the one that does a single solve at a time because it will use Blas 3 unstead of 2.

   Barry

On Feb 25, 2011, at 11:25 AM, Hong Zhang wrote:

> Golam:
>> Oh, It thought MatMatSolve() was there as you mention something about it in
>> the FAQ. Please add it then.
> 
> Checking carefully, I realize that petsc supports MatMatSolve() for
> all matrix types
> by calling MatMatSolve_Basic() which calls MatSolve() for each rhs vector,
> except  few matrix types (seqdense is not included) that we provided
> more efficient implementation.
> 
> A simplified ex1.c  with MatMatSolve() for petsc-dev is attached
> (note: this only works with petsc-dev)
> for your info.
> 
> Hong
> 
> 
> 
>> 
>> Thanks,
>> Golam
>> 
>> On Thu, Feb 24, 2011 at 7:31 PM, Hong Zhang <hzhang at mcs.anl.gov> wrote:
>>> 
>>> For sequential dense in-place LU factorization, see
>>> /src/mat/examples/tests/ex1.c.
>>> For parallel, you need install PLAPACK.
>>> 
>>> It seems we do not have MatMatSolve() for dense matrix format. I can
>>> add it if you need it.
>>> 
>>> Hong
>>> 
>>> On Thu, Feb 24, 2011 at 8:43 PM, Golam Rabbani <mgrabbani at gmail.com>
>>> wrote:
>>>> Hi,
>>>> 
>>>> I need to use MatLUFactor(), but do not know what to pass for the last 3
>>>> arguments. Would you please explain a bit; I did not find any example
>>>> code
>>>> for this one.
>>>> 
>>>> PetscErrorCode  MatLUFactor(Mat mat,IS row,IS col,const MatFactorInfo
>>>> *info)
>>>> 
>>>> My matrix is a dense one and the result from this call will be used in
>>>> MatMatSolve().
>>>> 
>>>> Regards,
>>>> Golam
>>>> 
>> 
>> 
> <ex1.c>



More information about the petsc-users mailing list