Skip to content

Avoid repeated Hilbert transforms in matrix convolution - #23

Merged
jasonkaye merged 1 commit into
flatironinstitute:mainfrom
HugoStrand:prq_convolve_opt
Nov 3, 2026
Merged

jasonkaye merged 1 commit into
flatironinstitute:mainfrom
HugoStrand:prq_convolve_opt

Conversation

@HugoStrand

Copy link
Copy Markdown
Contributor

The matrix-valued imtime_ops::convolve recomputes both complete Hilbert
transforms inside the DLR-index loop. Compute each transform once before the
loop and reuse its slices, reducing full-array transform calls from 2r to 2
for both ordinary and time-ordered convolution. The API and matrix-product
order are unchanged.

Validation: Release build with Clang 19; all 12 CTest entries pass. Existing
convolution tests cover real/complex and square/rectangular matrices against
analytic results and the independent convmat implementation.

@HugoStrand
HugoStrand changed the base branch from 1.3.x to main November 3, 2026 13:11
@jasonkaye
jasonkaye merged commit 712c1d1 into flatironinstitute:main Nov 3, 2026
2 checks passed
@jasonkaye

Copy link
Copy Markdown
Collaborator

Great catch @HugoStrand. Merged.

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