Skip to content

Conversation

plidan123
Copy link
Collaborator

  • Updated moment, pdf, cdf, and logpdf methods to support both scalar and list inputs for efficient batch computation.
  • Extracted shared evaluation logic (e.g., moment, pdf, cdf, logpdf) into the AbstractMixtures base class to eliminate code duplication across subclasses.
  • Centralized input validation, RQMC integration, and distribution handling within the base class for better maintainability.
  • Fixed type annotations to align with abstract method signatures and resolve mypy type-checking issues.

These changes improve code clarity, enable vectorized evaluations, and make future extensions easier to implement.

plidan123 and others added 3 commits May 28, 2025 21:34
This commit unifies the sample generators for all mixture types (NMM, NMV, NV)
by integrating canonical form support directly into the main generator function.
Previously, each mixture type had separate classical and canonical generators.

Now, the generator checks mixture_form inside the function and switches behavior
accordingly. In canonical form, the beta parameter is not used. This simplifies
the generator API and reduces code duplication.

- Updated nm_generator.py, nmv_generator.py, nv_generator.py
- Remembered `mixture_form` in AbstractMixture class
- Updated tests and notebook to use the new unified API

BREAKING CHANGE: canonical_generate() methods were removed; use generate() instead.
@plidan123 plidan123 force-pushed the feat/unify-mixture branch 4 times, most recently from 0e290e1 to 9e89652 Compare June 8, 2025 01:39
- Updated `moment`, `pdf`, `cdf`, and `logpdf` methods to support both scalar and list inputs for efficient batch computation.
- Extracted shared evaluation logic (e.g., `moment`, `pdf`, `cdf`, `logpdf`) into the `AbstractMixtures` base class to eliminate code duplication across subclasses.
- Centralized input validation, RQMC integration, and distribution handling within the base class for better maintainability.
- Fixed type annotations to align with abstract method signatures and resolve `mypy` type-checking issues.

These changes improve code clarity, enable vectorized evaluations, and make future extensions easier to implement.
@plidan123 plidan123 force-pushed the feat/unify-mixture branch from 9e89652 to a2789f7 Compare June 8, 2025 09:26
plidan123 added a commit that referenced this pull request Jun 25, 2025
feat: add batch support and refactor mixture evaluation logic
@plidan123 plidan123 mentioned this pull request Jun 26, 2025
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