# 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)).