NEWS
bpgmm 1.3.1 (2026-05-28)
- Revised the vignette set to reduce repeated examples across vignettes.
- Made the model-and-sampler, data-preparation, model-selection, variable-prioritization, and diagnostics vignettes more formula-focused and closer to the notation in Lu, Li, and Love (2021).
- Changed the variable-prioritization simulation so it no longer duplicates the larger MFA model-selection example.
bpgmm 1.3.0
- Standardized the native Rcpp interface to snake_case function names.
- Renamed C++ source files to snake_case and removed stale compiled artifacts from
src/.
- Cleaned internal native wrapper documentation while preserving sampler behavior.
bpgmm 1.2.9
- Added data-preparation and posterior-diagnostics vignettes.
- Expanded the vignette collection so each vignette covers a distinct analysis task: input preparation, sampler details, small worked examples, larger model selection, exploratory variable prioritization, and multi-chain diagnostics.
bpgmm 1.2.8
- Added larger model-selection and exploratory variable-prioritization vignettes with runnable examples and plots.
- Documented how to use posterior allocations and loading matrices for exploratory variable prioritization without presenting it as formal Bayesian variable selection.
bpgmm 1.2.7
- Moved latent-factor score updates from R loops to native C++.
- Moved prior density evaluation for
lambda and psi to native C++ while preserving the existing internal R API.
- Added strict native tests for latent-score sampling, input validation, and closed-form prior density checks.
bpgmm 1.2.6
- Added
pgmm_rjmcmc_chains() for CRAN-safe multi-core execution of independent RJMCMC chains.
- Added deterministic per-chain seeding and unit tests for the independent-chain wrapper.
bpgmm 1.2.5
- Cleaned native C++ readability without changing sampler behavior.
- Replaced stale include guards and prototypes, removed selected namespace pollution, and clarified covariance-constraint branch checks with model-label comments.
- Regenerated Rcpp exports after tightening native helper signatures.
bpgmm 1.2.4
- Optimized the native allocation sampler by precomputing component covariance factorizations and sampling from normalized log probabilities directly.
- Removed avoidable dense probability/log-density matrices and repeated per-observation covariance validation in
update_PostZ().
- Tightened native helper signatures to avoid unnecessary copies and removed stale debug-only C++ comments from the posterior lambda/psi update.
bpgmm 1.2.3
- Added CRAN-safe base R plots to the getting-started, worked-examples, and model-and-sampler vignettes.
- Visualized simulated clusters, posterior modal allocations, posterior model counts, and mixture-of-factor-analyzers covariance geometry.
bpgmm 1.2.2
- Optimized the native
Calculate_Cxy() helper by accumulating cluster sufficient statistics directly from labels instead of building a dense allocation matrix and multiplying through zero weights.
- Removed repeated temporary vector construction inside the Cxy accumulation loop.
- Preserved the existing C++11 baseline for CRAN portability.
bpgmm 1.2.1
- Hardened Rcpp entry points with explicit validation for dimensions, finite numeric inputs, covariance constraints, and native hyperparameter vectors.
- Kept native build settings on the existing CRAN-friendly C++11 baseline while modernizing validation and headers.
- Cleaned native headers and removed stale C++ declarations and debug-only includes/comments.
- Expanded native unit tests for invalid Cxy, posterior lambda/psi, and hyperparameter-update inputs.
bpgmm 1.2.0
- Made the public API consistently snake_case now that the package has no CRAN reverse dependencies.
- Removed legacy exported wrappers
pgmmRJMCMC(), summarizePgmmRJMCMC(), and summerizePgmmRJMCMC().
- Renamed public sampler arguments from camelCase to snake_case:
m_init, m_range, q_new, d_vec, s_vec, m_step, v_step, and split_combine.
- Renamed summary arguments and result fields to snake_case, including
true_cluster, allocation, n_clusters, n_constraints, allocation_samples, and constraint_samples.
- Updated README, pkgdown vignettes, examples, and tests for the breaking 1.2.0 API.
bpgmm 1.1.6
- Added a model-and-sampler vignette that explains the mixture-of-factor-analyzers likelihood, PGMM covariance constraints, conjugate priors, allocation update, RJMCMC moves, and package output fields with formulas and runnable examples.
- Linked the new mathematical vignette from the getting-started guide and pkgdown vignette index.
bpgmm 1.1.5
- Fixed the allocation prior contribution in RJMCMC acceptance calculations to use the log product of allocated mixture weights, matching the paper's joint posterior.
bpgmm 1.1.4
- Standardized internal R helper names to snake_case while preserving the exported compatibility wrappers.
- Added snake_case wrappers around generated Rcpp entry points and routed package internals through those wrappers.
- Cleaned the source layout by renaming R files to lowercase hyphenated names and removing the ignored duplicate
R/choosem/ tree.
- Kept result-list names and legacy public arguments stable to avoid breaking existing user code.
bpgmm 1.1.3
- Fixed
Mstep = 1 by loading the cluster-number proposal helpers as package code rather than leaving them in an ignored nested R/ directory.
- Fixed split/combine RJMCMC moves by passing
X explicitly to split-allocation helpers and adding the missing latent-factor update helper.
- Fixed the C++ allocation update to add
log(tao) to component log densities instead of adding raw mixture weights.
- Added C++ input validation for multivariate normal densities, log-ratio calculations, allocation dimensions, and mixture weights.
- Expanded unit coverage for all eight PGMM covariance constraints, C++ helpers, cluster-number RJMCMC, covariance RJMCMC, and split/combine moves.
bpgmm 1.1.2
- Modernized README with badges, installation guidance, paper citation, and model-constraint helper examples.
- Added
summarizePgmmRJMCMC() as the correctly spelled summary function and retained summerizePgmmRJMCMC() for backward compatibility.
- Added tidyverse-style
pgmm_rjmcmc() and summarize_pgmm_rjmcmc() as the preferred public API.
- Deprecated
pgmmRJMCMC(), summarizePgmmRJMCMC(), and summerizePgmmRJMCMC(); these names remain available as compatibility wrappers.
- Added helpers
model_to_constraint() and constraint_to_model() for translating between paper model labels and legacy constraint vectors.
- Improved package startup citation guidance for users publishing results from
bpgmm.
- Added unit tests for the public API, covariance-constraint mapping, summary helpers, and native C++ wrappers.
- Fixed zero-iteration handling in
pgmm_rjmcmc() and added validation for sampler inputs and summary result objects.
- Added a
verbose argument to suppress per-iteration progress output in examples, tests, and scripted workflows.
- Updated C++ build settings and validation for current R/Rcpp best practices.