909 Commits

Author SHA1 Message Date
Eric Mansfield
07a48b4209 Bug fix in inv.js 2018-06-01 18:54:56 -06:00
Eric Mansfield
f6e5a47cda Improved performance of determinant 2018-05-29 22:37:47 -06:00
Jos de Jong
517cd7d15a
Merge pull request #1114 from ericman314/matrix-inverse-debugging
Add pivoting to matrix inverse algorithm, and tests
2018-05-29 20:41:49 +02:00
Eric Mansfield
ad390e8903 Add pivoting to matrix inverse algorithm, and tests 2018-05-28 14:58:55 -06:00
jos
d08223e7a5 Implemented functions equalText. See #1085. 2018-05-27 14:13:17 +02:00
jos
94accc1889 Implemented function compareText, see #1085 2018-05-26 18:41:31 +02:00
Jos de Jong
553531b57c
Merge pull request #1093 from harrysarson/sep-tests
Separate tests that depend on node
2018-05-10 19:40:12 +02:00
jos
0abdfbe590 Upgraded dependencies for complex.js and fraction.js (see #1100) 2018-05-07 21:16:07 +02:00
Jos de Jong
7332993df7
Merge pull request #976 from ericman314/expm
Matrix exponential
2018-05-05 21:13:12 +02:00
Eric Mansfield
7d66e34bad Added support for SparseMatrix 2018-05-02 20:51:43 -06:00
Jack Schmidt
9a63e0e82e Bugix for Frobenius norm of complex matrices.
Also improve efficiency from cubic to quadratic by avoiding taking
the trace of a mat-mat multiplication, and rather just summing the
formula for the diagonal entries.

Include a unit test to avoid regressions.
2018-05-02 10:58:42 -04:00
Harry Sarson
45fa1edb16
remove now unused require for matrixmarket
The code that depended on matrixmarket has been removed in c23761be but
I forgot to remove the `require()` in that commit.
2018-05-02 15:20:43 +01:00
Harry Sarson
29052cbdcc
use math.create() to prevent tests changing global state.
Tests should not import functions into global math namespace.
2018-05-01 17:40:57 +01:00
Harry Sarson
c23761bee0
separate tests that depend on node
Ddds new directory 'test/node' for tests which require node.
In practice these tests are the ones that depend on matrixmarket.
2018-05-01 17:38:51 +01:00
Jos de Jong
9006e76f7e
Merge pull request #1046 from harrysarson/es6-maths
Implementation of EMCA 2015 maths functions in mathjs
2018-04-30 20:34:57 +02:00
Harry Sarson
0053546868
fix testing of log2(0) 2018-04-29 19:31:30 +01:00
Harry Sarson
95f988181f
fix tests where bignumbers is infinite or NaN 2018-04-29 19:20:06 +01:00
Harry Sarson
b452d55cf7
change expected error message.
presumably typed-function now counts from zero.
2018-04-29 19:19:11 +01:00
Harry Sarson
bd868e7f64
Remove tests for null parameters.
mathjs no longer coerses null to zero so don't test for this.
2018-04-29 19:06:36 +01:00
Henrique Ferrolho
308d55dac4 Adds matrix function math.sqrtm(A) (#1086)
* Adds Matrix function math.sqrtm(A)

The current implementation is based on the Babylonian iterative method

* Removing default parameter as they are only supported from ES6/ES2015 onwards

* Increases the robustness of the `math.sqrtm()` Babylonian iterative method

* Adds Denman–Beavers iteration method to compute `X*X = A`

The Babylonian method is numerically unstable and more likely to fail to converge. For that reason, the Denman–Beavers iteration method is the one being used in the current version.

* Adds LaTeX for math.sqrtm(A)

* Updates `math.sqrtm(A)` suggestions list

* Forgot to require latex...

* Adds unit tests for `math.pow(math.sqrtm(A), 2) == A`

* Switches from SyntaxError to Error

Edits error message

* Adds unit tests for non-square matrices and LaTeX conversion

* Changes according to feedback

- Removes Babylonian method implementation;
- Adds unit tests for BigNumber matrices
- sqrtm.test.js refactoring
- Edits LaTeX conversion

* Ensures input/output type persistence

* Changes math.deepEqual to assert.deepEqual (or to approx.deepEqual where appropriate)

* Fixes BigNumber unit test
2018-04-27 22:00:00 +02:00
jos
229ff3d8ff Fixed #1063: derivative not working when resolving a variable with unary minus like math.derivative('-x', 'x') 2018-04-11 13:25:44 +02:00
jos
ce4c294329 Updated history, added unit tests for passing a matrix to math.print 2018-04-08 20:13:35 +02:00
Jos de Jong
cbeff911d8
Merge pull request #1058 from jean-emmanuel/master
Add support for Array values argument in print function
2018-04-08 20:02:35 +02:00
jean-emmanuel
f4273d991a Add tests, example and documentation (Add support for Array values argument in print function) 2018-04-05 11:46:32 +02:00
jos
82eec1078e Fixed #1016: Extended math.typeof with support for ResultSet and nodes like SymbolNode 2018-04-04 11:24:45 +02:00
Favian Contreras
d8ec9c3638
More functions from ECMA 6 draft (expm1, log2, and log1p). 2018-03-08 17:10:59 +00:00
jos
bf3f62b564 Upgraded to typed-function@1.0.0 2018-02-20 20:59:05 +01:00
jos
99ab11b234 Dropped constant uninitialized 2018-02-04 13:09:09 +01:00
Jos de Jong
cdda817d9f
Merge pull request #1036 from ericman314/implicit-multiplication
Implicit multiplication
2018-02-04 11:55:15 +01:00
Eric Mansfield
17a4e33ae2 Added tests 2018-02-02 21:14:33 -07:00
jos
82b41e696a - Implemented OperatorNode.isUnary and OperatorNode.isBinary.
- Explicit checks for number of arguments everywhere working with `OperatorNode` and `FunctionNode`.
- Fixed #1014: derivative silently ignoring additional arguments.
2018-01-31 11:00:39 +01:00
jos
0b6c0c13f7 Merge branch 'v4' into v4_constant_node
# Conflicts:
#	HISTORY.md
2018-01-27 16:58:17 +01:00
jos
02d7d592e4 Merged util function types.type into math.typeof (see #1023) 2018-01-25 20:21:22 +01:00
jos
0406b93fc6 fixed notation in function math.format no longer rounds to zero digits when no precision is specified: it leaves the digits as is. See #676. 2018-01-24 14:27:38 +01:00
jos
f26e5cea03 Improved error messages for statistical functions 2018-01-24 11:52:49 +01:00
jos
087f53d854 Merge branch 'v4' into v4_constant_node
# Conflicts:
#	HISTORY.md
2018-01-23 20:27:16 +01:00
jos
4469f6bd0c Remove support for implicit conversion of null to 0. See #830. 2018-01-23 20:26:38 +01:00
jos
b9c30ebcc7 Updated some docs 2018-01-23 16:43:44 +01:00
jos
326c9fb0de Fixed #680: compare strings by their numerical value instead of alphabetical order 2018-01-23 15:34:49 +01:00
jos
3f3d50f7a0 Fixed #833: the constants true, false, null, undefined, NaN, Infinity, and uninitialized are now parsed as ConstantNodes instead of SymbolNodes in the expression parser 2018-01-23 13:55:57 +01:00
jos
3af55ededa Merge branch 'simplify2' into develop 2018-01-17 12:16:05 +01:00
Karl Lew
c4b555c36f #1018 simplifyCore ParenthesisNode 2018-01-16 09:06:24 -08:00
jos
8724ae0ae5 Fixed #1013: simplify wrongly simplifing some expressions containing unary minus, like 0 - -x 2018-01-13 14:37:27 +01:00
Jos de Jong
4504c3cc2a
Merge pull request #1003 from HarrySarson/3-arg-derivative
Improves derivative for 3 argument nodes. Closes #1002
2018-01-13 12:32:56 +01:00
Joel Hoover
6e6d0e37b1 Handle error in simplifyConstants when a function has all numeric arguments but is not itself defined 2018-01-08 01:13:14 -05:00
Joel Hoover
77dcd5abe9 Do not let simplifyConstants binarize functions with more than two arguments 2018-01-08 00:42:26 -05:00
Jos de Jong
9002e3b6eb
Merge pull request #1001 from joelhoover/simplify-improvement
Added rule to simplify that allows for combining of like terms in embedded quantities
2018-01-06 20:07:01 +01:00
Harry Sarson
05e6de2fd9 adds constant node checking with 3+ args 2018-01-04 14:25:05 +00:00
Harry Sarson
59e4c4ca97 derivative correctly handles '+' and '*' with three args 2018-01-04 13:42:00 +00:00
Joel Hoover
97098adad7 Added rule to simplify that allows for combining of like terms in embedded quantities 2018-01-02 01:02:19 -05:00