-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
Rotationally invariant operators are typically represented by ModalInterlace
which combines matrices acting only on Fourier modes into a diagonal-block-banded matrix (that is, block banded matrix with diagonal blocks, i.e. subblockbandwidths are (0,0)
).
At the moment we aren't taking advantage of this structure. There are two approaches:
- Do it at the level of factorizing a
BandedBlockBandedMatrix
by checking whether the subblockbandwidths are(0,0)
. The easiest way would be to copy to a banded matrix, do a QR, and then copy the data back. - Introduce a
DiagonalBlockBandedMatrix
though this doesn't seem to have any obvious benefits over (1). - Do it directly on a
ModalInterlace
. This has the benefit of being able to callqr
on each of the banded operators separately (and potentially taking advantage of@threads
). Though probably (1) could also be parallelised.
@TSGut @ioannisPApapadopoulos any thoughts? Do you think this is important right now? It won't help with the variable coefficients problem but could be important for fractional DEs and time-stepping.
Metadata
Metadata
Assignees
Labels
No labels