← Back to team overview

dolfin team mailing list archive

Re: [Bug 706909] [NEW] [python] matrix multiplication fails in parallel

 

On 25 January 2011 16:15, Garth N. Wells <gnw20@xxxxxxxxx> wrote:

> On 25/01/11 15:06, Joachim Berdal Haga wrote:
> >     > It seems that this is only implemented for rows, not for columns.
> >
> >     Do you mean GenericMatrix::local_range? It takes a dim argument,
> >
> >      std::pair<uint, uint> GenericMatrix::local_range(uint dim);
> >
> >
> > Yes, but:
> >
> >    if (dim == 1)
> >     error("Cannot compute columns range for Epetra matrices.");
> >
> > ...
> >
> >       if (dim == 1)
> >         error("Cannot compute columns range for PETSc matrices.");
> >
>
> OK.
>
> We need to look at this more carefully. PETSc provides the function
>
>  MatGetVecs(Mat mat,Vec *right,Vec *left)
>
> for getting vectors with a compatible layout, which might be helpful.
>

 Very helpful, yes. And epetra matrices has a RowMatrixColMap methods which
can be used. Do you think it's worth it to add create_{left,right}_vector to
the GenericMatrix interface as I suggested initially?

-j.

Follow ups

References