116 Commits

Author SHA1 Message Date
Michal Grňo
ba4ff2f9c9
Add usolveAll and lsolveAll methods (#1916)
* refactor solveValidation

* refactor usolve

* usolve algorithm implemented (for square mat.)

* added lsolve, consistent return type, fixed tests

* fixed lusolve and its tests, fixed linting issues

* added tests for usolve&lsolve, try-catch in lusolve

* put changes into separate files (u-/lsolveAll), revert changes to u-, l- and lusolve

* made *solveAll return [] for non-solvable, implemented sparse algorithms

* improved documentation for *solve(All)

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2020-08-29 13:11:16 +02:00
Jos de Jong
84f2746128 Merge branch 'Undo' of https://github.com/Veeloxfire/mathjs into Veeloxfire-Undo 2020-07-19 10:59:23 +02:00
Tom Hickson
1fd3c8bd10 Added one-based indexing for diff inside the parse
Also added bignumbers as indexes as that could be useful
2020-07-17 19:54:15 +01:00
Tom Hickson
28115ded16 Updated docs
Currently it does say that it will be one-based in the parser but I havent done that yet
2020-07-17 18:35:15 +01:00
josdejong
2df28bb609 Fix #1899: documentation on expression trees still using old namespace
`math.expression.node.*` instead of `math.*`
2020-06-28 22:14:27 +02:00
josdejong
c19492a3c9 Fix functions sum, prod, min, and max not throwing a conversion error when passing a single string, like sum("abc") 2020-06-24 09:47:46 +02:00
Jos de Jong
23f32fae9c
Fix #1856: make the library robust against Object prototype pollution (#1860) 2020-05-18 21:33:33 +02:00
josdejong
23e38bea60 Remove all deprecated code and warnings 2020-05-06 21:57:33 +02:00
josdejong
6038d12e29 Fix #1842: value Infinity not turned into the latex symbol \\infty 2020-05-04 20:50:27 +02:00
Tom Hickson
1348d67b7e Updated diff function to allow selecting a dimension 2020-04-24 18:15:34 +01:00
Tom Hickson
9a66b80bff Finalized Diff function
Added tests and then fixed all linting issues
2020-04-08 19:28:02 +01:00
Tom Hickson
b94a346596 Diff docs 2020-04-08 19:01:35 +01:00
Veeloxfire
fae65276ba
Should be able to take NAMED_DELIMITER as object keys (#1798)
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2020-04-04 17:14:39 +02:00
Arkajit Mandal
0b188e385c Adding eigs function (#1705)
* eigs test file initialize

* file for function for diagonalization of a real symmetrix matrix

* eigs typed function written according to mathjs requirements

* some linting issues addressed

* more linting issues in eigs

* linting passed for eigs (blank template function)

* making eigs fail

* eigs added to factory any

* initial check of input in eigs

* linting issues fix in eigs

* added rotation and theta matrix

* diagonalization loop added

* diagonalization result return

* diagonalization returns eigenvalue and eigenvectors

* function for updating Sij

* function for updating matrix

* a small bug fix

* some linting fixed in eigs

* lint and bug fix at eigs

* linting passed in eigs

* tests for input in eigs

* tests for trivial eigenvalue problem (sanity check)

* 2x2 check for non-diagonal matrix

* sorting added to eigs

* sorting function lint fix in eigs

* example for eigs updated

* 3x3 diagonalization by eigs passed

* bug in eigenvector

* eigenvalues seem to work

* cloning array so that original matrix do not get transformed in eigs

* eigenvector check

* eigenvector deep check and eigs description modified

* embedding dos for eigs

* doc for eigs fix

* slight change in example

* adding checkInput type

* type error for bad matrix elements

* type error for every element

* name change for typecheck function

* check matrix type of array input

* type error message update in eigs

* type error message grammer in eigs

* eigs bug fix

* eigs bug fix in check function

* eigs typecheck test

* some lint fix in eigs and corresponding tests

* before adding bingNumber implementation in eigs

* support for fractions

* obtain angle for bigNumber type

* theta for bignumbers

* update overlap for bigNumber

* jacobi rotation of input matrix for BigNumbers

* largest element for bigNumbers

* diagonalization for bigNumbers

* adding dependedncies

* diagonization for bigNumber

* diag for bigNumber is tested

* linting fix for eig and eigs test

* problem for bigNumber fix

* error message modification for eigs

* more coverage for eigs function

* eigs test bug fix

* simplify test

* is Symmetric function

* use matrix instead in eigs

* slight cleanup

* is symmetric bug fix

* no need to return in isSymmetrix

* small bug fix for fractions

* using scalar function when possible

* small lint correction

* return object in eigs

* bug fix in array eigs

* test object implementation

* description update

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2020-01-20 19:50:07 +01:00
Veeloxfire
10449b2326 Extend distance with support for n-dimensions 2020-01-04 21:03:53 +01:00
jos
b9175a1a29 Fixed IndexNode using a hardcoded, one-based implementation of index. See #782 2019-11-20 12:23:06 +01:00
jos
2713431b84 Fixed #1639: function min listed twice in the "See also" section of the embedded docs of function std 2019-10-01 21:56:01 +02:00
Rian McGuire
a8d94cbbeb Copy IndexNode dotNotation property in map and clone methods (#1623)
* Copy dotNotation in IndexNode.prototype.map

* Copy dotNotation in IndexNode.prototype.clone
2019-09-20 20:11:18 +02:00
Harry Sarson
4cfef3ac34 fix no-case-declarations lint 2019-08-21 10:09:10 +01:00
Harry Sarson
b6a42c032d run standard --fix 2019-08-21 10:09:10 +01:00
Waseem Yusuf
4cee37232f Added a combinationsWithRep function to calculate combinations with repitition (#1588)
* Implemented the `multicombinations` function

* Write unit tests for `multicombinations` function

* Integrate the `multicombinations` function throughout codebase

1. Include multicombinations factory function in factoriesAny.js and factoriesNumber.js
2. Write embedded docs for multicombinations
3. Added latex support
4. Refer to multicombinations in the "see also"-section of related functions

* Change name from `multichoose` to `combinationsWithRep`
2019-08-15 11:35:51 +02:00
jos
d8a4f3a00a Update to standard@13.0.2 2019-07-20 13:46:31 +02:00
jos
deb7c05b53 Fix #1550: nested user defined function not receiving variables of an outer user defined function 2019-07-07 10:56:01 +02:00
jos
41efed79d3 Fix #1473: remove 'use strict' in every file 2019-05-26 20:21:18 +02:00
jos
9af5206a88 Make matrix dependency requried again for subset. Make IndexNodes dependencies explicit. Disable subset in number implementation for now 2019-05-22 11:08:12 +02:00
jos
c8b02fb9f2 Make matrix dependency optional for now in subset (WIP) 2019-05-15 21:25:44 +02:00
jos
3e553e1d11 Remove dependency on matrix of function random 2019-05-15 17:54:39 +02:00
jos
2350159a51 Remove deprecation on toTex function properties 2019-05-15 11:38:34 +02:00
jos
52dfafe5be Use mathWithTransform instead of math where needed 2019-05-15 10:29:27 +02:00
jos
b4f2eb005e Merge remote-tracking branch 'origin/fix/1428' into develop
# Conflicts:
#	HISTORY.md
#	src/function/algebra/simplify.js
2019-05-04 10:07:39 +02:00
jos
20aa9a005a Fix circular dependency in math namespace for evaluate 2019-04-29 21:19:50 +02:00
jos
33cead1327 Improved deprecation errors and warnings. Introduce lazy again for factories. 2019-04-22 09:45:57 +02:00
jos
850886f361 Fix occurrences of CommonCS exports 2019-04-13 17:07:21 +02:00
jos
6081360d6a Merged develop into modular_architecture 2019-04-13 16:51:51 +02:00
jos
9f9bbbd4a3 Minor fixes and refinement of docs of row and column 2019-04-08 22:01:21 +02:00
jos
c155eb20d7 Fixed #1465: toHTML() not correct for unary operators 2019-04-08 20:51:13 +02:00
jos
22bec13d10 Implement number factories, dependencies. Make matrix and bignumber optional where possible 2019-04-03 09:46:44 +02:00
jos
e6c5df5af5 Fix merge conflicts in row+column PR 2019-03-21 21:51:05 +01:00
SzechuanSage
2cab1f7228 Fix row and column transform to be 1 based 2019-03-21 22:30:10 +10:00
bnlcas
0db42306ec Extend std var for variable dimensions request 999 (#1444)
* initial implementation of multidimensional std and var

* consolidated std function into var, cleaned up the interface for var, fixed bias correction

* added documentation of variable axis for std and var

* updated documentation for std and var

* changed the order of normalization and dimension for a three parameter input in the functions

* updated documentation for var and std

* add transform expressions for std and var with variable axis

* added test coverage for std and var with a variable axis

* update to documentation

* change n dim std to use apply function

* fixed tests, removed unnecessary code, updated docs

* fixed typo in docs

* update docs to remove a type

* changed location of apply function

* updated tests to use deepStrictEqual to pass linter

* adding test coverage for var.transform and std.transform
2019-03-20 15:21:55 +01:00
bnlcas
128ed3cd9f Create apply utility request 1359 (#1411)
* add placeholder for apply function

* added apply function

* add test coverage for apply utility

* stylsitic name change in apply source code

* stylistic format change to test

* improved description of function parameters

* moved the apply function to the public matrix functions

* update location and reference of unit test

* fixed function reference paths in apply for location in function

* changed path to apply in apply.test

* make apply a typed function, update unit test

* added typing error test to coverage

* remove apply.test.js from the utils test function

* added transform function for apply

* add unit test for apply.transform.js
2019-03-17 20:15:38 +01:00
SzechuanSage
aea52eca45 Add expression transforms for row and column functions 2019-03-13 09:17:45 +10:00
SzechuanSage
f7364372fb Merge branch 'develop' of https://github.com/SzechuanSage/mathjs into develop 2019-03-08 23:56:31 +10:00
SzechuanSage
07c0d5dd60 Add embedded docs for row and column functions 2019-03-08 23:55:40 +10:00
jos
6acadd71a0 Create number implementations of all functions in mainNumber.js 2019-03-06 21:49:30 +01:00
jos
5c263d3dff Fixed #1428: transform iterating over replaced nodes 2019-03-05 21:10:59 +01:00
jos
d9deed993d Fixed #1418: missing whitespace when stringifying an expression containing "not" 2019-02-27 17:49:35 +01:00
jos
70cbc3ec30 Replace http urls with https where supported 2019-02-27 13:08:42 +01:00
jos
241d45cbbe Improve use cases, POC of recipes 2019-02-24 15:29:44 +01:00
jos
c0486162dd Update latest docs for hasNumericValue and update package-lock.json 2019-02-09 22:13:23 +01:00