Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Iterating over nonzero elements of a GBMatrix sparse matrix #70

Open
fcdimitr opened this issue Apr 20, 2022 · 4 comments
Open

Iterating over nonzero elements of a GBMatrix sparse matrix #70

fcdimitr opened this issue Apr 20, 2022 · 4 comments

Comments

@fcdimitr
Copy link

Is there any convenient accessor through Julia to iterate over the nonzero elements of a GBMatrix, with the full triplet information (i,j,v) instead of v alone? Similar to the SparseArrayspackage, i.e.,

rows = rowvals(A)
vals = nonzeros(A)
m, n = size(A)
for j = 1:n
   for i in nzrange(A, j)
      row = rows[i]
      val = vals[i]
      # ...
   end
end

This shall be useful when the (i,j) information is needed with the mapor apply functionality.

Thank you for integrating the GraphBLAS into the Julia ecosystem!

@rayegun
Copy link
Member

rayegun commented Apr 20, 2022

There will be in the next release, likely Monday next week. It won't be an exported part of the interface yet, though, since the interface may change between releases.

Next week you'll be able to iterate by nz values by row (if GBMatrix is by-row), and by column (if GBMatrix is by-col).

A fuller interface will likely come with the revival of ArrayIteration.jl in the next month or so.

@rayegun
Copy link
Member

rayegun commented Apr 20, 2022

For map the missing functionality is user defined SelectOps. That will also be in the next release, I just overlooked them.

@fcdimitr
Copy link
Author

@Wimmerer Thank you! Was the functionality you mentioned included in v0.7.2? I could not find it in the docs.

@rayegun
Copy link
Member

rayegun commented Jun 14, 2022

Sorry this is not ready yet, I'll try to get it out this week. It slipped my mind.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants