← Back to team overview

dolfin team mailing list archive

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

 


On 24/01/11 17:17, Johan Hake wrote:
> Isn't there a way to initialize a paralell vector with arbitrary distribution 
> pattern?
> 
> There is a way to general a local range from a given entity size using 
> MPI.local_range. One should be able to generate a distributed Vector with this 
> information.
>

This isn't guaranteed to work since using MPI.local_range may produce a
vector with a layout that is inconsistent with the matrix layout.

A Vector could be created using the local range data from the Matrix.

Garth


> Johan
> 
> On Monday January 24 2011 05:17:21 Joachim Haga wrote:
>> Public bug reported:
>>
>> The python code for __mul__() assumes an empty vector suitable for
>> mult() can be created from just the dimensions of the matrix:
>>
>>     if type(other) == Vector:
>>         ret = Vector(self.size(0))
>>
>> This is not true in parallel. And it won't help to copy the input
>> vector, as that only works for square matrices.
>>
>> How to create a vector which is compatible with a given matrix at this
>> point (only the matrix available, not the sparsity pattern)? Would it
>> perhaps be acceptable to add methods create_rhs_vector(),
>> create_lhs_vector() to GenericMatrix?
>>
>> ** Affects: dolfin
>>      Importance: Undecided
>>          Status: New
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin
> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help   : https://help.launchpad.net/ListHelp




Follow ups

References