# Release v0.14.0

## Features

- `functions` module
  - Added `pow` function.
  - Added Bessel functions.
- `linear` module
  - Implemented GMRES (with preconditioning).
  - Added preconditioning to BiCGSTAB.
  - Implemented a class to estimate diagonal elements of matrices.
- `ode` module
  - Implemented some additional formulas:
    - Radau IIA method of order 3, 5, 7, and so on.
    - Lobatto IIIC method of order 4 and 6
    - Crank-Nicolson method
    - ESDIRK 3/2
    - SDIRK6
    - ROS34PRw
    - ROS3PRL2
    - ROS3Dw
  - Added helper classes to solve time-dependent PDEs using the method of lines.
  - Added support for mass matrices and sparse Jacobian matrices in some implicit formulas.
  - Added support for ODEs without Jacobian matrices in some implicit formulas.
  - Added some new methods for automatic step size control.
- `polynomials` module (New)
  - Implemented a class of polynomials with some operations.
- `rbf` module
  - Implemented RBF-FD (Radial Basis Function Finite Difference) method.
  - Implemented derivatives of polyharmonic splines.
  - Implemented the polyharmonic operator.
  - Added constants to distinguish between positive definite RBFs and RBFs which are not positive definite.
  - Added support for non-positive-definite RBFs in RBF interpolators.
  - Implemented arithmetic operations of operators.
  - Implemented Bessel RBF and Matern RBF.
- `util` module
  - Added more helper functions in `vector_view` class.
  - Added utility functions for `Eigen::Triplet`.
  - Added a function to generate rectangle boundary nodes without corners.

## Improvements

- `ode` module
  - Made implicit formulas faster by improving algorithms for solving equations in implicit formulas.
  - Made implicit formulas aware of failures in linear solvers and convergence of Newton iterations.