Skip to content

Assemble inverse operators using LU#179

Closed
lvchien wants to merge 0 commit into
krcools:masterfrom
lvchien:master
Closed

Assemble inverse operators using LU#179
lvchien wants to merge 0 commit into
krcools:masterfrom
lvchien:master

Conversation

@lvchien

@lvchien lvchien commented Dec 3, 2025

Copy link
Copy Markdown
Contributor

I found that inversion each diagonal block of the Gram matrix in multi-trace formulations is much faster than inversion the entire matrix.

@krcools

krcools commented Dec 3, 2025

Copy link
Copy Markdown
Owner

This code does not relate to block diagonal operators does it?

I am also a bit sceptical of codifying the linear solver before assemble. This is in my view a breach of separation of responsibility.

I agree that control and perhaps automatic selection of linear solvers should be more extensive. Maybe we can rely on the existing work done in LinearSolve.jl. Or we can define a block diagonal invertor that either assumes the supplied LinearMap has the correct strcuture, or detects the block diagonal structure and throws an error if it is not compliant.

@krcools krcools left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have pushed the solution using generic LinearMaps onto master and added a representative use case in test/test_assemble_linearmap.

Does this solve your problem?

If so please close this PR

@lvchien

lvchien commented Dec 13, 2025

Copy link
Copy Markdown
Contributor Author

Gram matrix in MTFs exhibits a super block-diagonal structure, where each diagonal block is again a 2x2 block-diagonal matrix. Your solution has resolved a local problem, where the inverse of Gram matrix can be copied over within the 2x2 matrix.

However, in the global scope, we still need to assemble the local Gram matrix for each subdomain beforehand (from my point of view), which is opposed to your principles in assembling the MTFs.

If your solution can resolve this global problem as well, please let me know. Otherwise, we are also thinking of a solution for that.

@krcools

krcools commented Dec 14, 2025 via email

Copy link
Copy Markdown
Owner

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

Successfully merging this pull request may close these issues.

2 participants