Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

outerIndexPtr() missing for SparseBlockMatrix #10

Open
AlePalu opened this issue Jun 5, 2023 · 0 comments
Open

outerIndexPtr() missing for SparseBlockMatrix #10

AlePalu opened this issue Jun 5, 2023 · 0 comments
Labels
fix-needed need fix (problem already identified) Improvement Something that improves an already existing feature

Comments

@AlePalu
Copy link
Owner

AlePalu commented Jun 5, 2023

SparseBlockMatrix is only partially integrated with the Eigen library. In particular, it is not possible to use SparseBlockMatrix as template parameter of a sparse solver. This means that the following code doesn't compile

SparseBlockMatrix<double,2,2> A;
Eigen::SparseLU<SparseBlockMatrix<double, 2,2>> invA;
invA.compute(A);

In this case the compiler fails because of method outerIndexPtr() not found. Providing this method will solve the issue, neverthless this feature requires an in-depth reogranization of the data type internals.

Currently we can circumvent the problem by using an instance of SparseLU<SpMatrix<double>> to factorize a SparseBlockMatrix. Neverthless this would most likely cause Eigen to perform a costly copy of the matrix into temprary storage because of the type mismatch.

@AlePalu AlePalu added Improvement Something that improves an already existing feature fix-needed need fix (problem already identified) labels Jun 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
fix-needed need fix (problem already identified) Improvement Something that improves an already existing feature
Projects
None yet
Development

No branches or pull requests

1 participant