dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #20977
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