-
v0.10.0 protected50443b35 · ·
# Release v0.10.0 ## Breaking Change - Removed the old version of implementation of RBF interpolation ([!355](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/355)). - Changed the method of logging in the existing source codes ([!354](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/354), [!356](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/356)). ## Bug Fixes - Fixed build with the latest version of fmt library [!360](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/360).
-
v0.9.0 protected71c2af42 · ·
# 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)).
-
v0.8.0 protectedd05c7605 · ·
# Release v0.8.0 ## Breaking Change - Separate build of logging module making this library not header-only ([!276](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/276), [!278](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/278)). - Changed the default branch to main branch. ## Feature - Implemented some iterative solvers. - Gauss-Seidel iteration ([!267](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/267)). - SSOR ([!268](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/268)). - Implemented Cuthill-Mckee reordering ([!271](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/271)). - Support of mass matrices in `bicgstab_rosenbrock_equation_solver` class ([!272](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/272)). - Wrapper class to treat implicit ODEs as explicit ODEs in ODE solvers ([!275](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/275)). ## Miscellaneous - Added some examples and benchmarks for solving 2-dimensional Laplacian equations ([!266](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/266)). - Use of vcpkg triplets in CI ([!269](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/269)). - Test of ODE solvers in time sequences ([!273](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/273)). - Example of ODE with a changing mass matrix ([!274](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/274)). - Use cache of vcpkg in CI ([!279](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/merge_requests/279)).
-
v0.7.0 protected0faa8ef0 · ·
# Release v0.7.0 Use vcpkg instead of Conan. ## Breaking Change - Use vcpkg instead of Conan ([Issue #281](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/281)). ## Feature - Configuration to install via CMake ([Issue #282](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/282)). - Class of fractions ([Issue #268](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/268)). ## Miscellaneous - Updated dependencies.
-
v0.6.0 protected0ba42507 · ·
# Release v0.6.0 (on development) Refactored logging for extensibility. ## Breaking Change - Refactored logging for extensibility. - Additional log levels, "debug" and "critical" ([Issue #244](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/244)). - Make log formatters changeable in log sink classes ([Issue #245](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/245)). - Lazy evaluation of log sinks using factory classes ([Issue #246](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/246)). - Asynchronous log sink ([Issue #250](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/250), [Issue #259](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/259)). - Combined log sink ([Issue #247](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/247)). - Validation of log tags ([Issue #262](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/262)). ## Feature - Schema of logging configuration files ([Issue #261](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/261)). ## Miscellaneous - Compact console logs ([Issue #243](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/243)). - Removed warnings in tests caused by Boost library ([Issue #237](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/237)). - Use `[[likely]]`, `[[unlikely]]` attributes in logging and assertions ([Issue #249](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/249)). - Benchmark of logging ([Issue #254](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/254)). - Update compilers in documents ([Issue #257](https://gitlab.com/MusicScience37Projects/numerical-analysis/numerical-collection-cpp/-/issues/257)).
-
v0.5.0 protectedd877e50b · ·
# Release v0.5.0 (2022/8/25) Refactored logging and ode modules, implemented some new algorithms in ode module, and etc... ## Breaking Change - Changed the name of class `heuristic_1dim_optimizer` to `heuristic_global_optimizer` ([Issue #151](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/merge_requests/151)). - Refactored logging ([Issue #178](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/178), [Issue #179](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/179), [Issue #164](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/164), [Issue #166](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/166), [Issue #182](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/182), [Issue #181](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/181)). - Refactored ode module for implementation of new algorithms ([Issue #192](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/192), [Issue #200](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/200), [Issue #208](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/208), [Issue #209](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/209), [Issue #212](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/212), [Issue #216](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/216), [Issue #218](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/218), [Issue #219](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/219), [Issue #221](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/221), [Issue #215](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/215), [Issue #223](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/223)). ## Feature - Modules - util - Format Eigen's dense matrices, dense vectors, and sparse matrices ([Issue #142](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/142)). - logging - Function to load logging configuration from files ([Issue #166](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/166)). - regularization - Implemented FISTA for L1 regularization ([Issue #147](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/147)). - opt - Heuristic global optimizer for multi-variate problems ([Issue #151](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/merge_requests/151)). - ode - Automatic computation of the initial step size in ODE solver ([Issue #203](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/203)). - New algorithm to automatically compute the next step size in ODE solver ([Issue #202](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/202)). - RODASP formula ([Issue #199](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/199)). - RODASPR formula ([Issue #213](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/213)). - DOPRI5 formula ([Issue #220](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/220)). - Approximate Jacobian matrix for some Rosenbrock formulas ([Issue #210](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/210)). - ARK formulas ([Issue #215](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/215), [Issue #224](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/224)). - Symplectic integration ([Issue #226](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/226)). - Solvers of Rosenbrock formulas for large problems ([Issue #211](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/211), [Issue #229](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/229)). - Mass matrix support in Rosenbrock method ([Issue #64](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/64)). ## Miscellaneous - Introduced [Approval Tests](https://approvaltests.com/) for tests ([Issue #139](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/139), [Issue #204](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/204)). - Update issue templates ([Issue #157](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/157)). - Fixed warnings on MSVC ([Issue #134](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/134)). - Set the default value of requirements_for_tests in conanfile.py to False ([Issue #159](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/159)). - Introduced profiling ([Issue #168](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/168)). - Introduced ccache ([Issue #177](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/177)). - Added concept of optimizers ([Issue #193](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/193)). - Added more tests of legendre function ([Issue #194](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/194)). - Changed CI configuration to upload coverage report ([Issue #196](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/196), [Issue #205](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/205), [Issue #206](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/206)). - Introduced [IWYU](https://github.com/include-what-you-use/include-what-you-use/) ([Issue #9](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/9)). - Decreased the size of artifacts in CI ([Issue #201](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/201)). - More example problems of ODEs ([Issue #218](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/218)). - Introduced lizard ([Issue #225](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/225), [Issue #227](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/227)). - Use [release CLI of GitLab](https://docs.gitlab.com/ee/user/project/releases/release_cli.html) ([Issue #207](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/207)). - Fixed clang-tidy check in CI ([Issue #180](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/180)). - Example to solve 1D wave equation ([Issue #236](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/236)). - Removed coverage measurement using GCC ([Issue #239](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/239)). - Use GCC 12 in CI ([Issue #240](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/240)).
-
v0.4.0 protectedb66d9d4b · ·
Better logging and use of C++ concepts in C++20. ### Breaking Change - Changed C++ standard to C++20 ([Issue #105](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/105)). - Removed the old version of iteration_logger in util module ([Issue #103](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/103)). - Refactor namespaces ([Issue #104](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/104)). - Use of C++ 20 concepts ([Issue #104](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/104), [Issue #119](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/119), [Issue #120](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/120), [Issue #123](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/123), [Issue #124](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/124)). - Change API of integrators ([Issue 130](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/130)). ### Feature - Modules - base (new) - Added concepts ([Issue #103](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/103), ([Issue #104](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/104)). - logging (new) - Implemented logging ([Issue #103](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/103), [Issue #116](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/116)). - util - Source location in exceptions ([Issue #97](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/97), [Issue #128](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/128)). - Logging in assertions ([Issue #103](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/103)). ### Miscellaneous - Build system - Add option to enable OpenMP ([Issue #110](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/110)). - Proper configuration of C++ standard libraries ([Issue #127](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/127)). - Compatibility with libc++ 12 ([Issue #129](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/129)). - Benchmarks - Change benchmark library ([Issue #108](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/108)). - Miscellaneous - Add GitLab Issue templates ([Issue #109](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/109)). - Add .gitmessage for writing Git commit messages ([Issue #109](https://gitlab.com/MusicScience37/numerical-collection-cpp/-/issues/109)).
-
v0.3.0 protectedce953c78 · ·
- Modules - regularization (new) - Tikhonov regularization. - L-curve. - GCV. - interp (new) - Kernel interpolation. - util - Remove lambda functions in macro definition. - Helper function to cast integers safely. - opt - Wrapper class to make ordinary function objects to objective functions in optimization. - 1-dimensional global optimization using sampling. - numbers - Class of floating numbers in a custom number system with given radix. - Build system - Check execution of examples in CI. - Documentation - Check warnings in documentation. - Add documentation of some namespaces without documentation comments. - Documentation of directory structure. - Miscellaneous - Change cmake-format to cmakelang in Pipfile. - Check encoding of source codes. - Upgrade Eigen to 3.4.0. - Dependency scanning in CI.
-
v0.2.0 protecteda7633251 · ·
- Modules - auto_diff (new) - Implemented forward-mode automatic differentiation. - Implemented backward-mode automatic differentiation. - Build system - Refactored documentation. - Merged all unit tests to one binary. - Miscellaneous - Started to write change log. - Introduced architectural decision records.