* fix qr and sign edge cases
qr() was throwing an error if the pivots of a matrix were zero.
This commit fixes that and ensures that the results are consistant
with wolfram alpha.
Whilst doing this I found a bug in complex.js, I have added a work
around but we should flag this upstream.
I also addressed the long standing concerns about assert statements
within the body of the qr function.
Fixes#1669Fixes#942
* further improvements to qr and sign
mainly fixing things I got wrong in previous commit
* add array test
* fix: remove only from tests and disallow
Uses mochas `--forbid-only` flag as advised by
https://github.com/standard/standard/issues/988
* Improved performances for isPrime
The prime test performance have been improved compared to previous version.
* Fixed build
* Fixed build for isPrime
* Removed extra semicolons to fix lint
* Allow taking means of quantities with units.
* Fix silly error in test.
The test as written did not test anything about units.
* Fix same error again...
* 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`
* Update combinationsWithRep.js
Instead of always cancelling `n-1 factorial` from the denominator and ignoring `k factorial`, added a conditional to cancel the the larger of the two, therefore further reducing redundant calculations.
* Revert "Update combinationsWithRep.js"
This reverts commit efef6d3bd4c381aa12f00869a7624a622268805c.
* Update combinationsWithRep.js
Instead of always cancelling `n-1 factorial` from the denominator and ignoring `k factorial`, added a conditional to cancel the the larger of the two, therefore further reducing redundant calculations.
* Add one more test for the case: k > n-1
* Refactor single for-loop into two separate ones
* 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`
* 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
* 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
* Fixed unit base recognition and formatting for user-defined units
* Began writing tests for range
* Use fuzzy comparisons for detecting range endpoint
* Fixed unit base recognition and formatting for user-defined units
* Manually copied work from another branch
* Removed semicolons
* Replaced assert.equal with assert.strictEqual
* Added support for bignumber
* Replaced var with const
* Support pow() as an argument for derivative()
Add support for the pow() function as an argument for math.derivative().
Fixes#1259.
* Unit tests for derivatives of pow()
* Support for derivate of pow() function