Skip to content
# Release v0.9.0

## Breaking Change

- Refactored logging.
  - Removed asynchronous logging ([!288](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/288)).
  - Implemented log sinks using value objects ([!289](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/289)).
- Assertion failures terminate processes now ([!348](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/348)).

## Feature

- Algebraic multigrid method for linear equations ([!293](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/293), [!350](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/350)).
- New classes for RBF interpolation ([!295](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/295), [!320](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/320), [!331](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/331), [!332](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/332), [!333](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/333), [!334](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/334), [!335](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/335), [!336](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/336), [!337](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/337), [!338](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/338), [!339](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/339), [!340](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/340)).
- Gaussian process optimization ([!327](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/327)).
- Simulated annealing for optimization ([!329](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/329)).
- Gamma function ([!342](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/342)).
- GCV for implicit regularization algorithms ([!349](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/349)).

## Bug Fixes

- Cuthill-McKee ordering couldn't be used in Eigen library ([!292](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/292)).
- Fixed tests with MSVC ([!294](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/294), [!298](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/298), [!296](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/296)).
- Fixed wrong names for "degree" in Legendre function ([!321](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/321)).
- Fixed downhill simplex method ([!330](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/330)).

## Improvement

- Improved performance of numerical integration ([!314](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/314), [!315](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/315), [!317](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/317)).
- Common interface class of explicit and implicit solvers for regularization ([!345](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/345)).
- Throw exceptions for invalid arguments from user programs ([!346](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/346)).

## Miscellaneous

- Benchmark of optimization using random problems ([!290](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/290), [!313](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/313)).
- Refactored some tests using ApprovalTests ([!311](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/311)).
- Macro to disable large problems in benchmarks ([!316](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/316)).
- Removed implicit casts of integers and floating-point values ([!326](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/326)).