MatMult with nonconforming error

Barry Smith bsmith at mcs.anl.gov
Mon Nov 16 12:00:31 CST 2009


On Nov 16, 2009, at 11:00 AM, Lisandro Dalcin wrote:

> On Mon, Nov 16, 2009 at 2:35 PM, Barry Smith <bsmith at mcs.anl.gov>  
> wrote:
>>
>>   With y = A x the row partition of A MUST match the row partition  
>> of y and
>> the column partition of A MUST match the row partition of x.
>>
>>   There is no avoiding this,
>>
>
> But it can be workaround-ed using a VecScatter, right?

    Well since PETSc is just a library of routines one can do anything  
they want with it.  So yes, one could include a VecScatter to get  
things into the right shape, but it would be a bit cumbersome.

    Barry

>
>>
>> On Nov 16, 2009, at 10:08 AM, SUN Chun wrote:
>>
>>> Hi,
>>>
>>> I was trying to do MatMult with a non-square matrix and a vector.  
>>> They
>>> have different local dimensions.
>>>
>>> For this particular case, my Mat is 12x48, my Vec is 48x1.When I  
>>> run in
>>> parallel with 2 cores, I have Mat partitioned by row in 12+0, and  
>>> I have Vec
>>> partitioned by row in 18+30. When I perform MatMult, I get:
>>>
>>> [0]PETSC ERROR: --------------------- Error Message
>>> ------------------------------------
>>> [0]PETSC ERROR: Nonconforming object sizes!
>>> [0]PETSC ERROR: Incompatible partition of A (24) and xx (18)!
>>> [0]PETSC ERROR:
>>> ------------------------------------------------------------------------
>>>
>>> Is it required to partition Vec and Mat such that my Vec's row  
>>> partition
>>> agrees my Mat's column partition? If so, is there any way to get  
>>> around
>>> this?
>>>
>>> Thanks,
>>> Chun
>>
>>
>
>
>
> -- 
> Lisandro Dalcín
> ---------------
> Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
> Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
> Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
> PTLC - Güemes 3450, (3000) Santa Fe, Argentina
> Tel/Fax: +54-(0)342-451.1594



More information about the petsc-users mailing list