mathjs 13.0.2 → 13.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/HISTORY.md +26 -1
- package/lib/browser/math.js +1 -1
- package/lib/browser/math.js.LICENSE.txt +2 -2
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/core/create.js +12 -9
- package/lib/cjs/core/function/import.js +1 -1
- package/lib/cjs/core/function/typed.js +3 -4
- package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
- package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
- package/lib/cjs/entry/impureFunctionsAny.generated.js +2 -2
- package/lib/cjs/entry/pureFunctionsAny.generated.js +6 -8
- package/lib/cjs/entry/typeChecks.js +18 -0
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +2 -2
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/kron.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/matrix/map.js +3 -3
- package/lib/cjs/expression/embeddedDocs/function/special/zeta.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
- package/lib/cjs/expression/embeddedDocs/function/utils/clone.js +1 -1
- package/lib/cjs/expression/function/evaluate.js +5 -0
- package/lib/cjs/expression/node/FunctionNode.js +1 -1
- package/lib/cjs/expression/transform/filter.transform.js +2 -2
- package/lib/cjs/expression/transform/map.transform.js +104 -37
- package/lib/cjs/expression/transform/utils/dimToZeroBase.js +23 -0
- package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +3 -4
- package/lib/cjs/function/arithmetic/hypot.js +3 -3
- package/lib/cjs/function/matrix/apply.js +1 -1
- package/lib/cjs/function/matrix/fft.js +3 -3
- package/lib/cjs/function/matrix/filter.js +2 -2
- package/lib/cjs/function/matrix/flatten.js +5 -6
- package/lib/cjs/function/matrix/ifft.js +2 -2
- package/lib/cjs/function/matrix/kron.js +4 -4
- package/lib/cjs/function/matrix/map.js +109 -18
- package/lib/cjs/function/matrix/size.js +7 -7
- package/lib/cjs/function/matrix/squeeze.js +3 -4
- package/lib/cjs/function/probability/random.js +1 -1
- package/lib/cjs/function/probability/randomInt.js +1 -1
- package/lib/cjs/function/statistics/cumsum.js +2 -2
- package/lib/cjs/function/trigonometry/acoth.js +2 -2
- package/lib/cjs/function/trigonometry/acsch.js +2 -2
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/type/matrix/DenseMatrix.js +3 -28
- package/lib/cjs/type/matrix/SparseMatrix.js +5 -8
- package/lib/cjs/type/unit/Unit.js +57 -114
- package/lib/cjs/utils/array.js +27 -0
- package/lib/cjs/utils/collection.js +1 -1
- package/lib/cjs/utils/function.js +0 -14
- package/lib/cjs/utils/is.js +27 -0
- package/lib/cjs/utils/map.js +2 -20
- package/lib/cjs/version.js +1 -1
- package/lib/esm/core/create.js +9 -6
- package/lib/esm/core/function/import.js +1 -1
- package/lib/esm/core/function/typed.js +2 -3
- package/lib/esm/entry/dependenciesAny/dependenciesFlatten.generated.js +0 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSqueeze.generated.js +0 -2
- package/lib/esm/entry/impureFunctionsAny.generated.js +3 -3
- package/lib/esm/entry/pureFunctionsAny.generated.js +7 -9
- package/lib/esm/entry/typeChecks.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/arithmetic/hypot.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/kron.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/map.js +3 -3
- package/lib/esm/expression/embeddedDocs/function/special/zeta.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/quantileSeq.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/trigonometry/acoth.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/trigonometry/acsch.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/utils/clone.js +1 -1
- package/lib/esm/expression/function/compile.js +1 -1
- package/lib/esm/expression/function/evaluate.js +8 -3
- package/lib/esm/expression/node/FunctionNode.js +1 -1
- package/lib/esm/expression/parse.js +2 -2
- package/lib/esm/expression/transform/filter.transform.js +4 -4
- package/lib/esm/expression/transform/forEach.transform.js +4 -4
- package/lib/esm/expression/transform/map.transform.js +104 -37
- package/lib/esm/expression/transform/print.transform.js +2 -2
- package/lib/esm/expression/transform/utils/dimToZeroBase.js +16 -0
- package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +4 -6
- package/lib/esm/function/algebra/decomposition/slu.js +1 -1
- package/lib/esm/function/algebra/derivative.js +15 -15
- package/lib/esm/function/algebra/lyap.js +4 -4
- package/lib/esm/function/algebra/simplify/util.js +3 -3
- package/lib/esm/function/algebra/simplifyConstant.js +9 -9
- package/lib/esm/function/algebra/solver/lsolve.js +3 -3
- package/lib/esm/function/algebra/solver/lsolveAll.js +3 -3
- package/lib/esm/function/algebra/solver/lusolve.js +5 -5
- package/lib/esm/function/algebra/solver/usolve.js +3 -3
- package/lib/esm/function/algebra/solver/usolveAll.js +3 -3
- package/lib/esm/function/algebra/sylvester.js +7 -7
- package/lib/esm/function/arithmetic/addScalar.js +4 -4
- package/lib/esm/function/arithmetic/ceil.js +6 -6
- package/lib/esm/function/arithmetic/divide.js +5 -5
- package/lib/esm/function/arithmetic/divideScalar.js +5 -5
- package/lib/esm/function/arithmetic/fix.js +5 -5
- package/lib/esm/function/arithmetic/floor.js +6 -6
- package/lib/esm/function/arithmetic/hypot.js +3 -3
- package/lib/esm/function/arithmetic/mod.js +3 -3
- package/lib/esm/function/arithmetic/multiply.js +7 -7
- package/lib/esm/function/arithmetic/multiplyScalar.js +4 -4
- package/lib/esm/function/arithmetic/norm.js +2 -2
- package/lib/esm/function/arithmetic/pow.js +6 -6
- package/lib/esm/function/arithmetic/round.js +7 -7
- package/lib/esm/function/arithmetic/subtractScalar.js +4 -4
- package/lib/esm/function/arithmetic/xgcd.js +1 -1
- package/lib/esm/function/combinatorics/bellNumbers.js +1 -1
- package/lib/esm/function/combinatorics/catalan.js +1 -1
- package/lib/esm/function/combinatorics/composition.js +1 -1
- package/lib/esm/function/combinatorics/stirlingS2.js +1 -1
- package/lib/esm/function/geometry/distance.js +4 -4
- package/lib/esm/function/geometry/intersect.js +2 -2
- package/lib/esm/function/logical/and.js +2 -2
- package/lib/esm/function/logical/or.js +2 -2
- package/lib/esm/function/logical/xor.js +2 -2
- package/lib/esm/function/matrix/apply.js +2 -2
- package/lib/esm/function/matrix/column.js +1 -1
- package/lib/esm/function/matrix/concat.js +1 -1
- package/lib/esm/function/matrix/count.js +1 -1
- package/lib/esm/function/matrix/cross.js +3 -3
- package/lib/esm/function/matrix/diag.js +10 -10
- package/lib/esm/function/matrix/diff.js +2 -2
- package/lib/esm/function/matrix/eigs.js +3 -3
- package/lib/esm/function/matrix/fft.js +3 -3
- package/lib/esm/function/matrix/filter.js +4 -4
- package/lib/esm/function/matrix/flatten.js +5 -6
- package/lib/esm/function/matrix/forEach.js +4 -4
- package/lib/esm/function/matrix/identity.js +6 -6
- package/lib/esm/function/matrix/ifft.js +3 -3
- package/lib/esm/function/matrix/inv.js +1 -1
- package/lib/esm/function/matrix/kron.js +7 -7
- package/lib/esm/function/matrix/map.js +110 -19
- package/lib/esm/function/matrix/matrixFromFunction.js +6 -6
- package/lib/esm/function/matrix/ones.js +2 -2
- package/lib/esm/function/matrix/partitionSelect.js +2 -2
- package/lib/esm/function/matrix/pinv.js +1 -1
- package/lib/esm/function/matrix/range.js +10 -10
- package/lib/esm/function/matrix/reshape.js +2 -2
- package/lib/esm/function/matrix/rotate.js +4 -4
- package/lib/esm/function/matrix/rotationMatrix.js +6 -6
- package/lib/esm/function/matrix/row.js +1 -1
- package/lib/esm/function/matrix/size.js +8 -8
- package/lib/esm/function/matrix/sort.js +4 -4
- package/lib/esm/function/matrix/sqrtm.js +1 -1
- package/lib/esm/function/matrix/squeeze.js +3 -4
- package/lib/esm/function/matrix/subset.js +2 -2
- package/lib/esm/function/matrix/zeros.js +2 -2
- package/lib/esm/function/probability/combinations.js +1 -1
- package/lib/esm/function/probability/combinationsWithRep.js +2 -2
- package/lib/esm/function/probability/kldivergence.js +4 -4
- package/lib/esm/function/probability/multinomial.js +1 -1
- package/lib/esm/function/probability/permutations.js +2 -2
- package/lib/esm/function/probability/pickRandom.js +6 -6
- package/lib/esm/function/probability/random.js +1 -1
- package/lib/esm/function/probability/randomInt.js +1 -1
- package/lib/esm/function/relational/compare.js +6 -6
- package/lib/esm/function/relational/deepEqual.js +1 -1
- package/lib/esm/function/relational/equal.js +1 -1
- package/lib/esm/function/relational/equalScalar.js +7 -7
- package/lib/esm/function/relational/equalText.js +1 -1
- package/lib/esm/function/relational/larger.js +3 -3
- package/lib/esm/function/relational/largerEq.js +4 -4
- package/lib/esm/function/relational/smaller.js +3 -3
- package/lib/esm/function/relational/smallerEq.js +3 -3
- package/lib/esm/function/relational/unequal.js +1 -1
- package/lib/esm/function/set/setCartesian.js +1 -1
- package/lib/esm/function/set/setDifference.js +1 -1
- package/lib/esm/function/set/setDistinct.js +1 -1
- package/lib/esm/function/set/setIntersect.js +1 -1
- package/lib/esm/function/set/setIsSubset.js +1 -1
- package/lib/esm/function/set/setMultiplicity.js +1 -1
- package/lib/esm/function/set/setPowerset.js +1 -1
- package/lib/esm/function/set/setSize.js +2 -2
- package/lib/esm/function/set/setSymDifference.js +1 -1
- package/lib/esm/function/set/setUnion.js +1 -1
- package/lib/esm/function/signal/freqz.js +6 -6
- package/lib/esm/function/statistics/corr.js +2 -2
- package/lib/esm/function/statistics/cumsum.js +3 -3
- package/lib/esm/function/statistics/max.js +1 -1
- package/lib/esm/function/statistics/median.js +3 -3
- package/lib/esm/function/statistics/min.js +1 -1
- package/lib/esm/function/statistics/prod.js +1 -1
- package/lib/esm/function/statistics/variance.js +2 -2
- package/lib/esm/function/string/bin.js +2 -2
- package/lib/esm/function/string/hex.js +2 -2
- package/lib/esm/function/string/oct.js +2 -2
- package/lib/esm/function/trigonometry/acoth.js +2 -2
- package/lib/esm/function/trigonometry/acsch.js +2 -2
- package/lib/esm/type/bigint.js +1 -1
- package/lib/esm/type/complex/function/complex.js +2 -2
- package/lib/esm/type/fraction/function/fraction.js +1 -1
- package/lib/esm/type/matrix/DenseMatrix.js +13 -38
- package/lib/esm/type/matrix/SparseMatrix.js +5 -8
- package/lib/esm/type/matrix/function/index.js +1 -1
- package/lib/esm/type/matrix/function/matrix.js +1 -1
- package/lib/esm/type/matrix/function/sparse.js +2 -2
- package/lib/esm/type/number.js +1 -1
- package/lib/esm/type/unit/Unit.js +57 -114
- package/lib/esm/type/unit/function/createUnit.js +3 -3
- package/lib/esm/type/unit/function/splitUnit.js +1 -1
- package/lib/esm/type/unit/function/unit.js +2 -2
- package/lib/esm/utils/array.js +26 -0
- package/lib/esm/utils/collection.js +1 -1
- package/lib/esm/utils/function.js +0 -13
- package/lib/esm/utils/is.js +24 -0
- package/lib/esm/utils/map.js +2 -19
- package/lib/esm/version.js +1 -1
- package/package.json +19 -19
- package/types/index.d.ts +108 -25
@@ -5,7 +5,7 @@
|
|
5
5
|
import { config } from './configReadonly.js';
|
6
6
|
import { createBigNumberClass, createComplexClass, createE, createFalse, createFineStructure, createFractionClass, createI, createInfinity, createLN10, createLOG10E, createMatrixClass, createNaN, createNull, createPhi, createRangeClass, createResultSet, createSQRT1_2,
|
7
7
|
// eslint-disable-line camelcase
|
8
|
-
createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBigint, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCos, createCot, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createSubtractScalar, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBignumber, createCombinationsWithRep, createCosh, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createBin, createCoth, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize,
|
8
|
+
createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBigint, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCos, createCot, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createFlatten, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createSubtractScalar, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBignumber, createCombinationsWithRep, createCosh, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createSqueeze, createTanh, createUnaryMinus, createAcoth, createBin, createCoth, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMode, createNumeric, createProd, createReshape, createSize, createTranspose, createXgcd, createZeros, createAsin, createCbrt, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createHasNumericValue, createIdentity, createKron, createLargerEq, createLeftShift, createLsolve, createMatrixFromColumns, createNthRoot, createOnes, createQr, createResize, createRightArithShift, createRound, createSmaller, createSubtract, createTo, createUnaryPlus, createUsolve, createXor, createAdd, createAtan2, createBitAnd, createBitOr, createBitXor, createCatalan, createCompare, createCompareText, createCumSum, createDeepEqual, createDiff, createDistance, createDot, createEqualText, createFloor, createGcd, createHypot, createImmutableDenseMatrixClass, createIndexClass, createLarger, createLog, createLsolveAll, createMatrixFromRows, createMin, createMod, createMultiply, createNthRoots, createOr, createPartitionSelect, createRightLogShift, createSlu, createSubset, createSum, createTrace, createUsolveAll, createZpk2tf, createCeil, createCompareNatural, createComposition, createCross, createDet, createDotMultiply, createFibonacciHeapClass, createFix, createIndex, createIntersect, createInvmod, createLcm, createLog1p, createMax, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSmallerEq, createSort, createUnequal, createAnd, createRange, createRow, createSetDifference, createSetMultiplicity, createSetSymDifference, createSpaClass, createColumn, createInv, createLup, createPinv, createPow, createSetIntersect, createSetUnion, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCoulomb, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFft, createGamma, createGravitationConstant, createHartreeEnergy, createIfft, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createQuantumOfCirculation, createReducedPlanckConstant, createRydberg, createSecondRadiation, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCreateUnit, createDivide, createElectronMass, createFactorial, createFirstRadiation, createGravity, createInverseConductanceQuantum, createLusolve, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetSize, createSolveODE, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createGasConstant, createKldivergence, createMean, createMolarVolume, createPlanckConstant, createQuantileSeq, createVariance, createClassicalElectronRadius, createMedian, createCorr, createFreqz, createMad, createStd, createZeta, createNorm, createRotationMatrix, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js';
|
9
9
|
export var BigNumber = /* #__PURE__ */createBigNumberClass({
|
10
10
|
config
|
11
11
|
});
|
@@ -185,6 +185,9 @@ export var expm1 = /* #__PURE__ */createExpm1({
|
|
185
185
|
export var filter = /* #__PURE__ */createFilter({
|
186
186
|
typed
|
187
187
|
});
|
188
|
+
export var flatten = /* #__PURE__ */createFlatten({
|
189
|
+
typed
|
190
|
+
});
|
188
191
|
export var forEach = /* #__PURE__ */createForEach({
|
189
192
|
typed
|
190
193
|
});
|
@@ -359,6 +362,9 @@ export var sqrt = /* #__PURE__ */createSqrt({
|
|
359
362
|
config,
|
360
363
|
typed
|
361
364
|
});
|
365
|
+
export var squeeze = /* #__PURE__ */createSqueeze({
|
366
|
+
typed
|
367
|
+
});
|
362
368
|
export var tanh = /* #__PURE__ */createTanh({
|
363
369
|
typed
|
364
370
|
});
|
@@ -423,10 +429,6 @@ export var size = /* #__PURE__ */createSize({
|
|
423
429
|
config,
|
424
430
|
typed
|
425
431
|
});
|
426
|
-
export var squeeze = /* #__PURE__ */createSqueeze({
|
427
|
-
matrix,
|
428
|
-
typed
|
429
|
-
});
|
430
432
|
export var transpose = /* #__PURE__ */createTranspose({
|
431
433
|
matrix,
|
432
434
|
typed
|
@@ -498,10 +500,6 @@ export var equal = /* #__PURE__ */createEqual({
|
|
498
500
|
matrix,
|
499
501
|
typed
|
500
502
|
});
|
501
|
-
export var flatten = /* #__PURE__ */createFlatten({
|
502
|
-
matrix,
|
503
|
-
typed
|
504
|
-
});
|
505
503
|
export var hasNumericValue = /* #__PURE__ */createHasNumericValue({
|
506
504
|
isNumeric,
|
507
505
|
typed
|
@@ -1,2 +1,2 @@
|
|
1
1
|
// util functions
|
2
|
-
export { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBigInt, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isString, isUndefined, isObject, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isSymbolNode, isUnit } from '../utils/is.js';
|
2
|
+
export { isAccessorNode, isArray, isArrayNode, isAssignmentNode, isBigNumber, isBigInt, isBlockNode, isBoolean, isChain, isCollection, isComplex, isConditionalNode, isConstantNode, isDate, isDenseMatrix, isFraction, isFunction, isFunctionAssignmentNode, isFunctionNode, isHelp, isIndex, isIndexNode, isMatrix, isNode, isNull, isNumber, isString, isUndefined, isObject, isMap, isPartitionedMap, isObjectWrappingMap, isObjectNode, isOperatorNode, isParenthesisNode, isRange, isRangeNode, isRelationalNode, isRegExp, isResultSet, isSparseMatrix, isSymbolNode, isUnit } from '../utils/is.js';
|
@@ -316,7 +316,7 @@ export var embeddedDocs = {
|
|
316
316
|
examples: ['elementaryCharge']
|
317
317
|
},
|
318
318
|
bohrMagneton: {
|
319
|
-
description: '
|
319
|
+
description: 'Bohr magneton',
|
320
320
|
examples: ['bohrMagneton']
|
321
321
|
},
|
322
322
|
conductanceQuantum: {
|
@@ -341,7 +341,7 @@ export var embeddedDocs = {
|
|
341
341
|
examples: ['klitzing']
|
342
342
|
},
|
343
343
|
bohrRadius: {
|
344
|
-
description: '
|
344
|
+
description: 'Bohr radius',
|
345
345
|
examples: ['bohrRadius']
|
346
346
|
},
|
347
347
|
classicalElectronRadius: {
|
@@ -2,7 +2,7 @@ export var hypotDocs = {
|
|
2
2
|
name: 'hypot',
|
3
3
|
category: 'Arithmetic',
|
4
4
|
syntax: ['hypot(a, b, c, ...)', 'hypot([a, b, c, ...])'],
|
5
|
-
description: 'Calculate the
|
5
|
+
description: 'Calculate the hypotenuse of a list with values.',
|
6
6
|
examples: ['hypot(3, 4)', 'sqrt(3^2 + 4^2)', 'hypot(-2)', 'hypot([3, 4, 5])'],
|
7
7
|
seealso: ['abs', 'norm']
|
8
8
|
};
|
@@ -2,7 +2,7 @@ export var diffDocs = {
|
|
2
2
|
name: 'diff',
|
3
3
|
category: 'Matrix',
|
4
4
|
syntax: ['diff(arr)', 'diff(arr, dim)'],
|
5
|
-
description: ['Create a new matrix or array with the difference of the passed matrix or array.', 'Dim parameter is optional and used to
|
5
|
+
description: ['Create a new matrix or array with the difference of the passed matrix or array.', 'Dim parameter is optional and used to indicate the dimension of the array/matrix to apply the difference', 'If no dimension parameter is passed it is assumed as dimension 0', 'Dimension is zero-based in javascript and one-based in the parser', 'Arrays must be \'rectangular\' meaning arrays like [1, 2]', 'If something is passed as a matrix it will be returned as a matrix but other than that all matrices are converted to arrays'],
|
6
6
|
examples: ['A = [1, 2, 4, 7, 0]', 'diff(A)', 'diff(A, 1)', 'B = [[1, 2], [3, 4]]', 'diff(B)', 'diff(B, 1)', 'diff(B, 2)', 'diff(B, bignumber(2))', 'diff([[1, 2], matrix([3, 4])], 2)'],
|
7
7
|
seealso: ['subtract', 'partitionSelect']
|
8
8
|
};
|
@@ -2,7 +2,7 @@ export var ifftDocs = {
|
|
2
2
|
name: 'ifft',
|
3
3
|
category: 'Matrix',
|
4
4
|
syntax: ['ifft(x)'],
|
5
|
-
description: 'Calculate N-dimensional inverse
|
5
|
+
description: 'Calculate N-dimensional inverse Fourier transform',
|
6
6
|
examples: ['ifft([[2, 2], [0, 0]])'],
|
7
7
|
seealso: ['fft']
|
8
8
|
};
|
@@ -2,7 +2,7 @@ export var kronDocs = {
|
|
2
2
|
name: 'kron',
|
3
3
|
category: 'Matrix',
|
4
4
|
syntax: ['kron(x, y)'],
|
5
|
-
description: 'Calculates the
|
5
|
+
description: 'Calculates the Kronecker product of 2 matrices or vectors.',
|
6
6
|
examples: ['kron([[1, 0], [0, 1]], [[1, 2], [3, 4]])', 'kron([1,1], [2,3,4])'],
|
7
7
|
seealso: ['multiply', 'dot', 'cross']
|
8
8
|
};
|
@@ -1,8 +1,8 @@
|
|
1
1
|
export var mapDocs = {
|
2
2
|
name: 'map',
|
3
3
|
category: 'Matrix',
|
4
|
-
syntax: ['map(x, callback)'],
|
5
|
-
description: 'Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array.',
|
6
|
-
examples: ['map([1, 2, 3], square)'],
|
4
|
+
syntax: ['map(x, callback)', 'map(x, y, ..., callback)'],
|
5
|
+
description: 'Create a new matrix or array with the results of the callback function executed on each entry of the matrix/array or the matrices/arrays.',
|
6
|
+
examples: ['map([1, 2, 3], square)', 'map([1, 2], [3, 4], f(a,b) = a + b)'],
|
7
7
|
seealso: ['filter', 'forEach']
|
8
8
|
};
|
@@ -2,7 +2,7 @@ export var zetaDocs = {
|
|
2
2
|
name: 'zeta',
|
3
3
|
category: 'Special',
|
4
4
|
syntax: ['zeta(s)'],
|
5
|
-
description: 'Compute the Riemann Zeta Function using an infinite series and
|
5
|
+
description: 'Compute the Riemann Zeta Function using an infinite series and Riemann\'s Functional Equation for the entire complex plane',
|
6
6
|
examples: ['zeta(0.2)', 'zeta(-0.5)', 'zeta(4)'],
|
7
7
|
seealso: []
|
8
8
|
};
|
@@ -2,7 +2,7 @@ export var quantileSeqDocs = {
|
|
2
2
|
name: 'quantileSeq',
|
3
3
|
category: 'Statistics',
|
4
4
|
syntax: ['quantileSeq(A, prob[, sorted])', 'quantileSeq(A, [prob1, prob2, ...][, sorted])', 'quantileSeq(A, N[, sorted])'],
|
5
|
-
description: 'Compute the prob order quantile of a matrix or a list with values. The sequence is sorted and the middle value is returned. Supported types of sequence values are: Number, BigNumber, Unit Supported types of
|
5
|
+
description: 'Compute the prob order quantile of a matrix or a list with values. The sequence is sorted and the middle value is returned. Supported types of sequence values are: Number, BigNumber, Unit Supported types of probability are: Number, BigNumber. \n\nIn case of a (multi dimensional) array or matrix, the prob order quantile of all elements will be calculated.',
|
6
6
|
examples: ['quantileSeq([3, -1, 5, 7], 0.5)', 'quantileSeq([3, -1, 5, 7], [1/3, 2/3])', 'quantileSeq([3, -1, 5, 7], 2)', 'quantileSeq([-1, 3, 5, 7], 0.5, true)'],
|
7
7
|
seealso: ['mean', 'median', 'min', 'max', 'prod', 'std', 'sum', 'variance']
|
8
8
|
};
|
@@ -2,7 +2,7 @@ export var acothDocs = {
|
|
2
2
|
name: 'acoth',
|
3
3
|
category: 'Trigonometry',
|
4
4
|
syntax: ['acoth(x)'],
|
5
|
-
description: 'Calculate the hyperbolic
|
5
|
+
description: 'Calculate the inverse hyperbolic tangent of a value, defined as `acoth(x) = (ln((x+1)/x) + ln(x/(x-1))) / 2`.',
|
6
6
|
examples: ['acoth(2)', 'acoth(0.5)'],
|
7
7
|
seealso: ['acsch', 'asech']
|
8
8
|
};
|
@@ -2,7 +2,7 @@ export var acschDocs = {
|
|
2
2
|
name: 'acsch',
|
3
3
|
category: 'Trigonometry',
|
4
4
|
syntax: ['acsch(x)'],
|
5
|
-
description: 'Calculate the hyperbolic
|
5
|
+
description: 'Calculate the inverse hyperbolic cosecant of a value, defined as `acsch(x) = ln(1/x + sqrt(1/x^2 + 1))`.',
|
6
6
|
examples: ['acsch(0.5)'],
|
7
7
|
seealso: ['asech', 'acoth']
|
8
8
|
};
|
@@ -2,7 +2,7 @@ export var cloneDocs = {
|
|
2
2
|
name: 'clone',
|
3
3
|
category: 'Utils',
|
4
4
|
syntax: ['clone(x)'],
|
5
|
-
description: 'Clone a variable. Creates a copy of primitive variables,and a deep copy of matrices',
|
5
|
+
description: 'Clone a variable. Creates a copy of primitive variables, and a deep copy of matrices',
|
6
6
|
examples: ['clone(3.5)', 'clone(2 - 4i)', 'clone(45 deg)', 'clone([1, 2; 3, 4])', 'clone("hello world")'],
|
7
7
|
seealso: []
|
8
8
|
};
|
@@ -45,7 +45,7 @@ export var createCompile = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
45
45
|
string: function string(expr) {
|
46
46
|
return parse(expr).compile();
|
47
47
|
},
|
48
|
-
'Array | Matrix': function
|
48
|
+
'Array | Matrix': function Array__Matrix(expr) {
|
49
49
|
return deepMap(expr, function (entry) {
|
50
50
|
return parse(entry).compile();
|
51
51
|
});
|
@@ -11,6 +11,11 @@ export var createEvaluate = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
11
11
|
/**
|
12
12
|
* Evaluate an expression.
|
13
13
|
*
|
14
|
+
* The expression parser does not use JavaScript. Its syntax is close
|
15
|
+
* to JavaScript but more suited for mathematical expressions.
|
16
|
+
* See [https://mathjs.org/docs/expressions/syntax.html](https://mathjs.org/docs/expressions/syntax.html) to learn
|
17
|
+
* the syntax and get an overview of the exact differences from JavaScript.
|
18
|
+
*
|
14
19
|
* Note the evaluating arbitrary expressions may involve security risks,
|
15
20
|
* see [https://mathjs.org/docs/expressions/security.html](https://mathjs.org/docs/expressions/security.html) for more information.
|
16
21
|
*
|
@@ -45,16 +50,16 @@ export var createEvaluate = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
45
50
|
var scope = createEmptyMap();
|
46
51
|
return parse(expr).compile().evaluate(scope);
|
47
52
|
},
|
48
|
-
'string, Map | Object': function
|
53
|
+
'string, Map | Object': function string_Map__Object(expr, scope) {
|
49
54
|
return parse(expr).compile().evaluate(scope);
|
50
55
|
},
|
51
|
-
'Array | Matrix': function
|
56
|
+
'Array | Matrix': function Array__Matrix(expr) {
|
52
57
|
var scope = createEmptyMap();
|
53
58
|
return deepMap(expr, function (entry) {
|
54
59
|
return parse(entry).compile().evaluate(scope);
|
55
60
|
});
|
56
61
|
},
|
57
|
-
'Array | Matrix, Map | Object': function
|
62
|
+
'Array | Matrix, Map | Object': function Array__Matrix_Map__Object(expr, scope) {
|
58
63
|
return deepMap(expr, function (entry) {
|
59
64
|
return parse(entry).compile().evaluate(scope);
|
60
65
|
});
|
@@ -97,7 +97,7 @@ export var createFunctionNode = /* #__PURE__ */factory(name, dependencies, _ref
|
|
97
97
|
* invoke a list with arguments on a node
|
98
98
|
* @param {./Node | string} fn
|
99
99
|
* Item resolving to a function on which to invoke
|
100
|
-
* the arguments, typically a
|
100
|
+
* the arguments, typically a SymbolNode or AccessorNode
|
101
101
|
* @param {./Node[]} args
|
102
102
|
*/
|
103
103
|
constructor(fn, args) {
|
@@ -70,10 +70,10 @@ export var createParse = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
70
70
|
string: function string(expression) {
|
71
71
|
return parseStart(expression, {});
|
72
72
|
},
|
73
|
-
'Array | Matrix': function
|
73
|
+
'Array | Matrix': function Array__Matrix(expressions) {
|
74
74
|
return parseMultiple(expressions, {});
|
75
75
|
},
|
76
|
-
'string, Object': function
|
76
|
+
'string, Object': function string_Object(expression, options) {
|
77
77
|
var extraNodes = options.nodes !== undefined ? options.nodes : {};
|
78
78
|
return parseStart(expression, extraNodes);
|
79
79
|
},
|
@@ -37,12 +37,12 @@ export var createFilterTransform = /* #__PURE__ */factory(name, dependencies, _r
|
|
37
37
|
// one based version of function filter
|
38
38
|
var filter = typed('filter', {
|
39
39
|
'Array, function': _filter,
|
40
|
-
'Matrix, function': function
|
41
|
-
return x.create(_filter(x.toArray(), test));
|
40
|
+
'Matrix, function': function Matrix_function(x, test) {
|
41
|
+
return x.create(_filter(x.toArray(), test), x.datatype());
|
42
42
|
},
|
43
43
|
'Array, RegExp': filterRegExp,
|
44
|
-
'Matrix, RegExp': function
|
45
|
-
return x.create(filterRegExp(x.toArray(), test));
|
44
|
+
'Matrix, RegExp': function Matrix_RegExp(x, test) {
|
45
|
+
return x.create(filterRegExp(x.toArray(), test), x.datatype());
|
46
46
|
}
|
47
47
|
});
|
48
48
|
return filterTransform;
|
@@ -35,19 +35,19 @@ export var createForEachTransform = /* #__PURE__ */factory(name, dependencies, _
|
|
35
35
|
|
36
36
|
// one-based version of forEach
|
37
37
|
var _forEach = typed('forEach', {
|
38
|
-
'Array | Matrix, function': function
|
39
|
-
var
|
38
|
+
'Array | Matrix, function': function Array__Matrix_function(array, callback) {
|
39
|
+
var _recurse = function recurse(value, index) {
|
40
40
|
if (Array.isArray(value)) {
|
41
41
|
forEach(value, function (child, i) {
|
42
42
|
// we create a copy of the index array and append the new index value
|
43
|
-
|
43
|
+
_recurse(child, index.concat(i + 1)); // one based index, hence i+1
|
44
44
|
});
|
45
45
|
} else {
|
46
46
|
// invoke the callback function with the right number of arguments
|
47
47
|
return applyCallback(callback, value, index, array, 'forEach');
|
48
48
|
}
|
49
49
|
};
|
50
|
-
|
50
|
+
_recurse(array.valueOf(), []); // pass Array
|
51
51
|
}
|
52
52
|
});
|
53
53
|
return forEachTransform;
|
@@ -1,7 +1,6 @@
|
|
1
|
-
import { applyCallback } from '../../utils/applyCallback.js';
|
2
|
-
import { map } from '../../utils/array.js';
|
3
1
|
import { factory } from '../../utils/factory.js';
|
4
2
|
import { isFunctionAssignmentNode, isSymbolNode } from '../../utils/is.js';
|
3
|
+
import { createMap } from '../../function/matrix/map.js';
|
5
4
|
import { compileInlineExpression } from './utils/compileInlineExpression.js';
|
6
5
|
var name = 'map';
|
7
6
|
var dependencies = ['typed'];
|
@@ -15,57 +14,125 @@ export var createMapTransform = /* #__PURE__ */factory(name, dependencies, _ref
|
|
15
14
|
*
|
16
15
|
* This transform creates a one-based index instead of a zero-based index
|
17
16
|
*/
|
17
|
+
var map = createMap({
|
18
|
+
typed
|
19
|
+
});
|
18
20
|
function mapTransform(args, math, scope) {
|
19
|
-
|
20
|
-
|
21
|
-
x = args[0].compile().evaluate(scope);
|
21
|
+
if (args.length === 0) {
|
22
|
+
return map();
|
22
23
|
}
|
23
|
-
if (args
|
24
|
-
|
24
|
+
if (args.length === 1) {
|
25
|
+
return map(args[0]);
|
26
|
+
}
|
27
|
+
var N = args.length - 1;
|
28
|
+
var X, callback;
|
29
|
+
callback = args[N];
|
30
|
+
X = args.slice(0, N);
|
31
|
+
X = X.map(arg => _compileAndEvaluate(arg, scope));
|
32
|
+
if (callback) {
|
33
|
+
if (isSymbolNode(callback) || isFunctionAssignmentNode(callback)) {
|
25
34
|
// a function pointer, like filter([3, -2, 5], myTestFunction)
|
26
|
-
callback =
|
35
|
+
callback = _compileAndEvaluate(callback, scope);
|
27
36
|
} else {
|
28
37
|
// an expression like filter([3, -2, 5], x > 0)
|
29
|
-
callback = compileInlineExpression(
|
38
|
+
callback = compileInlineExpression(callback, math, scope);
|
30
39
|
}
|
31
40
|
}
|
32
|
-
return map(
|
41
|
+
return map(...X, _transformCallback(callback, N));
|
42
|
+
function _compileAndEvaluate(arg, scope) {
|
43
|
+
return arg.compile().evaluate(scope);
|
44
|
+
}
|
33
45
|
}
|
34
46
|
mapTransform.rawArgs = true;
|
47
|
+
return mapTransform;
|
35
48
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
49
|
+
/**
|
50
|
+
* Transforms the given callback function based on its type and number of arrays.
|
51
|
+
*
|
52
|
+
* @param {Function} callback - The callback function to transform.
|
53
|
+
* @param {number} numberOfArrays - The number of arrays to pass to the callback function.
|
54
|
+
* @returns {*} - The transformed callback function.
|
55
|
+
*/
|
56
|
+
function _transformCallback(callback, numberOfArrays) {
|
57
|
+
if (typed.isTypedFunction(callback)) {
|
58
|
+
return _transformTypedCallbackFunction(callback, numberOfArrays);
|
59
|
+
} else {
|
60
|
+
return _transformCallbackFunction(callback, callback.length, numberOfArrays);
|
43
61
|
}
|
44
|
-
}
|
45
|
-
|
62
|
+
}
|
63
|
+
|
64
|
+
/**
|
65
|
+
* Transforms the given typed callback function based on the number of arrays.
|
66
|
+
*
|
67
|
+
* @param {Function} typedFunction - The typed callback function to transform.
|
68
|
+
* @param {number} numberOfArrays - The number of arrays to pass to the callback function.
|
69
|
+
* @returns {*} - The transformed typed callback function.
|
70
|
+
*/
|
71
|
+
function _transformTypedCallbackFunction(typedFunction, numberOfArrays) {
|
72
|
+
var signatures = Object.fromEntries(Object.entries(typedFunction.signatures).map(_ref2 => {
|
73
|
+
var [signature, callbackFunction] = _ref2;
|
74
|
+
var numberOfCallbackInputs = signature.split(',').length;
|
75
|
+
if (typed.isTypedFunction(callbackFunction)) {
|
76
|
+
return [signature, _transformTypedCallbackFunction(callbackFunction, numberOfArrays)];
|
77
|
+
} else {
|
78
|
+
return [signature, _transformCallbackFunction(callbackFunction, numberOfCallbackInputs, numberOfArrays)];
|
79
|
+
}
|
80
|
+
}));
|
81
|
+
if (typeof typedFunction.name === 'string') {
|
82
|
+
return typed(typedFunction.name, signatures);
|
83
|
+
} else {
|
84
|
+
return typed(signatures);
|
85
|
+
}
|
86
|
+
}
|
46
87
|
}, {
|
47
88
|
isTransformFunction: true
|
48
89
|
});
|
49
90
|
|
50
91
|
/**
|
51
|
-
*
|
52
|
-
*
|
53
|
-
*
|
54
|
-
*
|
55
|
-
*
|
56
|
-
*
|
92
|
+
* Transforms the callback function based on the number of callback inputs and arrays.
|
93
|
+
* There are three cases:
|
94
|
+
* 1. The callback function has N arguments.
|
95
|
+
* 2. The callback function has N+1 arguments.
|
96
|
+
* 3. The callback function has 2N+1 arguments.
|
97
|
+
*
|
98
|
+
* @param {Function} callbackFunction - The callback function to transform.
|
99
|
+
* @param {number} numberOfCallbackInputs - The number of callback inputs.
|
100
|
+
* @param {number} numberOfArrays - The number of arrays.
|
101
|
+
* @returns {Function} The transformed callback function.
|
57
102
|
*/
|
58
|
-
function
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
103
|
+
function _transformCallbackFunction(callbackFunction, numberOfCallbackInputs, numberOfArrays) {
|
104
|
+
if (numberOfCallbackInputs === numberOfArrays) {
|
105
|
+
return callbackFunction;
|
106
|
+
} else if (numberOfCallbackInputs === numberOfArrays + 1) {
|
107
|
+
return function () {
|
108
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
109
|
+
args[_key] = arguments[_key];
|
110
|
+
}
|
111
|
+
var vals = args.slice(0, numberOfArrays);
|
112
|
+
var idx = _transformDims(args[numberOfArrays]);
|
113
|
+
return callbackFunction(...vals, idx);
|
114
|
+
};
|
115
|
+
} else if (numberOfCallbackInputs > numberOfArrays + 1) {
|
116
|
+
return function () {
|
117
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
118
|
+
args[_key2] = arguments[_key2];
|
119
|
+
}
|
120
|
+
var vals = args.slice(0, numberOfArrays);
|
121
|
+
var idx = _transformDims(args[numberOfArrays]);
|
122
|
+
var rest = args.slice(numberOfArrays + 1);
|
123
|
+
return callbackFunction(...vals, idx, ...rest);
|
124
|
+
};
|
125
|
+
} else {
|
126
|
+
return callbackFunction;
|
69
127
|
}
|
70
|
-
|
128
|
+
}
|
129
|
+
|
130
|
+
/**
|
131
|
+
* Transforms the dimensions by adding 1 to each dimension.
|
132
|
+
*
|
133
|
+
* @param {Array} dims - The dimensions to transform.
|
134
|
+
* @returns {Array} The transformed dimensions.
|
135
|
+
*/
|
136
|
+
function _transformDims(dims) {
|
137
|
+
return dims.map(dim => dim.isBigNumber ? dim.plus(1) : dim + 1);
|
71
138
|
}
|
@@ -17,10 +17,10 @@ export var createPrintTransform = /* #__PURE__ */factory(name, dependencies, _re
|
|
17
17
|
add
|
18
18
|
});
|
19
19
|
return typed(name, {
|
20
|
-
'string, Object | Array': function
|
20
|
+
'string, Object | Array': function string_Object__Array(template, values) {
|
21
21
|
return print(_convertTemplateToZeroBasedIndex(template), values);
|
22
22
|
},
|
23
|
-
'string, Object | Array, number | Object': function
|
23
|
+
'string, Object | Array, number | Object': function string_Object__Array_number__Object(template, values, options) {
|
24
24
|
return print(_convertTemplateToZeroBasedIndex(template), values, options);
|
25
25
|
}
|
26
26
|
});
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { isNumber, isBigNumber } from '../../../utils/is.js';
|
2
|
+
/**
|
3
|
+
* Change last argument dim from one-based to zero-based.
|
4
|
+
*/
|
5
|
+
export function dimToZeroBase(dim) {
|
6
|
+
if (isNumber(dim)) {
|
7
|
+
return dim - 1;
|
8
|
+
} else if (isBigNumber(dim)) {
|
9
|
+
return dim.minus(1);
|
10
|
+
} else {
|
11
|
+
return dim;
|
12
|
+
}
|
13
|
+
}
|
14
|
+
export function isNumberOrBigNumber(n) {
|
15
|
+
return isNumber(n) || isBigNumber(n);
|
16
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import {
|
2
|
-
|
1
|
+
import { isCollection } from '../../../utils/is.js';
|
2
|
+
import { dimToZeroBase, isNumberOrBigNumber } from './dimToZeroBase.js';
|
3
3
|
/**
|
4
4
|
* Change last argument dim from one-based to zero-based.
|
5
5
|
*/
|
@@ -7,10 +7,8 @@ export function lastDimToZeroBase(args) {
|
|
7
7
|
if (args.length === 2 && isCollection(args[0])) {
|
8
8
|
args = args.slice();
|
9
9
|
var dim = args[1];
|
10
|
-
if (
|
11
|
-
args[1] = dim
|
12
|
-
} else if (isBigNumber(dim)) {
|
13
|
-
args[1] = dim.minus(1);
|
10
|
+
if (isNumberOrBigNumber(dim)) {
|
11
|
+
args[1] = dimToZeroBase(dim);
|
14
12
|
}
|
15
13
|
}
|
16
14
|
return args;
|
@@ -70,7 +70,7 @@ export var createSlu = /* #__PURE__ */factory(name, dependencies, _ref => {
|
|
70
70
|
* @return {Object} The lower triangular matrix, the upper triangular matrix and the permutation vectors.
|
71
71
|
*/
|
72
72
|
return typed(name, {
|
73
|
-
'SparseMatrix, number, number': function
|
73
|
+
'SparseMatrix, number, number': function SparseMatrix_number_number(a, order, threshold) {
|
74
74
|
// verify order
|
75
75
|
if (!isInteger(order) || order < 0 || order > 3) {
|
76
76
|
throw new Error('Symbolic Ordering and Analysis order must be an integer number in the interval [0, 3]');
|