Skip to content

Schwarz with L1 can fail if diagonal matrix is not sorted #1920

@nbeams

Description

@nbeams

When using L1 smoothing, the Schwarz preconditioner creates a new, modified diagonal matrix to give to the local solver. In the current implementation, it ends up calling spgeam when creating this modified matrix. For some backends, spgeam requires the diagonal matrix to be sorted, so if it's not, the Schwarz preconditioner generation will fail "silently" (no errors or warnings, just incorrect results).

Without L1, the only sorting requirements would come from the local solvers, which will apply it if necessary (e.g., using ILU in the local solver).

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions