Skip to content

Adding eigs function #1705

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 86 commits into from
Jan 20, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
fc96de6
eigs test file initialize
arkajitmandal Dec 27, 2019
e46fbb2
file for function for diagonalization of a real symmetrix matrix
arkajitmandal Dec 27, 2019
6d0fbd5
eigs typed function written according to mathjs requirements
arkajitmandal Dec 28, 2019
9fcb8fe
some linting issues addressed
arkajitmandal Dec 28, 2019
85f4fb6
more linting issues in eigs
arkajitmandal Dec 28, 2019
e9a9e85
linting passed for eigs (blank template function)
arkajitmandal Dec 28, 2019
7ebe193
making eigs fail
arkajitmandal Dec 28, 2019
c2cad2a
eigs added to factory any
arkajitmandal Dec 29, 2019
f9e0255
initial check of input in eigs
arkajitmandal Dec 29, 2019
00b047f
linting issues fix in eigs
arkajitmandal Dec 29, 2019
fc1ef1d
added rotation and theta matrix
arkajitmandal Dec 29, 2019
d40cfe8
diagonalization loop added
arkajitmandal Dec 30, 2019
204cb0b
diagonalization result return
arkajitmandal Dec 30, 2019
d182dde
diagonalization returns eigenvalue and eigenvectors
arkajitmandal Dec 30, 2019
0cb5be9
function for updating Sij
arkajitmandal Dec 30, 2019
c2c508d
function for updating matrix
arkajitmandal Dec 30, 2019
df94751
a small bug fix
arkajitmandal Dec 30, 2019
aafb745
some linting fixed in eigs
arkajitmandal Dec 30, 2019
bbfd7ab
lint and bug fix at eigs
arkajitmandal Dec 30, 2019
c023f1a
linting passed in eigs
arkajitmandal Dec 30, 2019
04158dc
tests for input in eigs
arkajitmandal Dec 30, 2019
5ef5a6a
tests for trivial eigenvalue problem (sanity check)
arkajitmandal Dec 30, 2019
5f70cd2
2x2 check for non-diagonal matrix
arkajitmandal Dec 30, 2019
2ec49f8
sorting added to eigs
arkajitmandal Dec 30, 2019
876c4d2
sorting function lint fix in eigs
arkajitmandal Dec 30, 2019
40d2f3e
example for eigs updated
arkajitmandal Dec 30, 2019
5d68114
3x3 diagonalization by eigs passed
arkajitmandal Dec 30, 2019
495d00a
bug in eigenvector
arkajitmandal Dec 30, 2019
0da6652
eigenvalues seem to work
arkajitmandal Dec 30, 2019
abfa4c9
cloning array so that original matrix do not get transformed in eigs
arkajitmandal Dec 30, 2019
a47efaa
eigenvector check
arkajitmandal Dec 30, 2019
76d8466
eigenvector deep check and eigs description modified
arkajitmandal Dec 30, 2019
76b18cb
embedding dos for eigs
arkajitmandal Dec 31, 2019
bd828ca
doc for eigs fix
arkajitmandal Dec 31, 2019
53c807c
Merge branch 'develop' into develop
arkajitmandal Dec 31, 2019
3560fe6
slight change in example
arkajitmandal Jan 3, 2020
b54bd5f
adding checkInput type
arkajitmandal Jan 3, 2020
41b8969
type error for bad matrix elements
arkajitmandal Jan 4, 2020
dd6c721
type error for every element
arkajitmandal Jan 4, 2020
47beed7
name change for typecheck function
arkajitmandal Jan 4, 2020
08bc63e
check matrix type of array input
arkajitmandal Jan 4, 2020
ca65b16
type error message update in eigs
arkajitmandal Jan 4, 2020
94f0137
type error message grammer in eigs
arkajitmandal Jan 4, 2020
d065183
eigs bug fix
arkajitmandal Jan 4, 2020
fe32cbe
eigs bug fix in check function
arkajitmandal Jan 4, 2020
6c5e648
eigs typecheck test
arkajitmandal Jan 4, 2020
7e48160
some lint fix in eigs and corresponding tests
arkajitmandal Jan 4, 2020
f3776f8
before adding bingNumber implementation in eigs
arkajitmandal Jan 4, 2020
9314dae
Merge branch 'develop' of https://github.com/arkajitmandal/mathjs int…
arkajitmandal Jan 4, 2020
6725b8b
Merge branch 'develop' into develop
josdejong Jan 4, 2020
3f5c1ac
support for fractions
arkajitmandal Jan 4, 2020
f60b8e0
Merge branch 'develop' into develop
arkajitmandal Jan 4, 2020
e9bb41d
obtain angle for bigNumber type
arkajitmandal Jan 5, 2020
af185a3
theta for bignumbers
arkajitmandal Jan 8, 2020
8fd3cfd
update overlap for bigNumber
arkajitmandal Jan 8, 2020
841a432
jacobi rotation of input matrix for BigNumbers
arkajitmandal Jan 8, 2020
903f44a
largest element for bigNumbers
arkajitmandal Jan 8, 2020
0cd4d4e
diagonalization for bigNumbers
arkajitmandal Jan 8, 2020
1326101
adding dependedncies
arkajitmandal Jan 8, 2020
44efc63
diagonization for bigNumber
arkajitmandal Jan 8, 2020
3855cce
diag for bigNumber is tested
arkajitmandal Jan 8, 2020
45e96ca
linting fix for eig and eigs test
arkajitmandal Jan 8, 2020
d10be81
Merge branch 'develop' into develop
arkajitmandal Jan 8, 2020
702907d
Merge branch 'develop' of https://github.com/arkajitmandal/mathjs int…
arkajitmandal Jan 8, 2020
f3ddbee
problem for bigNumber fix
arkajitmandal Jan 8, 2020
fada250
Merge branch 'develop' into develop
josdejong Jan 9, 2020
be87bc0
error message modification for eigs
arkajitmandal Jan 11, 2020
804b22e
more coverage for eigs function
arkajitmandal Jan 11, 2020
4caf747
eigs test bug fix
arkajitmandal Jan 11, 2020
7c0c3b6
Merge branch 'develop' of https://github.com/arkajitmandal/mathjs int…
arkajitmandal Jan 11, 2020
400d575
Merge branch 'develop' into develop
arkajitmandal Jan 11, 2020
4a45d86
Merge branch 'develop' into develop
arkajitmandal Jan 15, 2020
ff44505
Merge branch 'develop' into develop
josdejong Jan 15, 2020
8d35748
simplify test
arkajitmandal Jan 17, 2020
38a470f
is Symmetric function
arkajitmandal Jan 20, 2020
a5feabe
use matrix instead in eigs
arkajitmandal Jan 20, 2020
7741b8b
slight cleanup
arkajitmandal Jan 20, 2020
0831615
is symmetric bug fix
arkajitmandal Jan 20, 2020
aeff71e
no need to return in isSymmetrix
arkajitmandal Jan 20, 2020
f0a6b45
small bug fix for fractions
arkajitmandal Jan 20, 2020
530a356
using scalar function when possible
arkajitmandal Jan 20, 2020
5cdd2bf
small lint correction
arkajitmandal Jan 20, 2020
68ea8ed
return object in eigs
arkajitmandal Jan 20, 2020
dfcb206
bug fix in array eigs
arkajitmandal Jan 20, 2020
d9342df
test object implementation
arkajitmandal Jan 20, 2020
dd21ee8
description update
arkajitmandal Jan 20, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/expression/embeddedDocs/embeddedDocs.js
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ import { floorDocs } from './function/arithmetic/floor'
import { fixDocs } from './function/arithmetic/fix'
import { expm1Docs } from './function/arithmetic/expm1'
import { expmDocs } from './function/arithmetic/expm'
import { eigsDocs } from './function/matrix/eigs'
import { expDocs } from './function/arithmetic/exp'
import { dotMultiplyDocs } from './function/arithmetic/dotMultiply'
import { dotDivideDocs } from './function/arithmetic/dotDivide'
Expand Down Expand Up @@ -409,6 +410,7 @@ export const embeddedDocs = {
flatten: flattenDocs,
forEach: forEachDocs,
inv: invDocs,
eigs: eigsDocs,
kron: kronDocs,
map: mapDocs,
ones: onesDocs,
Expand Down
14 changes: 14 additions & 0 deletions src/expression/embeddedDocs/function/matrix/eigs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
export const eigsDocs = {
name: 'eigs',
category: 'Matrix',
syntax: [
'eigs(x)'
],
description: 'Calculate the eigenvalues and eigenvectors of a real symmetric matrix',
examples: [
'eigs([[5, 2.3], [2.3, 1]])'
],
seealso: [
'inv'
]
}
1 change: 1 addition & 0 deletions src/factoriesAny.js
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ export { createHelp } from './expression/function/help'
export { createChain } from './type/chain/function/chain'
export { createDet } from './function/matrix/det'
export { createInv } from './function/matrix/inv'
export { createEigs } from './function/matrix/eigs'
export { createExpm } from './function/matrix/expm'
export { createSqrtm } from './function/matrix/sqrtm'
export { createDivide } from './function/arithmetic/divide'
Expand Down
Loading