New user self-registration is disabled due to spam. Please email eigen-core-team @ if you need an account.
Before reporting a bug, please make sure that your Eigen version is up-to-date!
Bug 910 - Provide Ref<SparseMatrix>/Ref<const SparseMatrix>
Summary: Provide Ref<SparseMatrix>/Ref<const SparseMatrix>
Alias: None
Product: Eigen
Classification: Unclassified
Component: Sparse (show other bugs)
Version: 3.3 (current stable)
Hardware: All All
: Normal Feature Request
Assignee: Nobody
Depends on:
Blocks: 897
  Show dependency treegraph
Reported: 2014-12-01 15:27 UTC by Christoph Hertzberg
Modified: 2015-06-09 21:30 UTC (History)
2 users (show)


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:

Still have to add an option to enforce compressed storage.
Comment 3 Gael Guennebaud 2015-06-09 21:11:44 UTC
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.

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