- Added a new subclass of
NumericalIntegration
calledAdaptiveQuadrature
, which implements the "adaptive quadrature" algorithm - Updated Dart SDK constraints to
^3.1.0
- Updates to the Dart and Flutter example projects
- Dependencies versions update
- Updates to the Dart and Flutter example projects
- Dependencies versions update
- BREAKING: Removed the
IntegralResults
type and replaced with an equivalent record - BREAKING: Removed the
NonlinearResults
type and replaced with an equivalent record - BREAKING: Added the
base
modifier toAlgebraic
,NumericalIntegration
,Interpolation
,NonLinear
, andSystemSolver
types - Updated Dart SDK constraints to
^3.0.0
- Updated the
analysis_options.yaml
file with more rules - Added more rules from the
dart_code_metrics
package - Updated the Flutter and Dart demos in the
example/
folder - Dependencies versions update
- Updated Dart SDK constraints to
">=2.18.0 <3.0.0"
- Improved docstring comments
- Updated the
analysis_options.yaml
file with more rules - Added more rules from the
dart_code_metrics
package - Updated the Flutter and Dart demos in the
example/
folder - README updates
- Dependencies versions update
- BREAKING: The
Complex.fromPolar
constructor now asks for required named parameters - BREAKING: The
Interpolation
constructor now asks for required named parameters - BREAKING: The
SylvesterMatrix
type now accepts anAlgebraic
type rather than aList<Complex>
. As such, theSylvesterMatrix.fromReal
constructor has been removed because a real polynomial can be built usingAlgebraic.fromReal
instead - BREAKING: The
SystemSolver
type now accepts aRealMatrix
type rather than aList<List<double>>
. As such, thesize
parameter has also been removed because the size can be retrieved from theRealMatrix
object itself - BREAKING: New names for
SytemSolver
parameters: changesequations
tomatrix
andconstants
toknownValues
- Updated Dart SDK constraints to
">=2.17.0 <3.0.0"
- Added
csc
(cosecant) andsec
(secant) trigonometric functions to theExpressionParser
type - Migrated Dart code to 2.17 with super parameters
- Updated the
analysis_options.yaml
file with almost all rules - Added more rules from the
dart_code_metrics
package - Updated the Flutter demo in the
example/
folder. Now the project can be run all platforms (mobile, web and desktop) - Dependencies versions update
- Dependencies versions update
- Updated the
analysis_options.yaml
file with some more rules - Updated the Flutter demo in the
example/
folder - Updated the Dart demo in the
example/
folder - Minor documentation improvements
- Dependencies versions update
- Updated the
analysis_options.yaml
file with some more rules
- Dependencies versions update
- Updated the README file with some fixes
- Added a new root-finding algorithm (
Riddler
which implements the Riddler's method) - Updated the Flutter demo in the
example/
folder
- Dependencies versions update
- Added more tests cases
- Updated the Flutter demo in the
example/
folder
- BREAKING: Now
NumericalIntegration
requires the function via constructor (earlier it was passed to theintegrate()
function) - Added the
characteristicPolynomial()
method onMatrix<T>
to compute the characteristic polynomial of a matrix - Fixed an issue in the
eigenvalue()
method - Fixed an issue in the
rank()
method - Added the
eigenDecomposition()
method onMatrix<T>
to implement the "Eigendecomposition" algorithm - Added the
Matrix.diagonal()
constructor onMatrix<T>
to create diagonal matrices - Added more lints and stricter rules in
analysis_options.yaml
- Dependencies versions update
- BREAKING: Replaced the
Laguerre
type withDurandKerner
(the latter is a more reliable root-finding algorithm for polynomials) - BREAKING: Removed the
integrateOn
method onNonlinear
. Now numerical integration algorithms live on their own in thesrc/integral
folder - BREAKING: renamed
firstGuess
andsecondGuess
toa
andb
respectively inSecant
(for consistency with otherNonlinear
types) - Created the
Interpolation
type to work with points interpolation - Moved
NumericalIntegration
into a 'top-level' directoy insidesrc/
- Added the
LinearInterpolation
,PolynomialInterpolation
, andNewtonInterpolation
types - Added eigenvalues computation on
Matrix<T>
with theeigenValues()
method - Added inverse matrix computation on
Matrix<T>
with theinverse()
method - Added cofactor matrix computation on
Matrix<T>
with thecofactor()
method - Added the
isSymmetric()
method to determine whether a matrix is symmetric or not - Added minor computation on
Matrix<T>
with theminor(int row, int col)
method - Added SVD decomposition algorithm to matrix types
- Added the
isDiagonal()
method onMatrix<T>
- Added the
isIdentity()
method onMatrix<T>
- Added the
trace()
method onMatrix<T>
- Added the
rank()
method onMatrix<T>
- Bug fixes on various matrix operations
- Bug fixes in
Algebraic
- Dependencies versions update
- Dependencies versions update
- Minor enhancement in the
PolynomialLongDivision
class - Added trace computation on matrices
- Added french localization to the Flutter example app
- Dependencies versions update
- Updated example to Flutter 2.2.0 and improved coverage
- Added
bool hasSolution()
on theSystemSolver
type to determine whether a system can be solved or not
- Added QR decomposition to the
RealMatrix
andComplexMatrix
type - Dependencies versions update
- Changes on deep copy logic for lists (now the library uses
List.from()
on immutable objects) - Added the
PolynomialLongDivision
class to divide a polynomial by another - Now the
Algebraic
type supportsopeartor/
too so you can divide polynomials to get quotient and remainder - Dependencies versions update
- Dependencies versions update
- New extension method on
String
calledisRealFunction
that determines whether a string represents a real function or not - New extension method on
String
calledisNumericalExpression
that determines whether a string represents numerical expression or not - Minor changes to the
ExpressionParser
class - Written more tests for the
flutter_example
demo project - Dependencies versions update
- New
toStringAsFixed()
method for theComplex
type - Improved static analysis with a more elaborated
analysis_options.yaml
file - Dependencies versions update
- Migration to stable null safety
- Dependencies versions update
- Updated some dependencies versions
- Added support for numerical integration with the
NumericalIntegration
type. - Minor code improvements
- Updated some dependencies versions
- Added a new root finding algorithm (
RegulaFalsi
) - Improved the computation of the determinant (now it uses LU decomposition which is way better than the old O(n!) implementation)
- Minor documentation improvements
- Added support for linear systems solving using Jacobi, Gauss-Seidel and SOR
- Improved comparison logic for all the classes of the package
- Added the new
toStringAugmented()
method for systems which prints the augmented matrix - Written more tests for coverage
- Expanded the README.md file
- New examples in the
example/
folder
- Created the
RealMatrix
andComplexMatrix
types to work with matrix - Added support for linear systems solving using Gauss, LU decomposition and Cholesky decomposition
- Added a new static method called
Algebraic.from()
which automatically builds a new polynomial equation according with the number of coefficients. - Minor documentation fixes
- Added a new root-finding algorithm (
Brent
which implements the Brent's method) - Added
Laguerre
(which implements Laguerre's method for polynomials root finding) - Minor on various
Nonlinear
subtypes - Documentation fixes
- Package migrated to null safety (Dart 2.12).
- Added a new
ExpressionParser
class (which is also internally used byNonLinear
) - Minor fixes on
Algebraic
andNonLinear
- Health suggestions fixes
- Changed the description of the package
- Initial release
- Use
Algebraic
for algebraic (polynomial) equations andNonlinear
for nonlinear equations - Easily work with complex number by using
Complex