Skip to content

Allow broadcasting in ewise operations #72

@rayegun

Description

@rayegun

Forgive me if this is already an open issue.

It would be very nice to add broadcasting of vectors into matrices to the spec. See Python/Julia and more languages for prior art. For instance if you ewise_mul(A::GrB_Matrix, v::GrB_Vector) v would expand across columns. Transpose operator could be used to expand across rows.

Note that this treats GrB_Vector explicitly as a column vector, which may not be in line with the spec.

This can already be achieved with a Diagonal matrix multiplication, but this has a few issues:

  1. At least SS:GrB doesn't implement a Diagonal type internally, so it has storage/construction overhead as I understand it.
  2. To expand over columns the diagonal must be on the left, vice versa for expanding over rows. This can be a problem for operations without commutativity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions