advance_math 5.4.4
advance_math: ^5.4.4 copied to clipboard
A robust Dart library for comprehensive mathematical programming. Offers expressions, complex numbers, algebra, statistics, angles, and geometry for diverse computations.
5.4.4 #
- [IMPROVEMENT] Downgrade
characterspackage to1.4.0to fixpubspec.yaml.
5.4.3 #
- [BUG_FIX] Fix bugs and clean code.
5.4.2 #
- [IMPROVEMENT] doc: Improve doc comment formatting by consistently using backticks for code references and ranges.
- [FEATURE] Added
ComplexArrayfor efficient storage and operations on complex numbers, including FFT and IFFT. - [FEATURE] Added
Scalar,DartData,Series,DataFrame,DataCube, andNDArraysupport fromdartframe. - [FEATURE] Added new statistical and interpolation methods, refactored documentation and number tests, and updated existing modules.
5.4.1 #
- [BUG_FIX] Fixed
Csc.integratecrash and mathematical correctness- Corrected calculation of coefficients (e.g.,
1/a) whenais aComplexnumber - Fixed
csc(x)^2integration to return correct-cot(x)instead of log formula
- Corrected calculation of coefficients (e.g.,
- [BUG_FIX] Fixed integration logic for
Sin,Cos,Tan,Cot,Secto robustly handleComplexcoefficients in linear substitutions (f(ax+b)) - [BUG_FIX] Fixed crash in
Variablemultiplication withComplexnumbers (partial evaluation)- Updated
convertToLiteralIfNeededto correctly treatComplexnumbers as literals, allowing expressions likeComplex(8) * yto simplify correctly
- Updated
5.4.0 #
Symbolic Calculus & Equation Solving #
- [FEATURE] Added comprehensive symbolic calculus module (
lib/src/math/algebra/calculus/)symbolic_calculus.dart: Core symbolic calculus operationssymbolic_integration.dart: Advanced integration strategies (power rule, trig, exponential, substitution, integration by parts)differentiation.dart: Enhanced differentiation with curl calculations and variable naming improvementshybrid_calculus.dart: Combined symbolic and numerical calculus approaches
- [FEATURE] Implemented equation solver framework (
lib/src/math/algebra/solver/)equation_solver.dart: Polynomial solving, variable isolation, factor solving, and identity handling- Support for linear, quadratic, cubic equations
- Recursive solving for factored equations (e.g.,
(x-1)*(x-2) = 0) - Power equation solving (e.g.,
x^3 = 0) - Identity equation detection (e.g.,
x - x = 0)
- [FEATURE] Added expression simplification framework (
lib/src/math/algebra/expression/simplifier/)simplifier.dart: Core simplification strategiestrig_simplifier.dart: Trigonometric simplification rules
- [FEATURE] Added inverse trigonometric functions
asin.dart: Inverse sine functionacos.dart: Inverse cosine functionatan.dart: Inverse tangent function
- [FEATURE] Added nonlinear mathematics modules (
lib/src/math/algebra/nonlinear/)optimization.dart: Optimization algorithmsroot_finding.dart: Root finding methodssystems.dart: Nonlinear systems solving
- [FEATURE] Added differential equations module (
lib/src/math/differential_equations/) - [FEATURE] Added statistics module (
lib/src/math/statistics/)
Parser Enhancements #
- [FEATURE] Enhanced expression parser with calculus operations
- Added
diff(expr, var)parsing for differentiation - Added
integrate(expr, var)parsing for integration - Added
solve(eq, var)parsing for equation solving - Added
solveEquations(equations)parsing for system of equations - Added algebraic functions:
gcd(a, b),lcm(a, b),factor(poly),deg(poly),pfactor(n),coeffs(poly, var),line(p1, p2),roots(poly),sqcomp(poly) - Improved simplification of parsed results
- Added
Polynomial Algebra Enhancements #
- [FEATURE] Polynomial modulo operator (
%) for polynomial division remainder - [FEATURE] Polynomial GCD and LCM methods
gcd(other): Greatest Common Divisor using Euclidean algorithmlcm(other): Least Common Multiple
- [FEATURE] Added
Moduloexpression class for symbolic modulo operations - [FEATURE] Implemented
isPoly([strict])method across all expression types for polynomial detection - [BUG_FIX] Fixed
Polynomial.simplify()to correctly handleComplexcoefficients by checking if coefficients are real before computing GCD
Equation Solving Enhancements #
- [FEATURE] System of equations solver (
solveEquations)- Supports linear and simple non-linear systems
- Uses substitution method for system solving
- Returns solutions in
[var, val, var, val, ...]format
Symbolic Integration Enhancements #
- [FEATURE] Added
InverseTrigStrategyfor inverse trigonometric integrals- Handles patterns like
1/(x^2 + a^2)→atan(x/a) - Handles patterns like
1/sqrt(a^2 - x^2)→asin(x/a)
- Handles patterns like
- [IMPROVEMENT] Enhanced
BasicTrigStrategywith trigonometric power reduction- Power reduction for
sin^2(x),cos^2(x), etc.
- Power reduction for
- [IMPROVEMENT] Improved
IntegrationByPartsStrategyto handle logarithmic and inverse trigonometric functions - [BUG_FIX] Fixed
Cubicequation solver robustness:- Added explicit check for triple roots (
d0=0,d1=0) to preventNaNresults - Improved zero-check logic for intermediate values using magnitude thresholds
- Added explicit check for triple roots (
- [BUG_FIX] Fixed
IntegrationByPartsfailure for solo functions (e.g.,ln(x),asin(x)) by treating them asf(x) * 1 - [BUG_FIX] Fixed
PowerRuleStrategyto correctly handleComplexexponents safely avoiding type cast errors - [FEATURE] Added logarithmic integration pattern (
u'/u) toSubstitutionStrategysupporting forms likeintegrate(1/(x+1)) - [BUG_FIX] Fixed
integrate(cos(x)*sin(x))sign error by improvingDivide.simplifyBasic - [IMPROVEMENT] Generalized linear substitution to handle implicit constant factors (e.g.
integrate((2x+1)^2)) - [BUG_FIX] Fixed
solve(x^3)returningNaNby fixingComplex.powfor zero base
Test Coverage Improvements #
- [IMPROVEMENT] Enabled and fixed tests in
algebra_spec_test.dart- Uncommented
isPolytests - Uncommented simplification and factorization tests
- Uncommented
- [IMPROVEMENT] Enabled and adapted tests in
solve_spec_test.dart- Uncommented
solveEquationstests - Adapted test expectations for parser syntax
- Uncommented
- [IMPROVEMENT] Fixed tests in
core_spec_test.dart- Adjusted expectations for symbolic results (e.g.,
11/4instead of2.75) - Enabled hyperbolic function tests
- Adjusted expectations for symbolic results (e.g.,
- [IMPROVEMENT] Parser now handles complex nested expressions correctly
Expression System Refactoring #
- [BREAKING] Updated
differentiate()signature to accept optionalVariableparameter for partial differentiation support- Updated in all expression classes:
Add,Subtract,Multiply,Divide,Pow,Sin,Cos,Tan,Sec,Csc,Cot,Exp,Ln,Log,Abs, and all other expression types
- Updated in all expression classes:
- [IMPROVEMENT] Refactored
simplify()tosimplifyBasic()in binary operations for better simplification control- Updated:
Add,Subtract,Multiply,Power
- Updated:
- [BUG_FIX] Fixed
Add.simplifyBasic()to correctly parse terms instead of creating invalidVariableobjects - [BUG_FIX] Fixed
Subtract.simplifyBasic()to handle nested additions and parse terms correctly - [BUG_FIX] Fixed
Multiply.simplifyBasic()to implement associativity rules for coefficient combination (e.g.,(-1) * (2 * x)→(-2) * x) - [IMPROVEMENT] Enhanced
Subtractto flatten nested subtractions and additions - [IMPROVEMENT] Improved term parsing in algebraic operations
- [FEATURE] Enhanced
Expressiontype conversion:- Added support for
Stringinputs in_toExpression(automatic parsing) - Added support for
Complexinputs in_toExpression - Enabled support for
NaNandInfinityvalues inExpressionoperations
- Added support for
- [BUG_FIX] Fixed type safety in arithmetic operations (
Add,Subtract,Divide) to handle mixednumandComplextypes
Rational Function Enhancements #
- [FEATURE] Implemented
RationalFunction.simplify()with polynomial division and GCD cancellation - [BUG_FIX] Fixed
RationalFunction.evaluate()to ensure correct simplification and type handling
Polynomial Algebra Enhancements #
-
[BUG_FIX] Fixed
Polynomial.fromStringto correctly handle whitespace and division by constants (e.g.,x/2) -
[BUG_FIX] Fixed
Polynomial.simplifyto prevent root casting errors during GCD calculation -
[BUG_FIX] Fixed
Polynomial.evaluateto prevent nestedLiteralcreation -
[BUG_FIX] Fixed coefficient extraction in polynomial solver for correct quadratic detection
-
[BUG_FIX] Fixed identity equation handling (e.g.,
solve(x-x, x)now returns[0]) -
[BUG_FIX] Fixed cancellation detection in subtraction (e.g.,
x - x = 0) -
[FEATURE] Added comprehensive test suites
test/parser_calculus_test.dart: 100 tests for differentiation, integration, and solvingtest/calculus/: Calculus module teststest/solver/: Equation solver teststest/differential_equations/: Differential equations teststest/statistics/: Statistics teststest/nonlinear/: Nonlinear mathematics tests
-
[FEATURE] Added example:
example/symbolic_calculus_example.dart -
[IMPROVEMENT] Enhanced
Limitclass with better limit calculation -
[IMPROVEMENT] Updated expression exports in
advance_math.dartandalgebra.dart -
[IMPROVEMENT] Code formatting improvements across multiple files
-
[REFACTOR] Variable naming consistency (e.g.,
F1, F2, F3→f1, f2, f3in curl calculations) -
[CLEANUP] Removed
simple_export_test.dart
Complex Number Enhancements #
- [FEATURE] Added reciprocal trigonometric functions to Complex (
trigonometric.dart)sec(): Secant functioncsc(): Cosecant functioncot(): Cotangent function
- [FEATURE] Added inverse reciprocal trigonometric functions
asec(),arcsec(): Inverse secantacsc(),arccsc(): Inverse cosecantacot(),arccot(): Inverse cotangent
- [FEATURE] Added alias methods for inverse trig functions
arcsin(),arccos(),arctan()
- [FEATURE] Added reciprocal hyperbolic functions to Complex (
hyperbolic.dart)sech(): Hyperbolic secantcsch(): Hyperbolic cosecantcoth(): Hyperbolic cotangent
- [FEATURE] Added inverse reciprocal hyperbolic functions
asech(),arcsech(): Inverse hyperbolic secantacsch(),arccsch(): Inverse hyperbolic cosecantacoth(),arccoth(): Inverse hyperbolic cotangent
- [FEATURE] Added alias methods for inverse hyperbolic functions
arcsinh(),arccosh(),arctanh()
- [FEATURE] Added logarithmic functions to Complex (
operations.dart)log10(): Base-10 logarithmlog2(): Base-2 logarithmlogBase(n): Arbitrary base logarithm
- [FEATURE] Added special mathematical functions (
special_functions.dart- NEW FILE)gamma(): Gamma function using Lanczos approximationlnGamma(): Natural logarithm of gamma functiondigamma(): Digamma (psi) functionerf(): Error function with Taylor series expansionerfc(): Complementary error functionbeta(): Beta functionzeta(): Riemann Zeta function
- [FEATURE] Added precision functions
expm1():e^x - 1for smallxlog1p():ln(1 + x)for smallx
- [FEATURE] Added floating-point utilities
frexp(): Mantissa and exponent decompositionldexp(): Recompose double from mantissa and exponent
- [FEATURE] Added static utility methods for collections of Complex numbers
Complex.sum(List<Complex>): Sum of complex numbersComplex.mean(List<Complex>): Arithmetic meanComplex.product(List<Complex>): Product of complex numbers
Geometry Enhancements #
Plane Geometry #
- [FEATURE] Added geometric centers to
Triangleclasscentroid: Intersection of medians (center of mass)inCenter: Intersection of angle bisectors (center of inscribed circle)circumCenter: Intersection of perpendicular bisectors (center of circumscribed circle)orthocenter: Intersection of altitudes
- [BUG_FIX] Fixed
Polygonclass to extendPlaneGeometrycorrectly- Implemented
area()method using Shoelace formula for arbitrary polygons - Implemented
perimeter()method override
- Implemented
- [FEATURE] Enhanced regular polygon classes (
Pentagon,Hexagon,Heptagon,Octagon)- Added
apothemproperty (distance from center to midpoint of side) - Added
sumInteriorAnglesproperty - Added
shortDiagonalproperty toPentagon
- Added
- [FEATURE] Added
boundingBox()method to circle componentsSector: Includes center, arc endpoints, and arc extremesSegment: Includes chord endpoints and arc extremesArc: Includes endpoints and arc extremes
- [IMPROVEMENT] Refactored
Sector,Segment, andArcclasses- Encapsulated fields with private accessors and validation
- Optimized
contains(Point)method inSectorfor better performance
- [REFACTOR] Merged
ErrorEllipseimplementation- Consolidated fields to support both covariance matrix (
sigmaX2,sigmaY2,sigmaXY) and standard deviation (sigmaX,sigmaY,rho) - Added
generateEllipsePoints()for plotting - Added
toJson()/fromJson()serialization - Added dynamic
updateParameters()method - Restored
PlaneGeometryinheritance andcontains()logic
- Consolidated fields to support both covariance matrix (
Solid Geometry #
- [FEATURE] Implemented
Sphereclass (lib/src/math/geometry/solid/sphere.dart)- Volume:
(4/3)πr³ - Surface Area:
4πr² - Named constructors:
fromVolume(),fromSurfaceArea() contains(Point)method to check if point is inside sphere
- Volume:
- [FEATURE] Implemented
Cylinderclass (lib/src/math/geometry/solid/cylinder.dart)- Volume:
πr²h - Surface Area:
2πr(r + h) - Lateral Surface Area:
2πrh - Named constructor:
fromVolumeAndRadius()
- Volume:
- [FEATURE] Implemented
Coneclass (lib/src/math/geometry/solid/cone.dart)- Volume:
(1/3)πr²h - Surface Area:
πr(r + s)wheresis slant height - Slant Height:
√(r² + h²) - Lateral Surface Area:
πrs
- Volume:
- [FEATURE] Implemented
RectangularPrismclass (lib/src/math/geometry/solid/rectangular_prism.dart)- Volume:
l × w × h - Surface Area:
2(lw + lh + wh) - Space Diagonal:
√(l² + w² + h²) vertices()method returns 8 corner points- Factory constructor:
RectangularPrism.cube(side)for creating cubes
- Volume:
- [FEATURE] Created example:
example/solid_geometry_example.dart
Statistics & Basic Math Refactoring #
- [FEATURE] Refactored core statistics functions to
VarArgsFunctionallowing flexible usage (e.g.,mean(1, 2, 3)vsmean([1, 2, 3]))mean,median,mode,variance,standardDeviationgcd,lcm
- [FEATURE] Refactored
maxandmininbasic.darttoVarArgsFunction - [IMPROVEMENT] Optimized
SVDdecomposition to usedart:mathformax/minoperations for better performance and type safety
Expression Context Enhancements #
- [FEATURE] Added missing basic math functions to default expression context (
utils.dart)sinc,sumUpTo,isClose,integerPart,fibRange
- [FEATURE] Added calculus helpers to expressions
diff(): Numerical differentiationsimpson(),numIntegrate(): Numerical integration
- [FEATURE] Added robust random number generation to expressions
rand([min, max])randint(max)
- [FEATURE] Flattened and exposed constants in expressions
- Angle constants:
halfPi,quarterPi,deg2rad,rad2deg - Physics constants:
c,G,g,h_planck, etc.
- Angle constants:
- [BUG_FIX] Fixed
CallExpressionto correctly handleVarArgsFunctioninvocations - [BUG_FIX] Fixed
IndexExpressionandBinaryExpressiontype handling failures
5.3.8 #
- [IMPROVEMENT] Updated dependencies
- [REFACTOR] Simplify conditional logic and improve readability in
Scientificclass - [STYLE] Format code for consistency in
numextension and tests - [IMPROVEMENT] Fixed documentation comments in
AngleUnits,NumWords, andUnitsclasses - [FEATURE] Implemented methods in
MultiVariablePolynomial:depth,size,getVariableTerms,simplify,expand,differentiate,integrate,isIndeterminate, andisInfinity
5.3.7 #
- [IMPROVEMENT] Updated dependencies
- [IMPROVEMENT] Clean code
5.3.6 #
- [FEATURE] Added some large value computations
- [IMPROVEMENT] Updated dependencies
- [IMPROVEMENT] Clean code
5.3.5 #
- [FEATURE] Add num to expression conversion extension
- [FEATURE] Add NumToExpressionExtension with toExpression() and operator overloads
- [FEATURE] Create global helper function ex() for concise expression creation
- [IMPROVEMENT] Add unit tests for all new functionality
- [IMPROVEMENT] Update examples to demonstrate new expression creation methods
- [IMPROVEMENT] Add documentation for enhanced expression creation approaches
- [FEATURE] Extend Inverse Hyperbolic Functions to Support Complex Numbers (
asinh,acosh,atanh,asech,acsch, andacoth) to supportComplexnumber inputs.
5.3.4 #
- [FEATURE] Changed to MIT License
5.3.3 #
- [BUG_FIX] Fixed error from
Package conflict after updateas from issues #8 - [IMPROVEMENT] Clean code
5.3.2 #
- [IMPROVEMENT] Added detailed documentations
- [IMPROVEMENT] Updated packages
- [IMPROVEMENT] Clean code
5.3.1 #
- [IMPROVEMENT] Improved Imaginary
5.3.0 #
- [FEATURE] Added
isClosesimilar to that of Python - [IMPROVEMENT] Enhanced Complex number
- [IMPROVEMENT] Improved Decimal and Rational Numbers
- [BUG_FIX] Fix bugs and matrices
- [FEATURE] Added
memoizeclass wrapper (see examples fromvar_args_function_test.dart) - [FEATURE] Added more functions including:
sumUpTo,timeAsync,timeetc.
5.2.0 #
- [FEATURE] Added
isClosesimilar to that of Python - [FEATURE] Added conversion of
Complextonum - [FEATURE] Added more functions to
Complex - [BREAKING] Remove the FileIO form the library as it is the same from DartFrame.
- [IMPROVEMENT] Enhanced Complex number integration throughout the library
- [FEATURE] Added
simplify()method to return appropriate data types from mathematical operations - [IMPROVEMENT] Updated mathematical functions to work with Complex numbers:
round()- Now supports rounding both real and imaginary partshypot()- Enhanced to work with Complex inputssign()- Added support for Complex numbersclamp()- Now clamps both real and imaginary parts of Complex numberslerp()- Added support for linear interpolation between Complex numbers
- [BUG_FIX] Fixed test cases for Roman numerals
- [IMPROVEMENT]
SVDandLUalgorithms - [IMPROVEMENT] Standardized error handling across mathematical functions
- [IMPROVEMENT] Improved documentation with examples for Complex number operations
5.1.0 #
- [BUG_FIX] Fixed error from
svdas from issues #3 - [IMPROVEMENT] Changed the default PI computation to use
- [IMPROVEMENT] Changed the entire
Matrixclass andVectorclass to useComplexfor all operations.
5.0.0 #
- [IMPROVEMENT]
pseudoInversefunction has been improved to work with singular and poorly conditioned matrices. Added condition number check and SVD fallback for improved robustness with singular and poorly conditioned matrices. - [BUG_FIX]
isPrimefunction now works correctly. - [FEATURE] Added extensions to
Basesclass for converting between bases andStrings. - [FEATURE] Added a class for
PerfectNumbersand functions for calculating perfect numbers includingisMersennePrime. - [IMPROVEMENT] Improved
isPerfectNumberfunction for performance and to work with large numbers withBigInt, largeStringnumber, and int support. - [FEATURE] Added
sqrtto theBigIntclass to aid computations. - [IMPROVEMENT] Fixed the error with
cumsumand improved it with functionalities - [IMPROVEMENT] Improve the computation of
fibfunction. - [FEATURE] Added
Expressionclass for parsing and evaluating mathematical expressions. SeeExpressionclass for more information.
4.0.2 #
- [BUG_FIX] Changed the characters dependency to 1.3.0
4.0.1 #
- [IMPROVEMENT] Fixed change log
- [IMPROVEMENT] Updated SDK to 3.6.0
4.0.0 #
-
[BROKEN] DataFrame is no longer maintained in
advance_math. Now has a separate package for DataFrame calleddartframe. -
[FEATURE] Added
PIclass for calculating pi to any precision. -
[FEATURE] Added
DecimalandRationalclasses to support arbitrary precision calculations. -
[BROKEN] Old
Decimalclass based onNumberhas been changed toPrecisionclass. SeePrecisionclass for more information. -
[FEATURE] Added
DecimalandRationalclass based onBigIntwith support for arbitrary precision calculations. -
[FEATURE] Added bases to
advance math. You can now convert from any base to any other base (i.e base 2-36). SeeBasesclass for more information. -
[IMPROVEMENT] Matrix inverse has been improved to work with matrices of any size (e.g. 1x1 matrix).
-
[IMPROVEMENT] Added
Dataframeempty initializer/constructor. -
[FEATURE] Converted
Dataframecolumns to a classSeries -
[FEATURE] Added more functionalities to the
Randomclass eg: nextIntInRange, nextDoubleInRange, nextBytes, nextBigIntInRange, nextBigInt, nextDateTime, nextElementFromList, nextNonRepeatingIntList etc. -
[IMPROVEMENT]
isPrimefunction has been improved to use the trial division method for small numbers and Rabin-Miller for large numbers. Now support various data types:print(isPrime(5)); // Output: true (int) print(isPrime(6)); // Output: false (int) print(isPrime(BigInt.from(1433))); // Output: true (BigInt) print(isPrime('567887653')); // Output: true (String) print(isPrime('75611592179197710042')); // Output: false (String) print(isPrime('205561530235962095930138512256047424384916810786171737181163')); // Output: true (String) -
[FEATURE] Added more basic math functions:
mod,modInv, nChooseRModPrime, bigIntNChooseRModPrime etc. -
[FEATURE] Added more statistics math functions:
gcf,egcd,lcmetc. -
[IMPROVEMENT] In the
Geometryclass:- The class is splitted into Plane and Solid geometries.
- In Point class: fixed example function calling, isCollinear computation is moved into GeoUtils, and use
recin the constructor fromPolarCoordinates.
-
[IMPROVEMENT] Added an argument
isDegreesforrecandpoleasy computation. -
[IMPROVEMENT] Roman numerals to work with overline characters and parentheses.
-
[FEATURE] Added converts polar coordinate
recand converts rectangular coordinatespolfunctions -
[FEATURE] Added an extension
groupByto the iterables andgroupByKeyto maps. -
[FEATURE] Added more extensions to String class:
String testString = "Hello123World456! Café au lait costs 3.50€. Contact: [email protected] or visit https://example.com"; print(testString.extractLetters()); // Includes 'é' print(testString.extractNumbers(excludeDecimalsAndSymbols: false)); print(testString.extractWords(excludeNumbers: false)); print(testString.extractAlphanumeric(excludeSymbols: false)); print(testString.extractLettersList(excludeSymbols: false)); print(testString.extractNumbersList(excludeDecimalsAndSymbols: false)); print(testString.extractEmails()); // Extracts email addresses print(testString.extractUrls()); // Extracts URLs print(testString.containsSymbol()) //Check if the string contains a symbol // Custom pattern example: extract words starting with 'C' print(testString.extractCustomPattern(r'\bC\w+', unicode: false)); -
[IMPROVEMENT] Following the Dart format for libraries
-
[IMPROVEMENT] Cleaned code base and examples files
-
[IMPROVEMENT] Fixed README
3.3.8 #
- [BUG_FIX] CoordinateType not set to UTM
- [BUG_FIX] Change the data types of mean and correlation to num
- [BROKEN]
NumOrWordshas been moved into code translators with the same name as Morse code. - [BROKEN]
MorseCodeTranslatorclass has been renamed toMorseCode - [FEATURE] Added
Dataframeclass for working with dataframes or tables. - [IMPROVEMENT] Removed duplicate functions
- [IMPROVEMENT] Enhanced
combinationsandpermutationsfunction:- The function now generates the actual combinations or permutations of elements, mimicking the behavior of the combinations function in R.
- Added support for Lists as input for
n. - Introduced optional
funcand simplify parameters for applying functions to combinations or permutations and controlling output structure. - Improved documentation with clearer explanations, examples, and comments.
- [IMPROVEMENT] Cleaned code for expressions (symbolic math)
- [IMPROVEMENT] Added doc-strings to some functions
- [IMPROVEMENT] Added documentation of Morse code in the ReadMe file
- [IMPROVEMENT] Fixed README
3.3.7 #
- Fixed README
- Added functions
3.3.6 #
- Fixed bugs
- Renamed Row, Column, and Diagonal matrices to RowMatrix, ColumnMatrix and DiagonalMatrix repectively
3.3.5 #
- Added morse code
- Added more math functions
- Improved documentation and performance
- Fixed bugs and aligned code
3.3.4 #
- Added support for converting number to words
- Added test for roman numerals.
- Fixed bugs in Roman numerals
- Added some string extension (e.g. capitalization, removeSpecialCharacters etc)
3.3.3 #
- Setting support for expressions
- Fixed errors in pow for both real and Complex numbers
3.3.2 #
- Added some math constants
- Fixed error in angles
- Fixed error in parsing linear and constant polynomial strings
- Increased the SDK
3.3.1 #
- Added Interpolation
3.3.0 #
- Added ZScore computation
- Added more functions matrix statistics
- Added multiple supports for determinant
- Fixed bugs in Roman numerals
- Fixed documentation inconsistencies
3.2.4 #
- Fixed error in angles
3.2.3 #
- Fixed error in angles conversion
3.2.2 #
- Improved the checks on roman numerals
- Added conversion between roman numerals and dates
- Improved the flexibility in arithmetic with integer, roman strings and roman numbers
- Fixed README file
3.2.1 #
- Improved the checks on roman numerals
3.2.0 #
- Added roman numerals
- Added trigonometry functions supports to work with complex numbers
- Added limit
- Added factors
- Fixed README file
3.1.0 #
- Simplified Example file
- Improved exponents of Complex numbers
- Fixed bearingTo() in Point to include axis
- Fixed return type of normalize from Angle
- Fixed README file
3.0.0 #
- Added Geometry (Point, line, Circle, Triangle, Polygon, etc.)
- Added Polynomial (Linear, Quadratic, Cubic, Quartic, Durand-Kerner)
- Added List and vecctors having same properties
- Added NumPy's roll
- Fixed README file
2.1.2 #
- Fixed complex number outputing wrong string
2.1.1 #
- Fixed bugs
2.1.0 #
- Added arguments for diagonal
- Improved min, max and sum functions with axes
- Fixed bug with magic matrix not working for singly even numbers (6, 10, 14, 18, 22 etc).
- Fixed bugs
2.0.2 #
- Changed the reverse function to flip in matrices
- Added magic() to the Maatrix constructors
- Fixed bug in FileIO
2.0.1 #
- Fixed bug
2.0.0 #
- Fixed the usage of quantities in the respective computations
- Implemented support for quantity
- Fixed Web not supported
- Fixed range
- Fixed README
1.0.3 #
- Fixed bugs
- Fixed README
1.0.2 #
- Conversion of angles(radians, degrees, gradients, DMS, and DM)
- Organized code
- Fixed bugs
- Fixed README
1.0.0 #
- Moved codes and reorganized functions
- Fixed bugs
0.1.8 #
- Fixed bugs (in null space)
0.1.7 #
- Added rescale for both vectors and matrix
- Improved vector compatibility with lists
- Added operations on vectors such as expo, sum, prod, etc.
- Fixed normalize function with options on the norm to use
- Fixed Norm with options
- Fixed bugs
0.1.5 #
- Added support for distance calculation for vectors and matrices
- Improved consistency in linear algebra
- Added scale for vector types
0.1.4 #
- Spercial matrices and vectors their functionalities
- Fixed spellings in matrix structure properties
- Added functions partioning of vectors subVector() and getVector()
- Improved subMatrix() function
- Fixed README
0.1.2 #
- Fixed spellings in matrix structure properties
- Added Vectors, Complex Numbers, and Complex Vectors to README
- Fixed README
0.1.1 #
- Fixed README
0.1.0 #
- Improved indexOf() and random functionalities
- Fixed README
- Fixed bugs
0.0.9 #
- Started benchmarking
- Implemented matrix form rows and columns
- Implemented Vectors, Complex nyumbers and Complex Vectors
- Improved copyFrom() to retain or resize matrices
- Improved matrix concatenate
- Fixed README
- Corrected anonotations
- Fixed bugs
0.0.8 #
- Added Exponential, logarithmic, and Matrix power (generalized, not just integer powers)
- Added support to create from flattened arrays
- Clean codes
- Fixed bugs
0.0.7 #
- Fixed matrix round
- Fixed corrected README
- Fixed bugs
0.0.6 #
- Added matrix broadcast and replicate matrix
- Added pseudoInverse of a matrix
- Fixed corrected README
- Fixed bugs
0.0.5 #
- Added linear equation solver (cramersRule, ridgeRegression, bareissAlgorithm, inverseMatrix, gaussElimination, gaussJordanElimination, leastSquares, etc.)
- Added function to compute matrix condition number with both SVD and norm2 approaches.
- Added matrix decompositions
-
- LU decompositions
-
- Crout's algorithm
-
- Doolittle algorithm
-
- Doolittle algorithm with Partial Pivoting
-
- Doolittle algorithm with Complete Pivoting
-
- Gauss Elimination Method
-
- QR decompositions
-
- QR decomposition Gram Schmidt
-
- QR decomposition Householder
-
- LQ decomposition
-
- Cholesky Decomposition
-
- Eigenvalue Decomposition (incomplete)
-
- Singular Value Decomposition
-
- Schur Decomposition
-
- Added matrix condition
- Added support for exponential, logarithmic, and trigonometric functions on matrices
- Added more matrix operations like scale,norm, norm2, l2Norms,
- Added support for checking matrix properties.
- Added class for Complex numbers
- Added support for to auto detect matrix types.
- Added scaleRow and addRow operations.
- Implemented new constructors like tridiagonal matrix
- Modified the Matrix.diagonal() to accept super-diagonal, diagonal, minor diagonals.
- Implemented Iterator and Iterable interfaces for easy traversal of matrix elements
- Provide methods to import and export matrices to and from other formats (e.g., CSV, JSON, binary)
- Fixed bugs
0.0.3 #
- Improved the arithmetic (+, -, *) functions to work for both scalars and matrices
- Updated range to create row and column matrices
- Added updateRow(), updateColumn, insertRow, insertColumn, appendRows, appendColumns
- Added creating random matrix
- Added more looks and feel to the toString() method
- Corrected some wrong calculations
- Fixed bugs
- Fix README file
0.0.2 #
- Added info on the README file.
- Added more functionalities
- Fixed bugs
- Tests now works with most of the functions
0.0.1 #
- initial release.