← Back to team overview

dolfin team mailing list archive

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

 

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

-- 
You received this bug notification because you are a member of DOLFIN
Team, which is subscribed to DOLFIN.
https://bugs.launchpad.net/bugs/706909

Title:
  [python] matrix multiplication fails in parallel

Status in DOLFIN:
  New

Bug description:
  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?





Follow ups

References