Skip to content

Comments

Memory efficient inverse noise covariance operators for litebird_sim#13

Merged
anand-avinash merged 9 commits intomainfrom
memefficient_cov
Sep 5, 2025
Merged

Memory efficient inverse noise covariance operators for litebird_sim#13
anand-avinash merged 9 commits intomainfrom
memefficient_cov

Conversation

@anand-avinash
Copy link
Owner

This PR refactors the definition of inverse noise covariance operators in litebird_sim for cases where the noise properties are identical across all observations and detectors.

Previously, the implementation constructed a separate inverse covariance operator for each stationary chunk, storing the noise properties (power spectrum/covariance) independently for every chunk. With this update, if the noise properties are the same across stationary intervals, only one inverse covariance operator is constructed for each chunk size, and it is reused for all chunks of the same size.

The new implementation lowers the memory footprint significantly and allows faster initialization of the inverse noise covariance operator.

…nted similarly to scipy.sparse.linalg.cg(), it causes the stopping criteria to become dynamic, depending on the norm of vector b. This change simplifies the convergence behavior
…cept a dict mapping block size to the noise property as block_input. This enables using a single instance of noise operator multiple times in the block list by reference if the block size and noise properties are same. This saves the memory a lot
…cg converges for inverse Toeplitz covariance
@anand-avinash anand-avinash merged commit a2b553a into main Sep 5, 2025
16 checks passed
@anand-avinash anand-avinash deleted the memefficient_cov branch September 5, 2025 14:11
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.

1 participant