Skip to content

Releases: USACE-RMC/Numerics

v2.0.2 — License Update + Bug Fixes

27 Apr 19:50
35b836c

Choose a tag to compare

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.DegreesOfFreedom setter no longer throws on invalid input. It now follows the same non-throwing _parametersValid convention used by BivariateCopula.Theta, BetaDistribution, and GammaDistribution — invalid values flip ParametersValid to false instead of crashing the caller. Constructors are aligned the same way.
  • StudentTCopula ν minimum unified at 2 + 1e-10 across ParameterConstraints and SetCopulaParameters. The previous 2.0 + Tools.DoubleMachineEpsilon expression silently rounded to 2.0 in IEEE 754 (the ULP at 2.0 is 2⁻⁵¹, larger than ε = 2⁻⁵³), causing fitting to fail at the lower bound.

Reliability

  • TimeSeriesDownload integration 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 from http:// to https://, 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

06 Apr 20:09
200452b

Choose a tag to compare

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

06 Apr 19:36
200452b

Choose a tag to compare

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

13 Sep 16:35
415e437

Choose a tag to compare

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!