This bugzilla service is closed. All entries have been migrated to https://gitlab.com/libeigen/eigen
Bug 910 - Provide Ref<SparseMatrix>/Ref<const SparseMatrix>
Summary: Provide Ref<SparseMatrix>/Ref<const SparseMatrix>
Status: DECISIONNEEDED
Alias: None
Product: Eigen
Classification: Unclassified
Component: Sparse (show other bugs)
Version: 3.3 (current stable)
Hardware: All All
: Normal Feature Request
Assignee: Nobody
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 897
  Show dependency treegraph
 
Reported: 2014-12-01 15:27 UTC by Christoph Hertzberg
Modified: 2019-12-04 13:55 UTC (History)
2 users (show)



Attachments

Description Christoph Hertzberg 2014-12-01 15:27:17 UTC
Storing references to sparse matrices is not directly possible at the moment but it would help solving Bug 897.
A question is whether Block<SparseMatrix> objects shall be storeable into a Ref object.

Similar to Ref<const Matrix<...> >, a Ref<const SparseMatrix> can hold a temporary if the passed matrix is not storage compatible with the Ref object.
Similar to Bug 884, we can think about a Ref<const SparseMatrix&> variant.
Comment 1 Christoph Hertzberg 2014-12-02 14:50:36 UTC
To efficiently solve bug 897 we need some kind of ForceCompressed flag. 
And I guess storing Block<SparseMatrix> directly has rather limited use (at least I would not enable it by default).
Comment 2 Gael Guennebaud 2015-02-09 11:42:45 UTC
Almost done:
https://bitbucket.org/eigen/eigen/commits/70b74ce94084/

Still have to add an option to enforce compressed storage.
Comment 3 Gael Guennebaud 2015-06-09 21:11:44 UTC
https://bitbucket.org/eigen/eigen/commits/284bd8c6daa2/
Changeset:   284bd8c6daa2
User:        ggael
Date:        2015-06-09 21:11:24+00:00
Summary:     Bug 910: add a StandardCompressedFormat option to Ref<SparseMatrix> to enforce standard compressed storage format.
If the input is not compressed, then this trigger a copy for a const Ref, and a runtime assert for non-const Ref.
Comment 4 Nobody 2019-12-04 13:55:46 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/910.

Note You need to log in before you can comment on or make changes to this bug.