Releases: USACE-RMC/Numerics
v2.0.2 — License Update + Bug Fixes
Highlights
Relicensed to Zero-Clause BSD (0BSD). Numerics now ships under the 0BSD license, replacing the prior BSD-3-Clause USACE-RMC license. 0BSD is a public-domain-equivalent permissive license: you may use, copy, modify, and distribute the software for any purpose without attribution. License headers have been stripped from all 378 source files; LICENSE, README, CITATION.cff, CONTRIBUTING.md, docs/index.md, codemeta.json, and the NuGet package metadata have been updated to match.
Bug fixes
StudentTCopula.DegreesOfFreedomsetter no longer throws on invalid input. It now follows the same non-throwing_parametersValidconvention used byBivariateCopula.Theta,BetaDistribution, andGammaDistribution— invalid values flipParametersValidtofalseinstead of crashing the caller. Constructors are aligned the same way.StudentTCopulaν minimum unified at2 + 1e-10acrossParameterConstraintsandSetCopulaParameters. The previous2.0 + Tools.DoubleMachineEpsilonexpression silently rounded to2.0in IEEE 754 (the ULP at 2.0 is 2⁻⁵¹, larger than ε = 2⁻⁵³), causing fitting to fail at the lower bound.
Reliability
TimeSeriesDownloadintegration tests are now resilient to upstream provider outages. Per-service availability probes (CHMN, USGS, GHCN, BOM) replace the generic online check in all 31 integration tests. A single provider being down (e.g. BOM's KiWIS / WDP backend) now skips the affected tests cleanly rather than failing the suite. BOM URLs switched fromhttp://tohttps://, and KiWIS error response bodies are now surfaced in exceptions for easier diagnosis.
Compatibility
No API breaking changes. Existing callers will see one behavioral change: new StudentTCopula(ρ, ν ≤ 2) and copula.DegreesOfFreedom = ν ≤ 2 no longer throw — they construct/assign and set ParametersValid = false instead. Any code that relied on the throw should switch to checking ParametersValid.
v2.0.1 — Zenodo Archival
Patch release for Zenodo DOI archival. For the full v2.0.0 release notes, see: https://github.com/USACE-RMC/Numerics/releases/tag/v2.0.0
v2.0.0 — Major Update
v2.0.0 — Major Update
This is a major update to Numerics with 274 files changed since v1.0.0. Highlights include new distributions, improved MCMC inference, enhanced numerical methods, and comprehensive documentation.
New Distributions
- Dirichlet distribution (multivariate)
- Multinomial distribution (multivariate)
- Multivariate Student-t distribution
- Student-t copula
- Von Mises distribution for circular data
- Enhanced Competing Risks distribution
Bayesian Inference & MCMC
- Added No-U-Turn sampler (NUTS) with adaptive tuning parameters
- Improved Gelman-Rubin convergence diagnostics
- Enhanced MCMC sampler reliability and convergence
Numerical Methods
- Bessel functions of the first and second kind
- Linear algebra enhancements
- Root-finding improvements
- ODE solver improvements
- Improved adaptive integration
Functions
- Link function framework (Identity, Logit, Log, Probit, Complementary Log-Log)
Data & Statistics
- Bootstrap analysis overhaul with new BootstrapResults class
- Time series download improvements
- Hypothesis test enhancements
- Enhanced parameter estimation methods
- Autocorrelation and convergence diagnostics improvements
Optimization
- Comprehensive correctness improvements across all optimizers
Machine Learning
- Generalized Linear Model enhanced with full link function support
- Code quality improvements
Infrastructure & Documentation
- Added .NET 10.0 target framework (now targets net8.0, net9.0, net10.0, net481)
- Zero runtime dependencies maintained
- 1,700+ unit tests validated against published references
- JOSS paper and metadata (CITATION.cff, codemeta.json)
- CONTRIBUTING.md and CODE_OF_CONDUCT.md
- 25+ documentation files covering all library capabilities
- NuGet publishing workflow for nuget.org
Numerics v1.0.0
We're thrilled to introduce the public release of the USACE-RMC Numerics library. This foundational library serves as the bedrock of the RMC software suite, powering critical tools like RMC-RFA, RMC-BestFit, RMC-TotalRisk, and LifeSim.
Key Features and Improvements:
The Numerics library includes a robust collection of numerical algorithms for tasks such as:
- Interpolation
- Regression
- Statistics
- Time series analysis
- Probability distributions
- Linear algebra
- Numerical integration
- Global and local optimization
- Machine learning
- Bootstrap uncertainty analysis
- Bayesian MCMC
Extensive Documentation
The library includes clear and detailed XML documentation to guide users in effectively leveraging the library's capabilities.
Example Use Cases
- Risk Assessment: Quantifying uncertainties and risks in engineering projects.
- Data Analysis: Exploring and analyzing large datasets to identify trends and patterns.
- Decision Support: Providing valuable insights to inform informed decision-making.
Getting Started
We recommend using NuGet for convenient installation of the RMC.Numerics package.
Join the Community
We invite you to become part of the Numerics community. Share your feedback, contribute to development, and collaborate with other users.
Future Plans
We're committed to the ongoing development and improvement of the Numerics library. Future releases will introduce new features, enhancements, and optimizations to meet the evolving needs of our users.
Thank you for your support!