Changelog
Source:NEWS.md
simStateSpace 1.2.17
Patch
- Added
ExpMat()andLogMat()for matrix exponentials and real principal matrix logarithms, andCompanionMat()for VAR block companion matrices. - Added
CTVAR2SSM()for exact sampling of higher-order derivative states andSSM2LinSDE()for continuous-time recovery using the principal matrix logarithm, with checks for uniquely recoverable intercepts and positive-semidefinite diffusion. - Updated
LinSDE2SSM()to integrate intercepts and diffusion with block matrix exponentials, supporting singular drifts and semidefinite noise. Covariance integration uses interval subdivision to avoid overflow for strongly decaying drifts. - Added
LinSDECovDeltaT()for the process noise covariance accumulated over a sampling interval in the linear SDE model. -
SSM2LinSDE()rejects a singularbeta(non-finite matrix logarithm) and has a separate tolerance,tol_psi_l, for checking thatpsi_lis lower triangular;tolnow applies only to the imaginary part of the matrix logarithm. - Semidefinite noise covariances are factored with an eigendecomposition, so
LinSDE2SSM()andSSM2LinSDE()no longer reject rank-deficient covariances because of rounding error. - Added input validation to the linear SDE mean, covariance, and intercept functions and expanded transformation tests with analytic reference cases.
- Fixed
SSMInterceptY()andLinSDEInterceptY(), which returnedmean_y + lambda %*% mean_etainstead ofmean_y - lambda %*% mean_eta(since 1.2.15). - Replaced the Monte Carlo and smoke tests with exact references: the simulators are checked against a plain R state space recursion, and the moment functions against their defining equations.
- Fixed
SimSSMLinSDEIVary()andSimSSMOUIVary()failing for singular drifts, semidefinite diffusion, and undamped oscillators: they now discretize withLinSDE2SSM(), once per distinct parameter set. - All
Sim*functions now share one simulation kernel and one set of input checks, with informative errors for invalid dimensions, non-finite values, and missing covariates. The same seed gives the same data as before.
simStateSpace 1.2.16
CRAN release: 2026-03-25
Patch
- Added the
SimMVN()function. - Consolidated the
SimAlphaN(),SimIotaN(),SimNuN(), andSimMuN()functions. - Added the
LinSDEInterceptEta()andLinSDEInterceptY()functions.
simStateSpace 1.2.15
CRAN release: 2026-02-06
Patch
- Added the
SSMInterceptEta()andSSMInterceptY()functions.
simStateSpace 1.2.13
Patch
- Added the
SimBetaNCovariate()andSimPhiNCovariate()functions.
simStateSpace 1.2.12
CRAN release: 2025-10-10
Patch
- Added citation to Pesigan, I. J. A., Russell, M. A., & Chow, S.-M. (2025). Inferences and effect sizes for direct, indirect, and total effects in continuous-time mediation models. Psychological Methods. https://doi.org/10.1037/met0000779.
simStateSpace 1.2.11
CRAN release: 2025-09-26
Patch
- Added the
SimAlphaN(),SimIotaN(), andSimNuN()functions. - Added the
LinSDECovEta(),LinSDECovY(),LinSDEMeanEta()andLinSDEMeanY()functions. Removed theLinSDECov()andLinSDEMean()functions. - Added the
SSMCovEta(),SSMCovY(),SSMMeanEta()andSSMMeanY()functions. - Added the
SimCovN()andSimCovDiagN()functions. - Added the
SimBetaN2()andSimPhiN2()functions. - Transition matrices from
SimBetaN()can now be generated with optional bounds. - Drift matrices from
SimPhiN()can now be generated with optional bounds.
simStateSpace 1.2.2
CRAN release: 2024-06-21
Patch
- Added the
TestStationarity(),TestStability(), andTestPhi()functions. - Added the
SimBetaN()andSimPhiN()functions. - The
SimSSMLinSDEIVary()andSimSSMOUIVary()functions can now accept a matrix of zeros for the argumentsigma_l. - The
SimSSMLinSDEIVary()function can now accept a vector of zeros for the argumentiota. - The
SimSSMOUIVary()function can now accept a vector of zeros for the argumentmu.