* setup linting with eslint-config-standard, prettier
* [autofix] npm run lint -- --fix with new setup
* [manual] fix types/ directory errors
* [manual] fix linting errors in test/ directory
* [manual] fix single linting error in src/
* revert ts-expect-error comment change
* error on .only in mocha tests
* fix test description typo
* move some short objects to single line
* add and gitignore eslintcache
* individually suppress ts any
* set --max-warnings to 0
* extract matrices to constants
* update ts-expect-error comments
* Optimize `det`
Use Bareiss algorithm.
The performance is preserved but lessen the round-off errors.
* Optimize `det`
Use index mapping instead of swapping the rows directly.
Run the benchmark to compare the performance.
* Edit test file
Replace `approx.equal` with `assert.strictEqual`.
The test will fail with the previously implemented LU decomposition.
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Also adds the test case that revealed the problem and corrects the other test
case that could have found it except the tolerance had been cranked up very
high.
Resolves#2478.
* doc(map): Clarify the arguments to the callback
Also make the message when there is a type mismatch more detailed.
Resolves#2436.
* test(map): Add tests relevant to new documentation
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
This change fixes a typing problem in complexEigs.js in which
real-valued norms were inadvertently being typed as complex numbers.
Resolves#2439
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* fix toTex(): remove row delimiter on the last row
* remove row delimiter on the last row (use map and join instead of forEach)
* fix ArrayNode.toTex() unit tests incorrectly expecting a row delimiter on the last row
* added toTex() tests for nested cases
* fixed ArrayNode.toTex() for nested cases
* removed redunant variable
* made dense and sparse matrices iterable, fixed#1184
* added matrixFromFunction, fixes#2153
* added tests for matrixFromFunction
* added matrixFromRows
* added matrixFromColumns
* added rows() and columns() for dense matrix
* improved sparse documentation a tiny bit
* fix linting issues
* added matrixFromRow/Column to seealso of row and column
* removed unnecessary duplication from matrixFromRows/Columns
* added babel runtime
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* split the eigs function into multiple algorithms
* moved checks and coersions to eigs.js, made them more robust
* fix little bugs, make im and re more robust
* Implemented matrix balancing algorithm
* fix typos
* a draft of reduction to Hessenberg matrix
* finished implementation of reduction to Hessenberg
* fix Hessenberg elimination for complex numbers
* implemented non-shifted explicit QR algorithm for real matrices
* implemented vector computation, won't work untill usolve is fixed
* refactored to match yarn lint
* some minor changes
* solve merge conflicts
* refactored and re-fixed #1789
* some old uncommited changes
* fix small problems introduced by merging
* done some polishing
* improved jsdoc description of eigs
* little changes in jsdoc
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* emplementing rotate(w, theta)
* will return same type as input
* edge cases arraySize
* rising coverage
* making result type predictable
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* Add `.js` extension to source file imports
* Specify package `exports` in `package.json`
Specify package type as `commonjs` (It's good to be specific)
* Move all compiled scripts into `lib` directory
Remove ./number.js (You can use the compiled ones in `./lib/*`)
Tell node that the `esm` directory is type `module` and enable tree shaking.
Remove unused files from packages `files` property
* Allow importing of package.json
* Make library ESM first
* - Fix merge conflicts
- Refactor `bundleAny` into `defaultInstance.js` and `browserBundle.cjs`
- Refactor unit tests to be able to run with plain nodejs (no transpiling)
- Fix browser examples
* Fix browser and browserstack tests
* Fix running unit tests on Node 10 (which has no support for modules)
* Fix node.js examples (those are still commonjs)
* Remove the need for `browserBundle.cjs`
* Generate minified bundle only
* [Security] Bump node-fetch from 2.6.0 to 2.6.1 (#1963)
Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1. **This update includes a security fix.**
- [Release notes](https://github.com/bitinn/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
* Cleanup console.log
* Add integration tests to test the entry points (commonjs/esm, full/number only)
* Create backward compatibility error messages in the files moved/removed since v8
* Describe breaking changes in HISTORY.md
* Bump karma from 5.2.1 to 5.2.2 (#1965)
Bumps [karma](https://github.com/karma-runner/karma) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v5.2.1...v5.2.2)
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Lee Langley-Rees <lee@greenimp.co.uk>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
* make dot product faster and correct for ℂ
* minor fixes
* added tests, fixed bugs
* add dot for sparse matrices
* make multiply(vec, vec) use dot
* add test for complex vectors
* added test for mul(vec, vec), removed one TODO comment
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* 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>