1739 Commits

Author SHA1 Message Date
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
ec463c4705
Merge branch 'develop' into karma 2018-05-10 19:42:55 +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
7c4920a9a3 Merge branch 'develop' into v5 2018-05-05 21:20:50 +02:00
Jos de Jong
b5c3ff2bdf
Merge pull request #1097 from jackschmidt/ctranspose
Add complex transpose. A' now takes conjugate.
2018-05-05 21:17:46 +02:00
Jos de Jong
7332993df7
Merge pull request #976 from ericman314/expm
Matrix exponential
2018-05-05 21:13:12 +02:00
jos
835aab10b5 Merge branch 'develop' into v5
# Conflicts:
#	lib/expression/embeddedDocs/function/arithmetic/sqrt.js
2018-05-05 09:53:51 +02:00
Eric Mansfield
7d66e34bad Added support for SparseMatrix 2018-05-02 20:51:43 -06:00
Harry Sarson
91bb2f5c8e
move tests that require node from test/node to node-test
Is a pain to include all sub dirs in test apart from node
2018-05-02 18:09:13 +01:00
Harry Sarson
2b56dea4a5
change error checking regexp to allow firefox's exception
Fix tests when running in firefox browser.
2018-05-02 18:07:03 +01:00
Harry Sarson
c5a3ab2a6c
move tests that require node from test/node to node-test
Is a pain to include all sub dirs in test apart from node
2018-05-02 18:03:33 +01:00
Harry Sarson
b6151bdd15
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 18:03:33 +01:00
Harry Sarson
2f678aafc0
use math.create() to prevent tests changing global state.
Tests should not import functions into global math namespace.
2018-05-02 18:03:32 +01:00
Harry Sarson
f97981452f
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-02 18:03:32 +01: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
Jack Schmidt
e1f0791574 Add complex transpose. A' now takes conjugate.
In matlab and octave the expression A' produces the Hermitian
conjugate, the complex conjugate of the transpose.

Now transpose produces the transpose, while ctranspose produces
the conjugate transpose. These are equal for real numbers, while
for complex numbers only the conjugate transpose is of much use.
2018-05-02 10:14:10 -04:00
jos
68b5e3ffe6 Released v5.2.0 2018-05-02 10:05:16 +02: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 de Jong
04442daf52
Merge branch 'develop' into develop 2018-04-17 20:08:52 +02:00
jos
35dd854d16 Fixed #1082: implemented support for unit plurals decades, centuries, and millennia 2018-04-17 20:02:15 +02:00
Eric Mansfield
2fcec34c9a Fixed year/decade and wrote test for checking in future 2018-04-15 12:59:49 -06: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
7fefa33d84 Fixed #1077: Serialization/deserialization to JSON with reviver not being supported by nodes 2018-04-04 22:09:43 +02:00
jos
21f2d46784 Fixed #1072: Added support for long and short prefixes for the unit bar 2018-04-04 11:35:18 +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
Dakota Blair
c2917dca52 Fixed offset bug. 2018-03-21 19:46:31 +00:00
Dakota Blair
cbcf27282e Updated behavior of nthRoots 2018-03-21 19:05:09 +00:00
Dakota Blair
c591c07347 Fixed #851: More consistent behavior of sqrt, nthRoot, and pow 2018-03-21 19:05:08 +00:00
jos
b00e0b7460 Fixed #1061: math.unit not accepting input like 1/s 2018-03-17 14:01:29 +01: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
e631771df0
Merge branch 'v4' into v4_fn_implicit_multiplication 2018-02-04 11:58:15 +01:00
Jos de Jong
cdda817d9f
Merge pull request #1036 from ericman314/implicit-multiplication
Implicit multiplication
2018-02-04 11:55:15 +01:00