mathjs 8.1.0 → 12.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +11 -10
- package/HISTORY.md +772 -1
- package/NOTICE +1 -1
- package/README.md +33 -16
- package/bin/cli.js +12 -12
- package/lib/browser/math.js +2 -40
- package/lib/browser/math.js.LICENSE.txt +43 -0
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/constants.js +40 -61
- package/lib/cjs/core/config.js +2 -3
- package/lib/cjs/core/create.js +31 -46
- package/lib/cjs/core/function/config.js +15 -20
- package/lib/cjs/core/function/import.js +28 -82
- package/lib/cjs/core/function/typed.js +71 -49
- package/lib/cjs/defaultInstance.js +4 -12
- package/lib/cjs/entry/allFactoriesAny.js +5 -10
- package/lib/cjs/entry/allFactoriesNumber.js +5 -10
- package/lib/cjs/entry/configReadonly.js +4 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesAbs.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAccessorNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcos.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcosh.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcot.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAcoth.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsc.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAcsch.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAdd.generated.js +5 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesAddScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAnd.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesAndTransform.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesApply.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesApplyTransform.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesArg.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesArrayNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAsec.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAsech.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAsin.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAsinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAssignmentNode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesAtan2.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesAtanh.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAtomicMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesAvogadro.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBellNumbers.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesBigNumberClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesBignumber.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBin.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAnd.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOr.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesBitXor.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesBlockNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrMagneton.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBohrRadius.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBoltzmann.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesBoolean.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCatalan.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesCbrt.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesCeil.generated.js +7 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesChain.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesChainClass.generated.js +5 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesClassicalElectronRadius.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesClone.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesColumn.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesColumnTransform.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinations.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCombinationsWithRep.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCompare.generated.js +5 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareNatural.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCompareText.generated.js +5 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCompile.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesComplex.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesComplexClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesComposition.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesConcat.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesConcatTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesConditionalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesConductanceQuantum.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesConj.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesConstantNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCorr.generated.js +35 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCos.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCosh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCot.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCoth.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCoulomb.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCount.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCreateUnit.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCross.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesCsc.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCsch.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesCtranspose.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesCube.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSum.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesDeepEqual.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDenseMatrixClass.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesDerivative.generated.js +3 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesDet.generated.js +9 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesDeuteronMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDiag.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDiff.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDiffTransform.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDistance.generated.js +7 -17
- package/lib/cjs/entry/dependenciesAny/dependenciesDivide.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesDivideScalar.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesDot.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDotDivide.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesDotMultiply.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesDotPow.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesE.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEfimovFactor.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEigs.generated.js +39 -19
- package/lib/cjs/entry/dependenciesAny/dependenciesElectricConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesElectronMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesElementaryCharge.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesEqual.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEqualText.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesErf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesEvaluate.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesExp.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesExpm1.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFactorial.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFalse.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesFaraday.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFermiCoupling.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +41 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesFibonacciHeapClass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFilter.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFilterTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFineStructure.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFirstRadiation.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFix.generated.js +9 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesFlatten.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFloor.generated.js +7 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesForEach.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesForEachTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFormat.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesFraction.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFractionClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesFreqz.generated.js +27 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionAssignmentNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesFunctionNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGamma.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesGasConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGcd.generated.js +9 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesGetMatrixDataType.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesGravitationConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesGravity.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHartreeEnergy.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHasNumericValue.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHelp.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesHelpClass.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesHex.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesHypot.generated.js +3 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesI.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIdentity.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesIm.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesImmutableDenseMatrixClass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesIndex.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexClass.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexNode.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesIndexTransform.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesInfinity.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIntersect.generated.js +9 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesInv.generated.js +3 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesInverseConductanceQuantum.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesInvmod.generated.js +31 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesIsInteger.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNaN.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNegative.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsNumeric.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPositive.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsPrime.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesIsZero.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesKldivergence.generated.js +5 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesKlitzing.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesKron.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLN10.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLN2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG10E.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLOG2E.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesLarger.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLargerEq.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLcm.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLeafCount.generated.js +19 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLeftShift.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesLgamma.generated.js +19 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesLog.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesLog10.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLog1p.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesLog2.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLoschmidt.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolve.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesLsolveAll.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesLup.generated.js +5 -20
- package/lib/cjs/entry/dependenciesAny/dependenciesLusolve.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesLyap.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMad.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMagneticFluxQuantum.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMap.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMapTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrix.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +21 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesMax.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMaxTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMean.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMeanTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMedian.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesMin.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMinTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMod.generated.js +9 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesMode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarMassC12.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarPlanckConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMolarVolume.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesMultinomial.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiply.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesMultiplyScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNaN.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNeutronMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesNode.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesNorm.generated.js +3 -18
- package/lib/cjs/entry/dependenciesAny/dependenciesNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoot.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesNthRoots.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesNuclearMagneton.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesNull.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesNumber.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesNumeric.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesObjectNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesOct.generated.js +5 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesOnes.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesOperatorNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesOr.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesOrTransform.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesParenthesisNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesParse.generated.js +3 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesParser.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesParserClass.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesPartitionSelect.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesPermutations.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPhi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPickRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPinv.generated.js +39 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckCharge.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckLength.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTemperature.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPlanckTime.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesPolynomialRoot.generated.js +41 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesPow.generated.js +5 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesPrint.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesPrintTransform.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesProd.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesProtonMass.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesQr.generated.js +5 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +17 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantileSeqTransform.generated.js +39 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesQuantumOfCirculation.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRandomInt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRange.generated.js +7 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesRangeTransform.generated.js +7 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesRationalize.generated.js +17 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesRe.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesReducedPlanckConstant.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesRelationalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesReplacer.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesReshape.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesResize.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesResolve.generated.js +27 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesResultSet.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesReviver.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesRightArithShift.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesRightLogShift.generated.js +5 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesRotate.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesRotationMatrix.generated.js +3 -16
- package/lib/cjs/entry/dependenciesAny/dependenciesRound.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesRow.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRowTransform.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesRydberg.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT1_2.generated.js +4 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSQRT2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSackurTetrode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSchur.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSec.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSech.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSecondRadiation.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetCartesian.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDifference.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetDistinct.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIntersect.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetIsSubset.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesSetMultiplicity.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesSetPowerset.generated.js +3 -10
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSize.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSetSymDifference.generated.js +3 -11
- package/lib/cjs/entry/dependenciesAny/dependenciesSetUnion.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesSign.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplify.generated.js +19 -21
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +39 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +51 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSin.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSize.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSlu.generated.js +3 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesSmaller.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSmallerEq.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSolveODE.generated.js +45 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSort.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesSpaClass.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSparse.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSparseMatrixClass.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSpeedOfLight.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSplitUnit.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrt.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSqrtm.generated.js +5 -15
- package/lib/cjs/entry/dependenciesAny/dependenciesSquare.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSqueeze.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesStd.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesStdTransform.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesStefanBoltzmann.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesStirlingS2.generated.js +9 -18
- package/lib/cjs/entry/dependenciesAny/dependenciesString.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesSubset.generated.js +7 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +7 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSubtract.generated.js +7 -13
- package/lib/cjs/entry/dependenciesAny/dependenciesSubtractScalar.generated.js +17 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSum.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSumTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesSylvester.generated.js +45 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +23 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesTan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTanh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTau.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesThomsonCrossSection.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesTo.generated.js +5 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesTrace.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesTranspose.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesTrue.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesTypeOf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesTyped.generated.js +3 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryMinus.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUnaryPlus.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesUnequal.generated.js +5 -9
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitClass.generated.js +5 -22
- package/lib/cjs/entry/dependenciesAny/dependenciesUnitFunction.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercaseE.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUppercasePi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolve.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesUsolveAll.generated.js +5 -14
- package/lib/cjs/entry/dependenciesAny/dependenciesVacuumImpedance.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesVariance.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesVarianceTransform.generated.js +3 -12
- package/lib/cjs/entry/dependenciesAny/dependenciesVersion.generated.js +3 -5
- package/lib/cjs/entry/dependenciesAny/dependenciesWeakMixingAngle.generated.js +3 -6
- package/lib/cjs/entry/dependenciesAny/dependenciesWienDisplacement.generated.js +3 -7
- package/lib/cjs/entry/dependenciesAny/dependenciesXgcd.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesXor.generated.js +5 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesZeros.generated.js +3 -8
- package/lib/cjs/entry/dependenciesAny/dependenciesZeta.generated.js +45 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesZpk2tf.generated.js +25 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +1150 -1256
- package/lib/cjs/entry/dependenciesNumber/dependenciesAbs.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAccessorNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcos.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcosh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcoth.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsc.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAcsch.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAdd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAddScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAnd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesApply.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesApplyTransform.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesArrayNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsec.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsech.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsin.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAsinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAssignmentNode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtan2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesAtanh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBellNumbers.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitAnd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitOr.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBitXor.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesBlockNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesBoolean.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCatalan.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesCbrt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCeil.generated.js +5 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesChain.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesChainClass.generated.js +5 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesClone.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinations.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCombinationsWithRep.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompare.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareNatural.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompareText.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCompile.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesComposition.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesConditionalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesConstantNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCorr.generated.js +35 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCos.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCosh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCoth.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsc.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCsch.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCube.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSum.generated.js +21 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +21 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesDeepEqual.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesDerivative.generated.js +3 -16
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivide.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesDivideScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesE.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqual.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesEqualText.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesErf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesEvaluate.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesExp.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesExpm1.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFactorial.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesFalse.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilter.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFilterTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFix.generated.js +7 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFloor.generated.js +5 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEach.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesForEachTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFormat.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionAssignmentNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesFunctionNode.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesGamma.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesGcd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesHasNumericValue.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelp.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesHelpClass.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesHypot.generated.js +3 -13
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndex.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesIndexNode.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesInfinity.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsInteger.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNaN.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNegative.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsNumeric.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPositive.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsPrime.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesIsZero.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN10.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLN2.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG10E.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLOG2E.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesLarger.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLargerEq.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLcm.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLeftShift.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLgamma.generated.js +17 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog10.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog1p.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesLog2.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMad.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesMap.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMapTransform.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMatrix.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesMax.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMaxTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMean.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMeanTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMedian.generated.js +3 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesMin.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMinTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMod.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMode.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultinomial.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiply.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesMultiplyScalar.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNaN.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesNode.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesNorm.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNthRoot.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNull.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumber.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesNumeric.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesObjectNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesOperatorNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesOr.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesParenthesisNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesParse.generated.js +3 -22
- package/lib/cjs/entry/dependenciesNumber/dependenciesParser.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesParserClass.generated.js +5 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesPartitionSelect.generated.js +3 -9
- package/lib/cjs/entry/dependenciesNumber/dependenciesPermutations.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesPhi.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesPi.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesPickRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesPow.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesPrint.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesProd.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +15 -10
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandom.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRandomInt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRange.generated.js +7 -11
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeClass.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +7 -11
- package/lib/cjs/entry/dependenciesNumber/dependenciesRationalize.generated.js +17 -20
- package/lib/cjs/entry/dependenciesNumber/dependenciesRelationalNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesReplacer.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesResolve.generated.js +27 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesResultSet.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesReviver.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightArithShift.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRightLogShift.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesRound.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT1_2.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSQRT2.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSec.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSech.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSign.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplify.generated.js +19 -19
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +35 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +51 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSin.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSinh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSize.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmaller.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSmallerEq.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSqrt.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSquare.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesStd.generated.js +5 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesStdTransform.generated.js +5 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +7 -18
- package/lib/cjs/entry/dependenciesNumber/dependenciesString.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubset.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubsetTransform.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubtract.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesSubtractScalar.generated.js +17 -0
- package/lib/cjs/entry/dependenciesNumber/dependenciesSum.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesSumTransform.generated.js +3 -8
- package/lib/cjs/entry/dependenciesNumber/dependenciesSymbolNode.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTan.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTanh.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTau.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesTrue.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesTypeOf.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesTyped.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryMinus.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnaryPlus.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesUnequal.generated.js +3 -7
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercaseE.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesUppercasePi.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesVariance.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesVarianceTransform.generated.js +3 -12
- package/lib/cjs/entry/dependenciesNumber/dependenciesVersion.generated.js +3 -5
- package/lib/cjs/entry/dependenciesNumber/dependenciesXgcd.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesXor.generated.js +3 -6
- package/lib/cjs/entry/dependenciesNumber/dependenciesZeta.generated.js +41 -0
- package/lib/cjs/entry/dependenciesNumber.generated.js +627 -760
- package/lib/cjs/entry/impureFunctionsAny.generated.js +446 -323
- package/lib/cjs/entry/impureFunctionsNumber.generated.js +299 -260
- package/lib/cjs/entry/mainAny.js +8 -24
- package/lib/cjs/entry/mainNumber.js +8 -24
- package/lib/cjs/entry/pureFunctionsAny.generated.js +1038 -1058
- package/lib/cjs/entry/pureFunctionsNumber.generated.js +296 -407
- package/lib/cjs/entry/typeChecks.js +18 -13
- package/lib/cjs/error/ArgumentsError.js +0 -3
- package/lib/cjs/error/DimensionError.js +0 -3
- package/lib/cjs/error/IndexError.js +0 -6
- package/lib/cjs/expression/Help.js +10 -30
- package/lib/cjs/expression/Parser.js +37 -43
- package/lib/cjs/expression/embeddedDocs/constants/Infinity.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LN10.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LN2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LOG10E.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/LOG2E.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/NaN.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/SQRT1_2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/SQRT2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/e.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/false.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/i.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/null.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/phi.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/pi.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/tau.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/true.js +2 -3
- package/lib/cjs/expression/embeddedDocs/constants/version.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/bignumber.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/boolean.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/complex.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/createUnit.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/fraction.js +5 -6
- package/lib/cjs/expression/embeddedDocs/construction/index.js +3 -4
- package/lib/cjs/expression/embeddedDocs/construction/matrix.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/number.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/sparse.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/splitUnit.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/string.js +2 -3
- package/lib/cjs/expression/embeddedDocs/construction/unit.js +2 -3
- package/lib/cjs/expression/embeddedDocs/core/config.js +2 -3
- package/lib/cjs/expression/embeddedDocs/core/import.js +2 -3
- package/lib/cjs/expression/embeddedDocs/core/typed.js +3 -4
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +272 -440
- package/lib/cjs/expression/embeddedDocs/function/algebra/derivative.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/leafCount.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/lsolve.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lsolveAll.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lup.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lusolve.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/lyap.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/polynomialRoot.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/qr.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/rationalize.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/resolve.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/schur.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplify.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyConstant.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/simplifyCore.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/slu.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/sylvester.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/symbolicEqual.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/algebra/usolve.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/algebra/usolveAll.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/abs.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/add.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/cbrt.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/ceil.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/cube.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/divide.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotDivide.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotMultiply.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/dotPow.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/exp.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/expm.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/expm1.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/fix.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/floor.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/gcd.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/hypot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/invmod.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/lcm.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log10.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log1p.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/log2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/mod.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/multiply.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/norm.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/nthRoot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/nthRoots.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/pow.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/round.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/sign.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/sqrt.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/sqrtm.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/square.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/subtract.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/unaryMinus.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/unaryPlus.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/arithmetic/xgcd.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitAnd.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitNot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitOr.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/bitXor.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/leftShift.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/rightArithShift.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/bitwise/rightLogShift.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/bellNumbers.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/catalan.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/composition.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/combinatorics/stirlingS2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/arg.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/conj.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/im.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/complex/re.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/expression/evaluate.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/expression/help.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/geometry/distance.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/geometry/intersect.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/and.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/not.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/or.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/logical/xor.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/column.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/concat.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/count.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/cross.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/ctranspose.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/det.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/diag.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/diff.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/dot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/eigs.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/filter.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/flatten.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/forEach.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/getMatrixDataType.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/identity.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/inv.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/kron.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/map.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromColumns.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromFunction.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/matrixFromRows.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/ones.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/partitionSelect.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/pinv.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/range.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/reshape.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/resize.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/rotate.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/rotationMatrix.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/row.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/size.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/sort.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/matrix/squeeze.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/subset.js +4 -5
- package/lib/cjs/expression/embeddedDocs/function/matrix/trace.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/transpose.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/matrix/zeros.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/numeric/solveODE.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/probability/combinations.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/combinationsWithRep.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/distribution.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/factorial.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/gamma.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/kldivergence.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/lgamma.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/probability/multinomial.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/permutations.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/pickRandom.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/random.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/probability/randomInt.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/compare.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/compareNatural.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/compareText.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/deepEqual.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/equal.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/equalText.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/larger.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/largerEq.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/smaller.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/smallerEq.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/relational/unequal.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setCartesian.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/set/setDifference.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setDistinct.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setIntersect.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setIsSubset.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setMultiplicity.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setPowerset.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setSize.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setSymDifference.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/set/setUnion.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/signal/freqz.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/signal/zpk2tf.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/special/erf.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/special/zeta.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/statistics/corr.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/statistics/cumsum.js +14 -0
- package/lib/cjs/expression/embeddedDocs/function/statistics/mad.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/max.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/mean.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/median.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/min.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/mode.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/prod.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/quantileSeq.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/statistics/std.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/sum.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/statistics/variance.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acos.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acosh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acoth.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsc.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/acsch.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asec.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asech.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asin.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/asinh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/atan.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/atan2.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/atanh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/cos.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/cosh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/cot.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/coth.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/csc.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/csch.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sec.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sech.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sin.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/sinh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/tan.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/trigonometry/tanh.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/units/to.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/bin.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/clone.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/format.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/hasNumericValue.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/hex.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isInteger.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isNaN.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isNegative.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isNumeric.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isPositive.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isPrime.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/isZero.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/numeric.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/utils/oct.js +2 -3
- package/lib/cjs/expression/embeddedDocs/function/utils/print.js +3 -4
- package/lib/cjs/expression/embeddedDocs/function/utils/typeOf.js +2 -3
- package/lib/cjs/expression/function/compile.js +3 -8
- package/lib/cjs/expression/function/evaluate.js +8 -12
- package/lib/cjs/expression/function/help.js +5 -16
- package/lib/cjs/expression/function/parser.js +8 -12
- package/lib/cjs/expression/keywords.js +1 -4
- package/lib/cjs/expression/node/AccessorNode.js +193 -180
- package/lib/cjs/expression/node/ArrayNode.js +199 -177
- package/lib/cjs/expression/node/AssignmentNode.js +301 -288
- package/lib/cjs/expression/node/BlockNode.js +207 -183
- package/lib/cjs/expression/node/ConditionalNode.js +224 -207
- package/lib/cjs/expression/node/ConstantNode.js +194 -181
- package/lib/cjs/expression/node/FunctionAssignmentNode.js +257 -218
- package/lib/cjs/expression/node/FunctionNode.js +424 -367
- package/lib/cjs/expression/node/IndexNode.js +241 -268
- package/lib/cjs/expression/node/Node.js +385 -393
- package/lib/cjs/expression/node/ObjectNode.js +200 -194
- package/lib/cjs/expression/node/OperatorNode.js +447 -470
- package/lib/cjs/expression/node/ParenthesisNode.js +179 -156
- package/lib/cjs/expression/node/RangeNode.js +249 -253
- package/lib/cjs/expression/node/RelationalNode.js +218 -204
- package/lib/cjs/expression/node/SymbolNode.js +210 -191
- package/lib/cjs/expression/node/utils/access.js +3 -8
- package/lib/cjs/expression/node/utils/assign.js +11 -11
- package/lib/cjs/expression/operators.js +116 -42
- package/lib/cjs/expression/parse.js +292 -412
- package/lib/cjs/expression/transform/and.transform.js +39 -0
- package/lib/cjs/expression/transform/apply.transform.js +6 -13
- package/lib/cjs/expression/transform/bitAnd.transform.js +44 -0
- package/lib/cjs/expression/transform/bitOr.transform.js +45 -0
- package/lib/cjs/expression/transform/column.transform.js +8 -15
- package/lib/cjs/expression/transform/concat.transform.js +5 -13
- package/lib/cjs/expression/transform/cumsum.transform.js +49 -0
- package/lib/cjs/expression/transform/diff.transform.js +9 -25
- package/lib/cjs/expression/transform/filter.transform.js +8 -29
- package/lib/cjs/expression/transform/forEach.transform.js +7 -30
- package/lib/cjs/expression/transform/index.transform.js +14 -17
- package/lib/cjs/expression/transform/map.transform.js +8 -31
- package/lib/cjs/expression/transform/max.transform.js +8 -24
- package/lib/cjs/expression/transform/mean.transform.js +7 -23
- package/lib/cjs/expression/transform/min.transform.js +8 -24
- package/lib/cjs/expression/transform/or.transform.js +37 -0
- package/lib/cjs/expression/transform/print.transform.js +46 -0
- package/lib/cjs/expression/transform/quantileSeq.transform.js +71 -0
- package/lib/cjs/expression/transform/range.transform.js +16 -18
- package/lib/cjs/expression/transform/row.transform.js +8 -15
- package/lib/cjs/expression/transform/std.transform.js +10 -24
- package/lib/cjs/expression/transform/subset.transform.js +10 -11
- package/lib/cjs/expression/transform/sum.transform.js +8 -24
- package/lib/cjs/expression/transform/utils/compileInlineExpression.js +6 -9
- package/lib/cjs/expression/transform/utils/errorTransform.js +0 -3
- package/lib/cjs/expression/transform/utils/lastDimToZeroBase.js +22 -0
- package/lib/cjs/expression/transform/variance.transform.js +11 -27
- package/lib/cjs/factoriesAny.js +877 -915
- package/lib/cjs/factoriesNumber.js +443 -495
- package/lib/cjs/function/algebra/decomposition/lup.js +140 -178
- package/lib/cjs/function/algebra/decomposition/qr.js +44 -61
- package/lib/cjs/function/algebra/decomposition/schur.js +74 -0
- package/lib/cjs/function/algebra/decomposition/slu.js +20 -25
- package/lib/cjs/function/algebra/derivative.js +75 -180
- package/lib/cjs/function/algebra/leafCount.js +58 -0
- package/lib/cjs/function/algebra/lyap.js +56 -0
- package/lib/cjs/function/algebra/polynomialRoot.js +138 -0
- package/lib/cjs/function/algebra/rationalize.js +238 -294
- package/lib/cjs/function/algebra/resolve.js +131 -0
- package/lib/cjs/function/algebra/simplify/util.js +151 -74
- package/lib/cjs/function/algebra/simplify/wildcards.js +38 -0
- package/lib/cjs/function/algebra/simplify.js +855 -419
- package/lib/cjs/function/algebra/simplifyConstant.js +488 -0
- package/lib/cjs/function/algebra/simplifyCore.js +299 -0
- package/lib/cjs/function/algebra/solver/lsolve.js +33 -41
- package/lib/cjs/function/algebra/solver/lsolveAll.js +42 -59
- package/lib/cjs/function/algebra/solver/lusolve.js +17 -28
- package/lib/cjs/function/algebra/solver/usolve.js +37 -46
- package/lib/cjs/function/algebra/solver/usolveAll.js +46 -59
- package/lib/cjs/function/algebra/solver/utils/solveValidation.js +4 -32
- package/lib/cjs/function/algebra/sparse/csAmd.js +252 -307
- package/lib/cjs/function/algebra/sparse/csChol.js +74 -91
- package/lib/cjs/function/algebra/sparse/csCounts.js +39 -58
- package/lib/cjs/function/algebra/sparse/csCumsum.js +8 -11
- package/lib/cjs/function/algebra/sparse/csDfs.js +34 -42
- package/lib/cjs/function/algebra/sparse/csEreach.js +24 -31
- package/lib/cjs/function/algebra/sparse/csEtree.js +23 -28
- package/lib/cjs/function/algebra/sparse/csFkeep.js +20 -25
- package/lib/cjs/function/algebra/sparse/csFlip.js +0 -1
- package/lib/cjs/function/algebra/sparse/csIpvec.js +2 -4
- package/lib/cjs/function/algebra/sparse/csLeaf.js +13 -16
- package/lib/cjs/function/algebra/sparse/csLu.js +73 -95
- package/lib/cjs/function/algebra/sparse/csMark.js +0 -2
- package/lib/cjs/function/algebra/sparse/csMarked.js +0 -1
- package/lib/cjs/function/algebra/sparse/csPermute.js +20 -25
- package/lib/cjs/function/algebra/sparse/csPost.js +14 -24
- package/lib/cjs/function/algebra/sparse/csReach.js +14 -20
- package/lib/cjs/function/algebra/sparse/csSpsolve.js +34 -43
- package/lib/cjs/function/algebra/sparse/csSqr.js +64 -89
- package/lib/cjs/function/algebra/sparse/csSymperm.js +35 -47
- package/lib/cjs/function/algebra/sparse/csTdfs.js +12 -15
- package/lib/cjs/function/algebra/sparse/csUnflip.js +0 -2
- package/lib/cjs/function/algebra/sylvester.js +126 -0
- package/lib/cjs/function/algebra/symbolicEqual.js +64 -0
- package/lib/cjs/function/arithmetic/abs.js +9 -22
- package/lib/cjs/function/arithmetic/add.js +69 -121
- package/lib/cjs/function/arithmetic/addScalar.js +17 -16
- package/lib/cjs/function/arithmetic/cbrt.js +24 -40
- package/lib/cjs/function/arithmetic/ceil.js +102 -86
- package/lib/cjs/function/arithmetic/cube.js +7 -17
- package/lib/cjs/function/arithmetic/divide.js +16 -21
- package/lib/cjs/function/arithmetic/divideScalar.js +7 -25
- package/lib/cjs/function/arithmetic/dotDivide.js +32 -82
- package/lib/cjs/function/arithmetic/dotMultiply.js +25 -75
- package/lib/cjs/function/arithmetic/dotPow.js +38 -79
- package/lib/cjs/function/arithmetic/exp.js +10 -19
- package/lib/cjs/function/arithmetic/expm1.js +13 -18
- package/lib/cjs/function/arithmetic/fix.js +75 -41
- package/lib/cjs/function/arithmetic/floor.js +107 -85
- package/lib/cjs/function/arithmetic/gcd.js +97 -90
- package/lib/cjs/function/arithmetic/hypot.js +17 -23
- package/lib/cjs/function/arithmetic/invmod.js +64 -0
- package/lib/cjs/function/arithmetic/lcm.js +37 -90
- package/lib/cjs/function/arithmetic/log.js +15 -22
- package/lib/cjs/function/arithmetic/log10.js +9 -13
- package/lib/cjs/function/arithmetic/log1p.js +18 -21
- package/lib/cjs/function/arithmetic/log2.js +10 -14
- package/lib/cjs/function/arithmetic/mod.js +62 -92
- package/lib/cjs/function/arithmetic/multiply.js +352 -371
- package/lib/cjs/function/arithmetic/multiplyScalar.js +4 -16
- package/lib/cjs/function/arithmetic/norm.js +45 -78
- package/lib/cjs/function/arithmetic/nthRoot.js +98 -128
- package/lib/cjs/function/arithmetic/nthRoots.js +13 -22
- package/lib/cjs/function/arithmetic/pow.js +52 -51
- package/lib/cjs/function/arithmetic/round.js +122 -100
- package/lib/cjs/function/arithmetic/sign.js +20 -19
- package/lib/cjs/function/arithmetic/sqrt.js +10 -18
- package/lib/cjs/function/arithmetic/square.js +8 -17
- package/lib/cjs/function/arithmetic/subtract.js +40 -135
- package/lib/cjs/function/arithmetic/subtractScalar.js +52 -0
- package/lib/cjs/function/arithmetic/unaryMinus.js +17 -24
- package/lib/cjs/function/arithmetic/unaryPlus.js +10 -14
- package/lib/cjs/function/arithmetic/xgcd.js +14 -21
- package/lib/cjs/function/bitwise/bitAnd.js +24 -75
- package/lib/cjs/function/bitwise/bitNot.js +8 -13
- package/lib/cjs/function/bitwise/bitOr.js +25 -76
- package/lib/cjs/function/bitwise/bitXor.js +24 -75
- package/lib/cjs/function/bitwise/leftShift.js +73 -101
- package/lib/cjs/function/bitwise/rightArithShift.js +74 -102
- package/lib/cjs/function/bitwise/rightLogShift.js +73 -98
- package/lib/cjs/function/bitwise/useMatrixForArrayScalar.js +33 -0
- package/lib/cjs/function/combinatorics/bellNumbers.js +8 -14
- package/lib/cjs/function/combinatorics/catalan.js +8 -13
- package/lib/cjs/function/combinatorics/composition.js +8 -13
- package/lib/cjs/function/combinatorics/stirlingS2.js +49 -31
- package/lib/cjs/function/complex/arg.js +8 -10
- package/lib/cjs/function/complex/conj.js +8 -14
- package/lib/cjs/function/complex/im.js +9 -12
- package/lib/cjs/function/complex/re.js +8 -14
- package/lib/cjs/function/geometry/distance.js +44 -91
- package/lib/cjs/function/geometry/intersect.js +100 -102
- package/lib/cjs/function/logical/and.js +83 -100
- package/lib/cjs/function/logical/not.js +15 -14
- package/lib/cjs/function/logical/or.js +29 -77
- package/lib/cjs/function/logical/xor.js +28 -76
- package/lib/cjs/function/matrix/apply.js +4 -25
- package/lib/cjs/function/matrix/column.js +9 -14
- package/lib/cjs/function/matrix/concat.js +11 -56
- package/lib/cjs/function/matrix/count.js +43 -0
- package/lib/cjs/function/matrix/cross.js +6 -14
- package/lib/cjs/function/matrix/ctranspose.js +4 -8
- package/lib/cjs/function/matrix/det.js +48 -57
- package/lib/cjs/function/matrix/diag.js +23 -38
- package/lib/cjs/function/matrix/diff.js +23 -40
- package/lib/cjs/function/matrix/dot.js +24 -49
- package/lib/cjs/function/matrix/eigs/complexEigs.js +744 -0
- package/lib/cjs/function/matrix/eigs/realSymmetric.js +303 -0
- package/lib/cjs/function/matrix/eigs.js +271 -379
- package/lib/cjs/function/matrix/expm.js +28 -45
- package/lib/cjs/function/matrix/fft.js +152 -0
- package/lib/cjs/function/matrix/filter.js +4 -20
- package/lib/cjs/function/matrix/flatten.js +8 -14
- package/lib/cjs/function/matrix/forEach.js +6 -24
- package/lib/cjs/function/matrix/getMatrixDataType.js +3 -9
- package/lib/cjs/function/matrix/identity.js +16 -33
- package/lib/cjs/function/matrix/ifft.js +43 -0
- package/lib/cjs/function/matrix/inv.js +22 -47
- package/lib/cjs/function/matrix/kron.js +5 -13
- package/lib/cjs/function/matrix/map.js +23 -28
- package/lib/cjs/function/matrix/matrixFromColumns.js +106 -0
- package/lib/cjs/function/matrix/matrixFromFunction.js +78 -0
- package/lib/cjs/function/matrix/matrixFromRows.js +94 -0
- package/lib/cjs/function/matrix/ones.js +12 -26
- package/lib/cjs/function/matrix/partitionSelect.js +24 -32
- package/lib/cjs/function/matrix/pinv.js +190 -0
- package/lib/cjs/function/matrix/range.js +45 -148
- package/lib/cjs/function/matrix/reshape.js +9 -15
- package/lib/cjs/function/matrix/resize.js +8 -31
- package/lib/cjs/function/matrix/rotate.js +9 -22
- package/lib/cjs/function/matrix/rotationMatrix.js +16 -36
- package/lib/cjs/function/matrix/row.js +9 -14
- package/lib/cjs/function/matrix/size.js +5 -11
- package/lib/cjs/function/matrix/sort.js +9 -23
- package/lib/cjs/function/matrix/sqrtm.js +18 -31
- package/lib/cjs/function/matrix/squeeze.js +5 -11
- package/lib/cjs/function/matrix/subset.js +114 -66
- package/lib/cjs/function/matrix/trace.js +24 -39
- package/lib/cjs/function/matrix/transpose.js +81 -99
- package/lib/cjs/function/matrix/zeros.js +13 -26
- package/lib/cjs/function/numeric/solveODE.js +314 -0
- package/lib/cjs/function/probability/combinations.js +4 -14
- package/lib/cjs/function/probability/combinationsWithRep.js +2 -19
- package/lib/cjs/function/probability/factorial.js +8 -13
- package/lib/cjs/function/probability/gamma.js +52 -68
- package/lib/cjs/function/probability/kldivergence.js +16 -26
- package/lib/cjs/function/probability/lgamma.js +141 -0
- package/lib/cjs/function/probability/multinomial.js +8 -14
- package/lib/cjs/function/probability/permutations.js +7 -21
- package/lib/cjs/function/probability/pickRandom.js +12 -34
- package/lib/cjs/function/probability/random.js +12 -25
- package/lib/cjs/function/probability/randomInt.js +5 -15
- package/lib/cjs/function/probability/util/randomMatrix.js +0 -3
- package/lib/cjs/function/probability/util/seededRNG.js +7 -10
- package/lib/cjs/function/relational/compare.js +35 -90
- package/lib/cjs/function/relational/compareNatural.js +75 -102
- package/lib/cjs/function/relational/compareText.js +18 -55
- package/lib/cjs/function/relational/compareUnits.js +20 -0
- package/lib/cjs/function/relational/deepEqual.js +4 -11
- package/lib/cjs/function/relational/equal.js +30 -101
- package/lib/cjs/function/relational/equalScalar.js +10 -20
- package/lib/cjs/function/relational/equalText.js +4 -8
- package/lib/cjs/function/relational/larger.js +32 -87
- package/lib/cjs/function/relational/largerEq.js +32 -87
- package/lib/cjs/function/relational/smaller.js +32 -87
- package/lib/cjs/function/relational/smallerEq.js +32 -87
- package/lib/cjs/function/relational/unequal.js +31 -103
- package/lib/cjs/function/set/setCartesian.js +14 -21
- package/lib/cjs/function/set/setDifference.js +11 -22
- package/lib/cjs/function/set/setDistinct.js +11 -20
- package/lib/cjs/function/set/setIntersect.js +11 -20
- package/lib/cjs/function/set/setIsSubset.js +7 -17
- package/lib/cjs/function/set/setMultiplicity.js +6 -14
- package/lib/cjs/function/set/setPowerset.js +12 -23
- package/lib/cjs/function/set/setSize.js +6 -12
- package/lib/cjs/function/set/setSymDifference.js +7 -13
- package/lib/cjs/function/set/setUnion.js +8 -14
- package/lib/cjs/function/signal/freqz.js +116 -0
- package/lib/cjs/function/signal/zpk2tf.js +94 -0
- package/lib/cjs/function/special/erf.js +20 -31
- package/lib/cjs/function/special/zeta.js +170 -0
- package/lib/cjs/function/statistics/corr.js +94 -0
- package/lib/cjs/function/statistics/cumsum.js +127 -0
- package/lib/cjs/function/statistics/mad.js +6 -15
- package/lib/cjs/function/statistics/max.js +12 -22
- package/lib/cjs/function/statistics/mean.js +8 -19
- package/lib/cjs/function/statistics/median.js +15 -24
- package/lib/cjs/function/statistics/min.js +11 -21
- package/lib/cjs/function/statistics/mode.js +6 -19
- package/lib/cjs/function/statistics/prod.js +11 -17
- package/lib/cjs/function/statistics/quantileSeq.js +108 -209
- package/lib/cjs/function/statistics/std.js +13 -12
- package/lib/cjs/function/statistics/sum.js +12 -20
- package/lib/cjs/function/statistics/utils/improveErrorMessage.js +0 -5
- package/lib/cjs/function/statistics/variance.js +14 -28
- package/lib/cjs/function/string/bin.js +21 -4
- package/lib/cjs/function/string/format.js +40 -28
- package/lib/cjs/function/string/hex.js +22 -6
- package/lib/cjs/function/string/oct.js +24 -6
- package/lib/cjs/function/string/print.js +7 -13
- package/lib/cjs/function/trigonometry/acos.js +8 -16
- package/lib/cjs/function/trigonometry/acosh.js +6 -18
- package/lib/cjs/function/trigonometry/acot.js +9 -19
- package/lib/cjs/function/trigonometry/acoth.js +9 -19
- package/lib/cjs/function/trigonometry/acsc.js +11 -22
- package/lib/cjs/function/trigonometry/acsch.js +7 -16
- package/lib/cjs/function/trigonometry/asec.js +11 -21
- package/lib/cjs/function/trigonometry/asech.js +9 -21
- package/lib/cjs/function/trigonometry/asin.js +9 -18
- package/lib/cjs/function/trigonometry/asinh.js +6 -16
- package/lib/cjs/function/trigonometry/atan.js +7 -17
- package/lib/cjs/function/trigonometry/atan2.js +36 -80
- package/lib/cjs/function/trigonometry/atanh.js +8 -19
- package/lib/cjs/function/trigonometry/cos.js +12 -25
- package/lib/cjs/function/trigonometry/cosh.js +7 -26
- package/lib/cjs/function/trigonometry/cot.js +10 -21
- package/lib/cjs/function/trigonometry/coth.js +7 -23
- package/lib/cjs/function/trigonometry/csc.js +12 -23
- package/lib/cjs/function/trigonometry/csch.js +7 -23
- package/lib/cjs/function/trigonometry/sec.js +12 -23
- package/lib/cjs/function/trigonometry/sech.js +7 -23
- package/lib/cjs/function/trigonometry/sin.js +12 -26
- package/lib/cjs/function/trigonometry/sinh.js +7 -27
- package/lib/cjs/function/trigonometry/tan.js +12 -26
- package/lib/cjs/function/trigonometry/tanh.js +7 -27
- package/lib/cjs/function/trigonometry/trigUnit.js +20 -0
- package/lib/cjs/function/unit/to.js +17 -53
- package/lib/cjs/function/utils/clone.js +3 -8
- package/lib/cjs/function/utils/hasNumericValue.js +8 -8
- package/lib/cjs/function/utils/isInteger.js +9 -12
- package/lib/cjs/function/utils/isNaN.js +3 -9
- package/lib/cjs/function/utils/isNegative.js +13 -15
- package/lib/cjs/function/utils/isNumeric.js +8 -11
- package/lib/cjs/function/utils/isPositive.js +13 -15
- package/lib/cjs/function/utils/isPrime.js +63 -19
- package/lib/cjs/function/utils/isZero.js +23 -25
- package/lib/cjs/function/utils/numeric.js +16 -18
- package/lib/cjs/function/utils/typeOf.js +40 -51
- package/lib/cjs/header.js +3 -3
- package/lib/cjs/index.js +0 -2
- package/lib/cjs/json/replacer.js +2 -6
- package/lib/cjs/json/reviver.js +2 -8
- package/lib/cjs/number.js +0 -2
- package/lib/cjs/plain/bignumber/arithmetic.js +2 -12
- package/lib/cjs/plain/bignumber/index.js +1 -8
- package/lib/cjs/plain/number/arithmetic.js +47 -131
- package/lib/cjs/plain/number/bitwise.js +0 -23
- package/lib/cjs/plain/number/combinations.js +17 -15
- package/lib/cjs/plain/number/constants.js +5 -10
- package/lib/cjs/plain/number/index.js +0 -18
- package/lib/cjs/plain/number/logical.js +1 -9
- package/lib/cjs/plain/number/probability.js +41 -18
- package/lib/cjs/plain/number/trigonometry.js +1 -53
- package/lib/cjs/plain/number/utils.js +1 -13
- package/lib/cjs/type/bignumber/BigNumber.js +9 -19
- package/lib/cjs/type/bignumber/function/bignumber.js +31 -11
- package/lib/cjs/type/boolean.js +9 -15
- package/lib/cjs/type/chain/Chain.js +36 -42
- package/lib/cjs/type/chain/function/chain.js +3 -7
- package/lib/cjs/type/complex/Complex.js +17 -41
- package/lib/cjs/type/complex/function/complex.js +8 -13
- package/lib/cjs/type/fraction/Fraction.js +9 -12
- package/lib/cjs/type/fraction/function/fraction.js +36 -21
- package/lib/cjs/type/matrix/DenseMatrix.js +288 -227
- package/lib/cjs/type/matrix/FibonacciHeap.js +121 -162
- package/lib/cjs/type/matrix/ImmutableDenseMatrix.js +22 -46
- package/lib/cjs/type/matrix/Matrix.js +28 -39
- package/lib/cjs/type/matrix/MatrixIndex.js +62 -72
- package/lib/cjs/type/matrix/Range.js +16 -53
- package/lib/cjs/type/matrix/Spa.js +36 -57
- package/lib/cjs/type/matrix/SparseMatrix.js +524 -551
- package/lib/cjs/type/matrix/function/index.js +9 -12
- package/lib/cjs/type/matrix/function/matrix.js +8 -13
- package/lib/cjs/type/matrix/function/sparse.js +9 -7
- package/lib/cjs/type/matrix/utils/broadcast.js +77 -0
- package/lib/cjs/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +40 -41
- package/lib/cjs/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +48 -49
- package/lib/cjs/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +45 -46
- package/lib/cjs/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +78 -79
- package/lib/cjs/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +78 -80
- package/lib/cjs/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +66 -67
- package/lib/cjs/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +52 -55
- package/lib/cjs/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +73 -74
- package/lib/cjs/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +62 -62
- package/lib/cjs/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +38 -39
- package/lib/cjs/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +44 -44
- package/lib/cjs/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +38 -39
- package/lib/cjs/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +31 -34
- package/lib/cjs/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +23 -25
- package/lib/cjs/type/matrix/utils/matrixAlgorithmSuite.js +222 -0
- package/lib/cjs/type/number.js +83 -25
- package/lib/cjs/type/resultset/ResultSet.js +7 -16
- package/lib/cjs/type/string.js +7 -11
- package/lib/cjs/type/unit/Unit.js +382 -515
- package/lib/cjs/type/unit/function/createUnit.js +5 -8
- package/lib/cjs/type/unit/function/splitUnit.js +3 -7
- package/lib/cjs/type/unit/function/unit.js +20 -15
- package/lib/cjs/type/unit/physicalConstants.js +66 -114
- package/lib/cjs/utils/applyCallback.js +73 -0
- package/lib/cjs/utils/array.js +368 -174
- package/lib/cjs/utils/bignumber/bitwise.js +14 -97
- package/lib/cjs/utils/bignumber/constants.js +20 -19
- package/lib/cjs/utils/bignumber/formatter.js +92 -31
- package/lib/cjs/utils/bignumber/nearlyEqual.js +8 -10
- package/lib/cjs/utils/collection.js +25 -68
- package/lib/cjs/utils/complex.js +0 -2
- package/lib/cjs/utils/customs.js +39 -48
- package/lib/cjs/utils/emitter.js +3 -5
- package/lib/cjs/utils/factory.js +14 -31
- package/lib/cjs/utils/function.js +31 -27
- package/lib/cjs/utils/is.js +64 -92
- package/lib/cjs/utils/latex.js +17 -24
- package/lib/cjs/utils/log.js +2 -9
- package/lib/cjs/utils/lruQueue.js +57 -0
- package/lib/cjs/utils/map.js +166 -0
- package/lib/cjs/utils/noop.js +1 -6
- package/lib/cjs/utils/number.js +176 -167
- package/lib/cjs/utils/object.js +43 -98
- package/lib/cjs/utils/print.js +7 -0
- package/lib/cjs/utils/product.js +0 -4
- package/lib/cjs/utils/scope.js +29 -0
- package/lib/cjs/utils/snapshot.js +53 -108
- package/lib/cjs/utils/string.js +41 -61
- package/lib/cjs/utils/switch.js +26 -0
- package/lib/cjs/version.js +3 -4
- package/lib/esm/constants.js +24 -20
- package/lib/esm/core/create.js +29 -30
- package/lib/esm/core/function/config.js +12 -10
- package/lib/esm/core/function/import.js +23 -70
- package/lib/esm/core/function/typed.js +63 -39
- package/lib/esm/entry/configReadonly.js +3 -5
- package/lib/esm/entry/dependenciesAny/dependenciesAdd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAnd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAndTransform.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesAtan2.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBin.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitAnd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitAndTransform.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitOr.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitOrTransform.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesBitXor.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCeil.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCompare.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCompareText.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCorr.generated.js +28 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCount.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCumSum.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesCumSumTransform.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDet.generated.js +6 -4
- package/lib/esm/entry/dependenciesAny/dependenciesDistance.generated.js +4 -4
- package/lib/esm/entry/dependenciesAny/dependenciesDotDivide.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDotMultiply.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesDotPow.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesEigs.generated.js +36 -0
- package/lib/esm/entry/dependenciesAny/dependenciesEqual.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFft.generated.js +34 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFix.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFloor.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesFreqz.generated.js +20 -0
- package/lib/esm/entry/dependenciesAny/dependenciesGcd.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesHex.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIfft.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIndexClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIndexNode.generated.js +0 -2
- package/lib/esm/entry/dependenciesAny/dependenciesIndexTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIntersect.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesInvmod.generated.js +24 -0
- package/lib/esm/entry/dependenciesAny/dependenciesKldivergence.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLarger.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLargerEq.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLcm.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLeafCount.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLeftShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLgamma.generated.js +12 -0
- package/lib/esm/entry/dependenciesAny/dependenciesLsolve.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesLsolveAll.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesLup.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesLyap.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromColumns.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromFunction.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMatrixFromRows.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesMod.generated.js +6 -0
- package/lib/esm/entry/dependenciesAny/dependenciesNthRoot.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOct.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOr.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesOrTransform.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny/dependenciesParserClass.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesPinv.generated.js +32 -0
- package/lib/esm/entry/dependenciesAny/dependenciesPolynomialRoot.generated.js +34 -0
- package/lib/esm/entry/dependenciesAny/dependenciesPow.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesPrintTransform.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesQr.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesQuantileSeq.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesQuantileSeqTransform.generated.js +32 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRange.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRangeTransform.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRationalize.generated.js +14 -0
- package/lib/esm/entry/dependenciesAny/dependenciesResolve.generated.js +20 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRightArithShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesRightLogShift.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSchur.generated.js +22 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplify.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyConstant.generated.js +32 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSimplifyCore.generated.js +44 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSmaller.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSmallerEq.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSolveODE.generated.js +38 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSqrtm.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStd.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStdTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesStirlingS2.generated.js +6 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSubset.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSubsetTransform.generated.js +4 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSubtract.generated.js +4 -2
- package/lib/esm/entry/dependenciesAny/dependenciesSubtractScalar.generated.js +10 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSylvester.generated.js +38 -0
- package/lib/esm/entry/dependenciesAny/dependenciesSymbolicEqual.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny/dependenciesTo.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesUnequal.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesUnitClass.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesUsolve.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesUsolveAll.generated.js +2 -2
- package/lib/esm/entry/dependenciesAny/dependenciesXor.generated.js +2 -0
- package/lib/esm/entry/dependenciesAny/dependenciesZeta.generated.js +38 -0
- package/lib/esm/entry/dependenciesAny/dependenciesZpk2tf.generated.js +18 -0
- package/lib/esm/entry/dependenciesAny.generated.js +297 -266
- package/lib/esm/entry/dependenciesNumber/dependenciesCeil.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesChainClass.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCorr.generated.js +28 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCumSum.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesCumSumTransform.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesFix.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesFloor.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesIndexNode.generated.js +0 -2
- package/lib/esm/entry/dependenciesNumber/dependenciesLgamma.generated.js +10 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesParserClass.generated.js +2 -2
- package/lib/esm/entry/dependenciesNumber/dependenciesQuantileSeq.generated.js +12 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRange.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRangeTransform.generated.js +4 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesRationalize.generated.js +14 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesResolve.generated.js +20 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplify.generated.js +16 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyConstant.generated.js +28 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesSimplifyCore.generated.js +44 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStd.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStdTransform.generated.js +2 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesStirlingS2.generated.js +4 -2
- package/lib/esm/entry/dependenciesNumber/dependenciesSubtractScalar.generated.js +10 -0
- package/lib/esm/entry/dependenciesNumber/dependenciesZeta.generated.js +34 -0
- package/lib/esm/entry/dependenciesNumber.generated.js +171 -163
- package/lib/esm/entry/impureFunctionsAny.generated.js +425 -274
- package/lib/esm/entry/impureFunctionsNumber.generated.js +283 -216
- package/lib/esm/entry/mainAny.js +10 -5
- package/lib/esm/entry/mainNumber.js +10 -5
- package/lib/esm/entry/pureFunctionsAny.generated.js +1028 -753
- package/lib/esm/entry/pureFunctionsNumber.generated.js +279 -223
- package/lib/esm/entry/typeChecks.js +1 -1
- package/lib/esm/error/ArgumentsError.js +0 -1
- package/lib/esm/error/DimensionError.js +0 -1
- package/lib/esm/error/IndexError.js +0 -4
- package/lib/esm/expression/Help.js +9 -23
- package/lib/esm/expression/Parser.js +36 -37
- package/lib/esm/expression/embeddedDocs/construction/fraction.js +3 -3
- package/lib/esm/expression/embeddedDocs/construction/index.js +1 -1
- package/lib/esm/expression/embeddedDocs/core/typed.js +1 -1
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +261 -209
- package/lib/esm/expression/embeddedDocs/function/algebra/leafCount.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/lyap.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/polynomialRoot.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/resolve.js +9 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/schur.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplify.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyConstant.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/simplifyCore.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/sylvester.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/algebra/symbolicEqual.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/arithmetic/invmod.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/arithmetic/pow.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/arithmetic/round.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/arithmetic/sqrtm.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/expression/evaluate.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/matrix/column.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/count.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/diff.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/eigs.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/forEach.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromColumns.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromFunction.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/matrixFromRows.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/partitionSelect.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/pinv.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/range.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/reshape.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/rotate.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/row.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/size.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/sort.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/matrix/subset.js +2 -2
- package/lib/esm/expression/embeddedDocs/function/numeric/solveODE.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/probability/lgamma.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/set/setCartesian.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/signal/freqz.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/signal/zpk2tf.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/special/zeta.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/statistics/corr.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/statistics/cumsum.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/statistics/max.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/mean.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/min.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/std.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/sum.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/statistics/variance.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/utils/numeric.js +1 -1
- package/lib/esm/expression/embeddedDocs/function/utils/print.js +1 -1
- package/lib/esm/expression/function/compile.js +1 -2
- package/lib/esm/expression/function/evaluate.js +6 -6
- package/lib/esm/expression/function/help.js +2 -7
- package/lib/esm/expression/function/parser.js +6 -7
- package/lib/esm/expression/keywords.js +1 -3
- package/lib/esm/expression/node/AccessorNode.js +150 -170
- package/lib/esm/expression/node/ArrayNode.js +149 -159
- package/lib/esm/expression/node/AssignmentNode.js +249 -267
- package/lib/esm/expression/node/BlockNode.js +156 -164
- package/lib/esm/expression/node/ConditionalNode.js +186 -201
- package/lib/esm/expression/node/ConstantNode.js +145 -163
- package/lib/esm/expression/node/FunctionAssignmentNode.js +195 -195
- package/lib/esm/expression/node/FunctionNode.js +367 -357
- package/lib/esm/expression/node/IndexNode.js +178 -230
- package/lib/esm/expression/node/Node.js +316 -375
- package/lib/esm/expression/node/ObjectNode.js +154 -177
- package/lib/esm/expression/node/OperatorNode.js +399 -456
- package/lib/esm/expression/node/ParenthesisNode.js +126 -138
- package/lib/esm/expression/node/RangeNode.js +200 -238
- package/lib/esm/expression/node/RelationalNode.js +169 -183
- package/lib/esm/expression/node/SymbolNode.js +156 -170
- package/lib/esm/expression/node/utils/access.js +0 -2
- package/lib/esm/expression/node/utils/assign.js +7 -4
- package/lib/esm/expression/operators.js +101 -33
- package/lib/esm/expression/parse.js +273 -388
- package/lib/esm/expression/transform/and.transform.js +35 -0
- package/lib/esm/expression/transform/apply.transform.js +4 -5
- package/lib/esm/expression/transform/bitAnd.transform.js +40 -0
- package/lib/esm/expression/transform/bitOr.transform.js +41 -0
- package/lib/esm/expression/transform/column.transform.js +4 -5
- package/lib/esm/expression/transform/concat.transform.js +2 -4
- package/lib/esm/expression/transform/cumsum.transform.js +46 -0
- package/lib/esm/expression/transform/diff.transform.js +4 -14
- package/lib/esm/expression/transform/filter.transform.js +8 -21
- package/lib/esm/expression/transform/forEach.transform.js +6 -22
- package/lib/esm/expression/transform/index.transform.js +13 -12
- package/lib/esm/expression/transform/map.transform.js +8 -23
- package/lib/esm/expression/transform/max.transform.js +4 -14
- package/lib/esm/expression/transform/mean.transform.js +4 -14
- package/lib/esm/expression/transform/min.transform.js +4 -14
- package/lib/esm/expression/transform/or.transform.js +33 -0
- package/lib/esm/expression/transform/print.transform.js +42 -0
- package/lib/esm/expression/transform/quantileSeq.transform.js +59 -0
- package/lib/esm/expression/transform/range.transform.js +9 -7
- package/lib/esm/expression/transform/row.transform.js +4 -5
- package/lib/esm/expression/transform/std.transform.js +7 -15
- package/lib/esm/expression/transform/subset.transform.js +9 -5
- package/lib/esm/expression/transform/sum.transform.js +5 -15
- package/lib/esm/expression/transform/utils/compileInlineExpression.js +7 -8
- package/lib/esm/expression/transform/utils/errorTransform.js +1 -2
- package/lib/esm/expression/transform/utils/lastDimToZeroBase.js +17 -0
- package/lib/esm/expression/transform/variance.transform.js +4 -14
- package/lib/esm/factoriesAny.js +36 -3
- package/lib/esm/factoriesNumber.js +83 -38
- package/lib/esm/function/algebra/decomposition/lup.js +128 -162
- package/lib/esm/function/algebra/decomposition/qr.js +30 -45
- package/lib/esm/function/algebra/decomposition/schur.js +70 -0
- package/lib/esm/function/algebra/decomposition/slu.js +10 -9
- package/lib/esm/function/algebra/derivative.js +63 -164
- package/lib/esm/function/algebra/leafCount.js +54 -0
- package/lib/esm/function/algebra/lyap.js +52 -0
- package/lib/esm/function/algebra/polynomialRoot.js +122 -0
- package/lib/esm/function/algebra/rationalize.js +220 -272
- package/lib/esm/function/algebra/resolve.js +97 -0
- package/lib/esm/function/algebra/simplify/util.js +148 -67
- package/lib/esm/function/algebra/simplify/wildcards.js +20 -0
- package/lib/esm/function/algebra/simplify.js +823 -380
- package/lib/esm/function/algebra/simplifyConstant.js +457 -0
- package/lib/esm/function/algebra/simplifyCore.js +288 -0
- package/lib/esm/function/algebra/solver/lsolve.js +27 -31
- package/lib/esm/function/algebra/solver/lsolveAll.js +34 -35
- package/lib/esm/function/algebra/solver/lusolve.js +10 -15
- package/lib/esm/function/algebra/solver/usolve.js +31 -36
- package/lib/esm/function/algebra/solver/usolveAll.js +38 -35
- package/lib/esm/function/algebra/solver/utils/solveValidation.js +9 -33
- package/lib/esm/function/algebra/sparse/csAmd.js +249 -298
- package/lib/esm/function/algebra/sparse/csChol.js +66 -78
- package/lib/esm/function/algebra/sparse/csCounts.js +38 -53
- package/lib/esm/function/algebra/sparse/csCumsum.js +8 -10
- package/lib/esm/function/algebra/sparse/csDfs.js +35 -39
- package/lib/esm/function/algebra/sparse/csEreach.js +25 -29
- package/lib/esm/function/algebra/sparse/csEtree.js +23 -27
- package/lib/esm/function/algebra/sparse/csFkeep.js +20 -24
- package/lib/esm/function/algebra/sparse/csIpvec.js +2 -3
- package/lib/esm/function/algebra/sparse/csLeaf.js +15 -17
- package/lib/esm/function/algebra/sparse/csLu.js +69 -87
- package/lib/esm/function/algebra/sparse/csMark.js +1 -1
- package/lib/esm/function/algebra/sparse/csPermute.js +20 -24
- package/lib/esm/function/algebra/sparse/csPost.js +15 -23
- package/lib/esm/function/algebra/sparse/csReach.js +15 -17
- package/lib/esm/function/algebra/sparse/csSpsolve.js +31 -36
- package/lib/esm/function/algebra/sparse/csSqr.js +61 -78
- package/lib/esm/function/algebra/sparse/csSymperm.js +33 -41
- package/lib/esm/function/algebra/sparse/csTdfs.js +12 -14
- package/lib/esm/function/algebra/sparse/csUnflip.js +1 -1
- package/lib/esm/function/algebra/sylvester.js +118 -0
- package/lib/esm/function/algebra/symbolicEqual.js +60 -0
- package/lib/esm/function/arithmetic/abs.js +4 -18
- package/lib/esm/function/arithmetic/add.js +59 -104
- package/lib/esm/function/arithmetic/addScalar.js +10 -7
- package/lib/esm/function/arithmetic/cbrt.js +16 -26
- package/lib/esm/function/arithmetic/ceil.js +76 -42
- package/lib/esm/function/arithmetic/cube.js +6 -11
- package/lib/esm/function/arithmetic/divide.js +10 -9
- package/lib/esm/function/arithmetic/divideScalar.js +3 -21
- package/lib/esm/function/arithmetic/dotDivide.js +28 -68
- package/lib/esm/function/arithmetic/dotMultiply.js +22 -64
- package/lib/esm/function/arithmetic/dotPow.js +34 -66
- package/lib/esm/function/arithmetic/exp.js +9 -13
- package/lib/esm/function/arithmetic/expm1.js +11 -11
- package/lib/esm/function/arithmetic/fix.js +60 -25
- package/lib/esm/function/arithmetic/floor.js +81 -42
- package/lib/esm/function/arithmetic/gcd.js +86 -79
- package/lib/esm/function/arithmetic/hypot.js +8 -12
- package/lib/esm/function/arithmetic/invmod.js +55 -0
- package/lib/esm/function/arithmetic/lcm.js +33 -81
- package/lib/esm/function/arithmetic/log.js +8 -12
- package/lib/esm/function/arithmetic/log10.js +2 -5
- package/lib/esm/function/arithmetic/log1p.js +6 -10
- package/lib/esm/function/arithmetic/log2.js +3 -6
- package/lib/esm/function/arithmetic/mod.js +59 -78
- package/lib/esm/function/arithmetic/multiply.js +330 -351
- package/lib/esm/function/arithmetic/multiplyScalar.js +3 -15
- package/lib/esm/function/arithmetic/norm.js +32 -62
- package/lib/esm/function/arithmetic/nthRoot.js +53 -96
- package/lib/esm/function/arithmetic/nthRoots.js +10 -16
- package/lib/esm/function/arithmetic/pow.js +44 -37
- package/lib/esm/function/arithmetic/round.js +71 -77
- package/lib/esm/function/arithmetic/sign.js +10 -10
- package/lib/esm/function/arithmetic/sqrt.js +7 -11
- package/lib/esm/function/arithmetic/square.js +7 -11
- package/lib/esm/function/arithmetic/subtract.js +37 -121
- package/lib/esm/function/arithmetic/subtractScalar.js +46 -0
- package/lib/esm/function/arithmetic/unaryMinus.js +8 -18
- package/lib/esm/function/arithmetic/unaryPlus.js +3 -6
- package/lib/esm/function/arithmetic/xgcd.js +10 -13
- package/lib/esm/function/bitwise/bitAnd.js +22 -63
- package/lib/esm/function/bitwise/bitNot.js +3 -6
- package/lib/esm/function/bitwise/bitOr.js +22 -63
- package/lib/esm/function/bitwise/bitXor.js +22 -63
- package/lib/esm/function/bitwise/leftShift.js +45 -69
- package/lib/esm/function/bitwise/rightArithShift.js +46 -70
- package/lib/esm/function/bitwise/rightLogShift.js +46 -68
- package/lib/esm/function/bitwise/useMatrixForArrayScalar.js +13 -0
- package/lib/esm/function/combinatorics/bellNumbers.js +3 -6
- package/lib/esm/function/combinatorics/catalan.js +1 -3
- package/lib/esm/function/combinatorics/composition.js +1 -3
- package/lib/esm/function/combinatorics/stirlingS2.js +39 -18
- package/lib/esm/function/complex/arg.js +3 -5
- package/lib/esm/function/complex/conj.js +4 -14
- package/lib/esm/function/complex/im.js +5 -14
- package/lib/esm/function/complex/re.js +4 -14
- package/lib/esm/function/geometry/distance.js +38 -81
- package/lib/esm/function/geometry/intersect.js +87 -87
- package/lib/esm/function/logical/and.js +41 -65
- package/lib/esm/function/logical/not.js +4 -8
- package/lib/esm/function/logical/or.js +22 -65
- package/lib/esm/function/logical/xor.js +22 -65
- package/lib/esm/function/matrix/apply.js +3 -17
- package/lib/esm/function/matrix/column.js +5 -5
- package/lib/esm/function/matrix/concat.js +10 -46
- package/lib/esm/function/matrix/count.js +39 -0
- package/lib/esm/function/matrix/cross.js +2 -6
- package/lib/esm/function/matrix/ctranspose.js +1 -2
- package/lib/esm/function/matrix/det.js +43 -48
- package/lib/esm/function/matrix/diag.js +19 -28
- package/lib/esm/function/matrix/diff.js +11 -31
- package/lib/esm/function/matrix/dot.js +19 -40
- package/lib/esm/function/matrix/eigs/complexEigs.js +698 -0
- package/lib/esm/function/matrix/eigs/realSymmetric.js +297 -0
- package/lib/esm/function/matrix/eigs.js +258 -360
- package/lib/esm/function/matrix/expm.js +24 -36
- package/lib/esm/function/matrix/fft.js +128 -0
- package/lib/esm/function/matrix/filter.js +4 -14
- package/lib/esm/function/matrix/flatten.js +6 -7
- package/lib/esm/function/matrix/forEach.js +6 -18
- package/lib/esm/function/matrix/getMatrixDataType.js +2 -3
- package/lib/esm/function/matrix/identity.js +10 -21
- package/lib/esm/function/matrix/ifft.js +37 -0
- package/lib/esm/function/matrix/inv.js +13 -32
- package/lib/esm/function/matrix/kron.js +2 -6
- package/lib/esm/function/matrix/map.js +23 -23
- package/lib/esm/function/matrix/matrixFromColumns.js +88 -0
- package/lib/esm/function/matrix/matrixFromFunction.js +74 -0
- package/lib/esm/function/matrix/matrixFromRows.js +76 -0
- package/lib/esm/function/matrix/ones.js +8 -16
- package/lib/esm/function/matrix/partitionSelect.js +20 -23
- package/lib/esm/function/matrix/pinv.js +179 -0
- package/lib/esm/function/matrix/range.js +38 -137
- package/lib/esm/function/matrix/reshape.js +8 -10
- package/lib/esm/function/matrix/resize.js +6 -19
- package/lib/esm/function/matrix/rotate.js +6 -15
- package/lib/esm/function/matrix/rotationMatrix.js +4 -20
- package/lib/esm/function/matrix/row.js +5 -5
- package/lib/esm/function/matrix/size.js +2 -3
- package/lib/esm/function/matrix/sort.js +5 -15
- package/lib/esm/function/matrix/sqrtm.js +8 -15
- package/lib/esm/function/matrix/squeeze.js +3 -4
- package/lib/esm/function/matrix/subset.js +113 -58
- package/lib/esm/function/matrix/trace.js +21 -31
- package/lib/esm/function/matrix/transpose.js +79 -94
- package/lib/esm/function/matrix/zeros.js +11 -17
- package/lib/esm/function/numeric/solveODE.js +284 -0
- package/lib/esm/function/probability/combinations.js +4 -9
- package/lib/esm/function/probability/combinationsWithRep.js +2 -13
- package/lib/esm/function/probability/factorial.js +2 -7
- package/lib/esm/function/probability/gamma.js +48 -59
- package/lib/esm/function/probability/kldivergence.js +6 -15
- package/lib/esm/function/probability/lgamma.js +137 -0
- package/lib/esm/function/probability/multinomial.js +1 -3
- package/lib/esm/function/probability/permutations.js +6 -14
- package/lib/esm/function/probability/pickRandom.js +6 -22
- package/lib/esm/function/probability/random.js +6 -12
- package/lib/esm/function/probability/randomInt.js +2 -6
- package/lib/esm/function/probability/util/randomMatrix.js +0 -2
- package/lib/esm/function/probability/util/seededRNG.js +6 -5
- package/lib/esm/function/relational/compare.js +28 -72
- package/lib/esm/function/relational/compareNatural.js +73 -93
- package/lib/esm/function/relational/compareText.js +17 -47
- package/lib/esm/function/relational/compareUnits.js +14 -0
- package/lib/esm/function/relational/deepEqual.js +2 -6
- package/lib/esm/function/relational/equal.js +26 -88
- package/lib/esm/function/relational/equalScalar.js +7 -10
- package/lib/esm/function/relational/equalText.js +1 -2
- package/lib/esm/function/relational/larger.js +30 -78
- package/lib/esm/function/relational/largerEq.js +30 -78
- package/lib/esm/function/relational/smaller.js +30 -78
- package/lib/esm/function/relational/smallerEq.js +30 -78
- package/lib/esm/function/relational/unequal.js +26 -89
- package/lib/esm/function/set/setCartesian.js +8 -11
- package/lib/esm/function/set/setDifference.js +5 -12
- package/lib/esm/function/set/setDistinct.js +5 -10
- package/lib/esm/function/set/setIntersect.js +5 -10
- package/lib/esm/function/set/setIsSubset.js +2 -8
- package/lib/esm/function/set/setMultiplicity.js +1 -5
- package/lib/esm/function/set/setPowerset.js +7 -14
- package/lib/esm/function/set/setSize.js +4 -6
- package/lib/esm/function/set/setSymDifference.js +1 -3
- package/lib/esm/function/set/setUnion.js +1 -3
- package/lib/esm/function/signal/freqz.js +115 -0
- package/lib/esm/function/signal/zpk2tf.js +82 -0
- package/lib/esm/function/special/erf.js +16 -26
- package/lib/esm/function/special/zeta.js +148 -0
- package/lib/esm/function/statistics/corr.js +84 -0
- package/lib/esm/function/statistics/cumsum.js +123 -0
- package/lib/esm/function/statistics/mad.js +1 -5
- package/lib/esm/function/statistics/max.js +8 -13
- package/lib/esm/function/statistics/mean.js +5 -10
- package/lib/esm/function/statistics/median.js +10 -13
- package/lib/esm/function/statistics/min.js +7 -12
- package/lib/esm/function/statistics/mode.js +3 -12
- package/lib/esm/function/statistics/prod.js +7 -8
- package/lib/esm/function/statistics/quantileSeq.js +91 -200
- package/lib/esm/function/statistics/std.js +10 -6
- package/lib/esm/function/statistics/sum.js +8 -11
- package/lib/esm/function/statistics/utils/improveErrorMessage.js +1 -4
- package/lib/esm/function/statistics/variance.js +7 -15
- package/lib/esm/function/string/bin.js +24 -3
- package/lib/esm/function/string/format.js +39 -23
- package/lib/esm/function/string/hex.js +25 -5
- package/lib/esm/function/string/oct.js +26 -4
- package/lib/esm/function/string/print.js +7 -7
- package/lib/esm/function/trigonometry/acos.js +5 -9
- package/lib/esm/function/trigonometry/acosh.js +3 -10
- package/lib/esm/function/trigonometry/acot.js +7 -12
- package/lib/esm/function/trigonometry/acoth.js +5 -10
- package/lib/esm/function/trigonometry/acsc.js +7 -13
- package/lib/esm/function/trigonometry/acsch.js +5 -9
- package/lib/esm/function/trigonometry/asec.js +7 -12
- package/lib/esm/function/trigonometry/asech.js +5 -12
- package/lib/esm/function/trigonometry/asin.js +6 -11
- package/lib/esm/function/trigonometry/asinh.js +5 -10
- package/lib/esm/function/trigonometry/atan.js +6 -12
- package/lib/esm/function/trigonometry/atan2.js +33 -69
- package/lib/esm/function/trigonometry/atanh.js +5 -11
- package/lib/esm/function/trigonometry/cos.js +11 -22
- package/lib/esm/function/trigonometry/cosh.js +6 -22
- package/lib/esm/function/trigonometry/cot.js +10 -20
- package/lib/esm/function/trigonometry/coth.js +7 -22
- package/lib/esm/function/trigonometry/csc.js +12 -22
- package/lib/esm/function/trigonometry/csch.js +7 -22
- package/lib/esm/function/trigonometry/sec.js +12 -22
- package/lib/esm/function/trigonometry/sech.js +7 -22
- package/lib/esm/function/trigonometry/sin.js +11 -23
- package/lib/esm/function/trigonometry/sinh.js +6 -23
- package/lib/esm/function/trigonometry/tan.js +11 -23
- package/lib/esm/function/trigonometry/tanh.js +6 -23
- package/lib/esm/function/trigonometry/trigUnit.js +14 -0
- package/lib/esm/function/unit/to.js +17 -50
- package/lib/esm/function/utils/clone.js +2 -3
- package/lib/esm/function/utils/hasNumericValue.js +4 -3
- package/lib/esm/function/utils/isInteger.js +4 -6
- package/lib/esm/function/utils/isNaN.js +2 -3
- package/lib/esm/function/utils/isNegative.js +4 -9
- package/lib/esm/function/utils/isNumeric.js +5 -12
- package/lib/esm/function/utils/isPositive.js +4 -9
- package/lib/esm/function/utils/isPrime.js +56 -14
- package/lib/esm/function/utils/isZero.js +14 -19
- package/lib/esm/function/utils/numeric.js +13 -10
- package/lib/esm/function/utils/typeOf.js +39 -46
- package/lib/esm/header.js +1 -1
- package/lib/esm/json/replacer.js +0 -1
- package/lib/esm/json/reviver.js +1 -4
- package/lib/esm/plain/bignumber/index.js +2 -1
- package/lib/esm/plain/number/arithmetic.js +41 -74
- package/lib/esm/plain/number/bitwise.js +0 -7
- package/lib/esm/plain/number/combinations.js +17 -11
- package/lib/esm/plain/number/probability.js +37 -11
- package/lib/esm/type/bignumber/BigNumber.js +6 -10
- package/lib/esm/type/bignumber/function/bignumber.js +23 -5
- package/lib/esm/type/boolean.js +4 -10
- package/lib/esm/type/chain/Chain.js +35 -35
- package/lib/esm/type/chain/function/chain.js +1 -2
- package/lib/esm/type/complex/Complex.js +14 -30
- package/lib/esm/type/complex/function/complex.js +2 -7
- package/lib/esm/type/fraction/Fraction.js +6 -4
- package/lib/esm/type/fraction/function/fraction.js +28 -15
- package/lib/esm/type/matrix/DenseMatrix.js +240 -220
- package/lib/esm/type/matrix/FibonacciHeap.js +121 -159
- package/lib/esm/type/matrix/ImmutableDenseMatrix.js +20 -39
- package/lib/esm/type/matrix/Matrix.js +26 -34
- package/lib/esm/type/matrix/MatrixIndex.js +64 -68
- package/lib/esm/type/matrix/Range.js +14 -46
- package/lib/esm/type/matrix/Spa.js +33 -51
- package/lib/esm/type/matrix/SparseMatrix.js +504 -553
- package/lib/esm/type/matrix/function/index.js +7 -6
- package/lib/esm/type/matrix/function/matrix.js +4 -6
- package/lib/esm/type/matrix/function/sparse.js +7 -2
- package/lib/esm/type/matrix/utils/broadcast.js +69 -0
- package/lib/esm/type/matrix/utils/{algorithm01.js → matAlgo01xDSid.js} +38 -35
- package/lib/esm/type/matrix/utils/{algorithm02.js → matAlgo02xDS0.js} +45 -42
- package/lib/esm/type/matrix/utils/{algorithm03.js → matAlgo03xDSf.js} +43 -40
- package/lib/esm/type/matrix/utils/{algorithm04.js → matAlgo04xSidSid.js} +75 -72
- package/lib/esm/type/matrix/utils/{algorithm05.js → matAlgo05xSfSf.js} +75 -73
- package/lib/esm/type/matrix/utils/{algorithm06.js → matAlgo06xS0S0.js} +63 -59
- package/lib/esm/type/matrix/utils/{algorithm07.js → matAlgo07xSSf.js} +49 -48
- package/lib/esm/type/matrix/utils/{algorithm08.js → matAlgo08xS0Sid.js} +70 -67
- package/lib/esm/type/matrix/utils/{algorithm09.js → matAlgo09xS0Sf.js} +59 -55
- package/lib/esm/type/matrix/utils/{algorithm10.js → matAlgo10xSids.js} +35 -33
- package/lib/esm/type/matrix/utils/{algorithm11.js → matAlgo11xS0s.js} +41 -38
- package/lib/esm/type/matrix/utils/{algorithm12.js → matAlgo12xSfs.js} +35 -33
- package/lib/esm/type/matrix/utils/{algorithm13.js → matAlgo13xDD.js} +29 -28
- package/lib/esm/type/matrix/utils/{algorithm14.js → matAlgo14xDs.js} +21 -19
- package/lib/esm/type/matrix/utils/matrixAlgorithmSuite.js +156 -0
- package/lib/esm/type/number.js +76 -20
- package/lib/esm/type/resultset/ResultSet.js +5 -11
- package/lib/esm/type/string.js +2 -5
- package/lib/esm/type/unit/Unit.js +361 -493
- package/lib/esm/type/unit/function/createUnit.js +3 -3
- package/lib/esm/type/unit/function/splitUnit.js +2 -3
- package/lib/esm/type/unit/function/unit.js +14 -9
- package/lib/esm/type/unit/physicalConstants.js +24 -17
- package/lib/esm/utils/applyCallback.js +67 -0
- package/lib/esm/utils/array.js +341 -137
- package/lib/esm/utils/bignumber/bitwise.js +13 -89
- package/lib/esm/utils/bignumber/constants.js +17 -9
- package/lib/esm/utils/bignumber/formatter.js +94 -28
- package/lib/esm/utils/bignumber/nearlyEqual.js +8 -9
- package/lib/esm/utils/collection.js +25 -60
- package/lib/esm/utils/complex.js +1 -1
- package/lib/esm/utils/customs.js +31 -40
- package/lib/esm/utils/emitter.js +3 -2
- package/lib/esm/utils/factory.js +12 -20
- package/lib/esm/utils/function.js +29 -20
- package/lib/esm/utils/is.js +33 -23
- package/lib/esm/utils/latex.js +10 -8
- package/lib/esm/utils/log.js +0 -2
- package/lib/esm/utils/lruQueue.js +51 -0
- package/lib/esm/utils/map.js +120 -0
- package/lib/esm/utils/number.js +158 -106
- package/lib/esm/utils/object.js +34 -70
- package/lib/esm/utils/print.js +1 -0
- package/lib/esm/utils/product.js +0 -3
- package/lib/esm/utils/scope.js +24 -0
- package/lib/esm/utils/snapshot.js +37 -86
- package/lib/esm/utils/string.js +36 -48
- package/lib/esm/utils/switch.js +20 -0
- package/lib/esm/version.js +2 -1
- package/package.json +71 -45
- package/types/EXPLANATION.md +54 -0
- package/types/index.d.ts +6967 -0
- package/types/tslint.json +6 -0
- package/docs/command_line_interface.md +0 -87
- package/docs/core/chaining.md +0 -41
- package/docs/core/configuration.md +0 -144
- package/docs/core/extension.md +0 -263
- package/docs/core/index.md +0 -21
- package/docs/core/serialization.md +0 -50
- package/docs/custom_bundling.md +0 -116
- package/docs/datatypes/bignumbers.md +0 -102
- package/docs/datatypes/complex_numbers.md +0 -168
- package/docs/datatypes/fractions.md +0 -75
- package/docs/datatypes/index.md +0 -67
- package/docs/datatypes/matrices.md +0 -343
- package/docs/datatypes/numbers.md +0 -106
- package/docs/datatypes/units.md +0 -444
- package/docs/expressions/algebra.md +0 -83
- package/docs/expressions/customization.md +0 -379
- package/docs/expressions/expression_trees.md +0 -699
- package/docs/expressions/html_classes.md +0 -38
- package/docs/expressions/index.md +0 -21
- package/docs/expressions/parsing.md +0 -207
- package/docs/expressions/security.md +0 -89
- package/docs/expressions/syntax.md +0 -648
- package/docs/getting_started.md +0 -124
- package/docs/index.md +0 -39
- package/docs/reference/.gitignore +0 -1
- package/docs/reference/.npmignore +0 -1
- package/docs/reference/classes/densematrix.md +0 -247
- package/docs/reference/classes/fibonacciheap.md +0 -70
- package/docs/reference/classes/matrixindex.md +0 -133
- package/docs/reference/classes/matrixrange.md +0 -158
- package/docs/reference/classes/resultset.md +0 -47
- package/docs/reference/classes/sparsematrix.md +0 -245
- package/docs/reference/classes/unit.md +0 -242
- package/docs/reference/classes.md +0 -86
- package/docs/reference/constants.md +0 -29
- package/docs/reference/functions/.gitignore +0 -1
- package/docs/reference/functions/.npmignore +0 -1
- package/docs/reference/functions/abs.md +0 -40
- package/docs/reference/functions/acos.md +0 -43
- package/docs/reference/functions/acosh.md +0 -41
- package/docs/reference/functions/acot.md +0 -42
- package/docs/reference/functions/acoth.md +0 -40
- package/docs/reference/functions/acsc.md +0 -43
- package/docs/reference/functions/acsch.md +0 -40
- package/docs/reference/functions/add.md +0 -53
- package/docs/reference/functions/and.md +0 -47
- package/docs/reference/functions/apply.md +0 -50
- package/docs/reference/functions/arg.md +0 -47
- package/docs/reference/functions/asec.md +0 -43
- package/docs/reference/functions/asech.md +0 -40
- package/docs/reference/functions/asin.md +0 -43
- package/docs/reference/functions/asinh.md +0 -40
- package/docs/reference/functions/atan.md +0 -43
- package/docs/reference/functions/atan2.md +0 -50
- package/docs/reference/functions/atanh.md +0 -40
- package/docs/reference/functions/bellNumbers.md +0 -39
- package/docs/reference/functions/bignumber.md +0 -47
- package/docs/reference/functions/bin.md +0 -38
- package/docs/reference/functions/bitAnd.md +0 -45
- package/docs/reference/functions/bitNot.md +0 -45
- package/docs/reference/functions/bitOr.md +0 -46
- package/docs/reference/functions/bitXor.md +0 -45
- package/docs/reference/functions/boolean.md +0 -50
- package/docs/reference/functions/catalan.md +0 -39
- package/docs/reference/functions/cbrt.md +0 -54
- package/docs/reference/functions/ceil.md +0 -57
- package/docs/reference/functions/chain.md +0 -54
- package/docs/reference/functions/clone.md +0 -37
- package/docs/reference/functions/column.md +0 -39
- package/docs/reference/functions/combinations.md +0 -43
- package/docs/reference/functions/combinationsWithRep.md +0 -43
- package/docs/reference/functions/compare.md +0 -61
- package/docs/reference/functions/compareNatural.md +0 -86
- package/docs/reference/functions/compareText.md +0 -48
- package/docs/reference/functions/compile.md +0 -50
- package/docs/reference/functions/complex.md +0 -61
- package/docs/reference/functions/composition.md +0 -40
- package/docs/reference/functions/concat.md +0 -50
- package/docs/reference/functions/config.md +0 -44
- package/docs/reference/functions/conj.md +0 -44
- package/docs/reference/functions/cos.md +0 -45
- package/docs/reference/functions/cosh.md +0 -40
- package/docs/reference/functions/cot.md +0 -41
- package/docs/reference/functions/coth.md +0 -43
- package/docs/reference/functions/createUnit.md +0 -52
- package/docs/reference/functions/cross.md +0 -52
- package/docs/reference/functions/csc.md +0 -41
- package/docs/reference/functions/csch.md +0 -43
- package/docs/reference/functions/ctranspose.md +0 -44
- package/docs/reference/functions/cube.md +0 -45
- package/docs/reference/functions/deepEqual.md +0 -47
- package/docs/reference/functions/derivative.md +0 -55
- package/docs/reference/functions/det.md +0 -43
- package/docs/reference/functions/diag.md +0 -55
- package/docs/reference/functions/diff.md +0 -64
- package/docs/reference/functions/distance.md +0 -74
- package/docs/reference/functions/divide.md +0 -49
- package/docs/reference/functions/dot.md +0 -42
- package/docs/reference/functions/dotDivide.md +0 -46
- package/docs/reference/functions/dotMultiply.md +0 -46
- package/docs/reference/functions/dotPow.md +0 -43
- package/docs/reference/functions/eigs.md +0 -48
- package/docs/reference/functions/equal.md +0 -69
- package/docs/reference/functions/equalText.md +0 -47
- package/docs/reference/functions/erf.md +0 -43
- package/docs/reference/functions/evaluate.md +0 -50
- package/docs/reference/functions/exp.md +0 -48
- package/docs/reference/functions/expm.md +0 -43
- package/docs/reference/functions/expm1.md +0 -48
- package/docs/reference/functions/factorial.md +0 -43
- package/docs/reference/functions/filter.md +0 -44
- package/docs/reference/functions/fix.md +0 -55
- package/docs/reference/functions/flatten.md +0 -39
- package/docs/reference/functions/floor.md +0 -56
- package/docs/reference/functions/forEach.md +0 -35
- package/docs/reference/functions/format.md +0 -104
- package/docs/reference/functions/fraction.md +0 -45
- package/docs/reference/functions/gamma.md +0 -43
- package/docs/reference/functions/gcd.md +0 -44
- package/docs/reference/functions/getMatrixDataType.md +0 -53
- package/docs/reference/functions/hasNumericValue.md +0 -49
- package/docs/reference/functions/help.md +0 -36
- package/docs/reference/functions/hex.md +0 -38
- package/docs/reference/functions/hypot.md +0 -45
- package/docs/reference/functions/identity.md +0 -51
- package/docs/reference/functions/im.md +0 -47
- package/docs/reference/functions/import.md +0 -68
- package/docs/reference/functions/index.md +0 -55
- package/docs/reference/functions/intersect.md +0 -44
- package/docs/reference/functions/inv.md +0 -39
- package/docs/reference/functions/isInteger.md +0 -49
- package/docs/reference/functions/isNaN.md +0 -50
- package/docs/reference/functions/isNegative.md +0 -49
- package/docs/reference/functions/isNumeric.md +0 -49
- package/docs/reference/functions/isPositive.md +0 -51
- package/docs/reference/functions/isPrime.md +0 -48
- package/docs/reference/functions/isZero.md +0 -53
- package/docs/reference/functions/kldivergence.md +0 -35
- package/docs/reference/functions/kron.md +0 -47
- package/docs/reference/functions/larger.md +0 -54
- package/docs/reference/functions/largerEq.md +0 -50
- package/docs/reference/functions/lcm.md +0 -48
- package/docs/reference/functions/leftShift.md +0 -46
- package/docs/reference/functions/log.md +0 -51
- package/docs/reference/functions/log10.md +0 -44
- package/docs/reference/functions/log1p.md +0 -48
- package/docs/reference/functions/log2.md +0 -44
- package/docs/reference/functions/lsolve.md +0 -45
- package/docs/reference/functions/lsolveAll.md +0 -45
- package/docs/reference/functions/lup.md +0 -46
- package/docs/reference/functions/lusolve.md +0 -53
- package/docs/reference/functions/mad.md +0 -44
- package/docs/reference/functions/map.md +0 -42
- package/docs/reference/functions/matrix.md +0 -56
- package/docs/reference/functions/max.md +0 -55
- package/docs/reference/functions/mean.md +0 -51
- package/docs/reference/functions/median.md +0 -51
- package/docs/reference/functions/min.md +0 -55
- package/docs/reference/functions/mod.md +0 -53
- package/docs/reference/functions/mode.md +0 -44
- package/docs/reference/functions/multinomial.md +0 -40
- package/docs/reference/functions/multiply.md +0 -54
- package/docs/reference/functions/norm.md +0 -53
- package/docs/reference/functions/not.md +0 -44
- package/docs/reference/functions/nthRoot.md +0 -47
- package/docs/reference/functions/nthRoots.md +0 -52
- package/docs/reference/functions/number.md +0 -49
- package/docs/reference/functions/numeric.md +0 -46
- package/docs/reference/functions/oct.md +0 -38
- package/docs/reference/functions/ones.md +0 -53
- package/docs/reference/functions/or.md +0 -47
- package/docs/reference/functions/parse.md +0 -56
- package/docs/reference/functions/parser.md +0 -64
- package/docs/reference/functions/partitionSelect.md +0 -47
- package/docs/reference/functions/permutations.md +0 -45
- package/docs/reference/functions/pickRandom.md +0 -53
- package/docs/reference/functions/pow.md +0 -53
- package/docs/reference/functions/print.md +0 -58
- package/docs/reference/functions/prod.md +0 -49
- package/docs/reference/functions/qr.md +0 -59
- package/docs/reference/functions/quantileSeq.md +0 -56
- package/docs/reference/functions/random.md +0 -48
- package/docs/reference/functions/randomInt.md +0 -47
- package/docs/reference/functions/range.md +0 -64
- package/docs/reference/functions/rationalize.md +0 -62
- package/docs/reference/functions/re.md +0 -47
- package/docs/reference/functions/reshape.md +0 -50
- package/docs/reference/functions/resize.md +0 -45
- package/docs/reference/functions/rightArithShift.md +0 -46
- package/docs/reference/functions/rightLogShift.md +0 -46
- package/docs/reference/functions/rotate.md +0 -47
- package/docs/reference/functions/rotationMatrix.md +0 -51
- package/docs/reference/functions/round.md +0 -55
- package/docs/reference/functions/row.md +0 -39
- package/docs/reference/functions/sec.md +0 -41
- package/docs/reference/functions/sech.md +0 -43
- package/docs/reference/functions/setCartesian.md +0 -41
- package/docs/reference/functions/setDifference.md +0 -41
- package/docs/reference/functions/setDistinct.md +0 -37
- package/docs/reference/functions/setIntersect.md +0 -40
- package/docs/reference/functions/setIsSubset.md +0 -41
- package/docs/reference/functions/setMultiplicity.md +0 -40
- package/docs/reference/functions/setPowerset.md +0 -37
- package/docs/reference/functions/setSize.md +0 -41
- package/docs/reference/functions/setSymDifference.md +0 -41
- package/docs/reference/functions/setUnion.md +0 -40
- package/docs/reference/functions/sign.md +0 -46
- package/docs/reference/functions/simplify.md +0 -90
- package/docs/reference/functions/sin.md +0 -45
- package/docs/reference/functions/sinh.md +0 -40
- package/docs/reference/functions/size.md +0 -43
- package/docs/reference/functions/slu.md +0 -51
- package/docs/reference/functions/smaller.md +0 -54
- package/docs/reference/functions/smallerEq.md +0 -50
- package/docs/reference/functions/sort.md +0 -50
- package/docs/reference/functions/sparse.md +0 -51
- package/docs/reference/functions/splitUnit.md +0 -37
- package/docs/reference/functions/sqrt.md +0 -44
- package/docs/reference/functions/sqrtm.md +0 -40
- package/docs/reference/functions/square.md +0 -45
- package/docs/reference/functions/squeeze.md +0 -47
- package/docs/reference/functions/std.md +0 -70
- package/docs/reference/functions/stirlingS2.md +0 -42
- package/docs/reference/functions/string.md +0 -49
- package/docs/reference/functions/subset.md +0 -51
- package/docs/reference/functions/subtract.md +0 -48
- package/docs/reference/functions/sum.md +0 -47
- package/docs/reference/functions/tan.md +0 -43
- package/docs/reference/functions/tanh.md +0 -44
- package/docs/reference/functions/to.md +0 -41
- package/docs/reference/functions/trace.md +0 -44
- package/docs/reference/functions/transpose.md +0 -43
- package/docs/reference/functions/typeOf.md +0 -75
- package/docs/reference/functions/typed.md +0 -56
- package/docs/reference/functions/unaryMinus.md +0 -43
- package/docs/reference/functions/unaryPlus.md +0 -42
- package/docs/reference/functions/unequal.md +0 -68
- package/docs/reference/functions/unit.md +0 -48
- package/docs/reference/functions/usolve.md +0 -45
- package/docs/reference/functions/usolveAll.md +0 -45
- package/docs/reference/functions/variance.md +0 -72
- package/docs/reference/functions/xgcd.md +0 -41
- package/docs/reference/functions/xor.md +0 -47
- package/docs/reference/functions/zeros.md +0 -51
- package/docs/reference/functions.md +0 -285
- package/docs/reference/index.md +0 -5
- package/examples/advanced/convert_fraction_to_bignumber.js +0 -59
- package/examples/advanced/custom_argument_parsing.js +0 -98
- package/examples/advanced/custom_datatype.js +0 -53
- package/examples/advanced/custom_evaluate_using_factories.js +0 -19
- package/examples/advanced/custom_evaluate_using_import.js +0 -18
- package/examples/advanced/custom_loading.js +0 -33
- package/examples/advanced/custom_relational_functions.js +0 -62
- package/examples/advanced/expression_trees.js +0 -55
- package/examples/advanced/function_transform.js +0 -50
- package/examples/advanced/more_secure_eval.js +0 -36
- package/examples/advanced/use_bigint.js +0 -43
- package/examples/advanced/web_server/math_worker.js +0 -24
- package/examples/advanced/web_server/server.js +0 -80
- package/examples/algebra.js +0 -34
- package/examples/basic_usage.js +0 -49
- package/examples/bignumbers.js +0 -52
- package/examples/browser/angle_configuration.html +0 -134
- package/examples/browser/basic_usage.html +0 -39
- package/examples/browser/currency_conversion.html +0 -125
- package/examples/browser/custom_separators.html +0 -81
- package/examples/browser/plot.html +0 -78
- package/examples/browser/pretty_printing_with_mathjax.html +0 -122
- package/examples/browser/printing_html.html +0 -170
- package/examples/browser/requirejs_loading.html +0 -20
- package/examples/browser/rocket_trajectory_optimization.html +0 -152
- package/examples/browser/webworkers/webworkers.html +0 -80
- package/examples/browser/webworkers/worker.js +0 -28
- package/examples/chaining.js +0 -56
- package/examples/complex_numbers.js +0 -67
- package/examples/expressions.js +0 -188
- package/examples/fractions.js +0 -74
- package/examples/import.js +0 -95
- package/examples/matrices.js +0 -101
- package/examples/objects.js +0 -35
- package/examples/package.json +0 -3
- package/examples/serialization.js +0 -16
- package/examples/sparse_matrices.js +0 -19
- package/examples/units.js +0 -108
- package/lib/cjs/function/algebra/simplify/resolve.js +0 -70
- package/lib/cjs/function/algebra/simplify/simplifyConstant.js +0 -332
- package/lib/cjs/function/algebra/simplify/simplifyCore.js +0 -199
- package/lib/cjs/function/string/baseUtils.js +0 -45
- package/lib/cjs/utils/polyfills.js +0 -14
- package/lib/esm/function/algebra/simplify/resolve.js +0 -62
- package/lib/esm/function/algebra/simplify/simplifyConstant.js +0 -316
- package/lib/esm/function/algebra/simplify/simplifyCore.js +0 -191
- package/lib/esm/function/string/baseUtils.js +0 -38
- package/lib/esm/utils/polyfills.js +0 -12
@@ -2,32 +2,31 @@ import { isArray, isBigNumber, isCollection, isIndex, isMatrix, isNumber, isStri
|
|
2
2
|
import { isInteger } from '../../utils/number.js';
|
3
3
|
import { format } from '../../utils/string.js';
|
4
4
|
import { clone, deepStrictEqual } from '../../utils/object.js';
|
5
|
-
import { arraySize, getArrayDataType, unsqueeze, validateIndex } from '../../utils/array.js';
|
5
|
+
import { arraySize, getArrayDataType, processSizesWildcard, unsqueeze, validateIndex } from '../../utils/array.js';
|
6
6
|
import { factory } from '../../utils/factory.js';
|
7
7
|
import { DimensionError } from '../../error/DimensionError.js';
|
8
|
+
import { maxArgumentCount } from '../../utils/function.js';
|
8
9
|
var name = 'SparseMatrix';
|
9
10
|
var dependencies = ['typed', 'equalScalar', 'Matrix'];
|
10
|
-
export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
11
|
+
export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies, _ref => {
|
11
12
|
var {
|
12
13
|
typed,
|
13
14
|
equalScalar,
|
14
15
|
Matrix
|
15
16
|
} = _ref;
|
16
|
-
|
17
17
|
/**
|
18
|
-
* Sparse Matrix implementation. This type implements
|
19
|
-
*
|
18
|
+
* Sparse Matrix implementation. This type implements
|
19
|
+
* a [Compressed Column Storage](https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_column_(CSC_or_CCS))
|
20
|
+
* format for two-dimensional sparse matrices.
|
20
21
|
* @class SparseMatrix
|
21
22
|
*/
|
22
23
|
function SparseMatrix(data, datatype) {
|
23
24
|
if (!(this instanceof SparseMatrix)) {
|
24
25
|
throw new SyntaxError('Constructor must be called with the new operator');
|
25
26
|
}
|
26
|
-
|
27
27
|
if (datatype && !isString(datatype)) {
|
28
28
|
throw new Error('Invalid datatype: ' + datatype);
|
29
29
|
}
|
30
|
-
|
31
30
|
if (isMatrix(data)) {
|
32
31
|
// create from matrix
|
33
32
|
_createFromMatrix(this, data, datatype);
|
@@ -53,7 +52,6 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
53
52
|
this._datatype = datatype;
|
54
53
|
}
|
55
54
|
}
|
56
|
-
|
57
55
|
function _createFromMatrix(matrix, source, datatype) {
|
58
56
|
// check matrix type
|
59
57
|
if (source.type === 'SparseMatrix') {
|
@@ -68,58 +66,53 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
68
66
|
_createFromArray(matrix, source.valueOf(), datatype || source._datatype);
|
69
67
|
}
|
70
68
|
}
|
71
|
-
|
72
69
|
function _createFromArray(matrix, data, datatype) {
|
73
70
|
// initialize fields
|
74
71
|
matrix._values = [];
|
75
72
|
matrix._index = [];
|
76
73
|
matrix._ptr = [];
|
77
|
-
matrix._datatype = datatype;
|
78
|
-
|
74
|
+
matrix._datatype = datatype;
|
75
|
+
// discover rows & columns, do not use math.size() to avoid looping array twice
|
79
76
|
var rows = data.length;
|
80
|
-
var columns = 0;
|
81
|
-
|
82
|
-
var eq = equalScalar; // zero value
|
77
|
+
var columns = 0;
|
83
78
|
|
79
|
+
// equal signature to use
|
80
|
+
var eq = equalScalar;
|
81
|
+
// zero value
|
84
82
|
var zero = 0;
|
85
|
-
|
86
83
|
if (isString(datatype)) {
|
87
84
|
// find signature that matches (datatype, datatype)
|
88
|
-
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
89
|
-
|
85
|
+
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
86
|
+
// convert 0 to the same datatype
|
90
87
|
zero = typed.convert(0, datatype);
|
91
|
-
}
|
92
|
-
|
88
|
+
}
|
93
89
|
|
90
|
+
// check we have rows (empty array)
|
94
91
|
if (rows > 0) {
|
95
92
|
// column index
|
96
93
|
var j = 0;
|
97
|
-
|
98
94
|
do {
|
99
95
|
// store pointer to values index
|
100
|
-
matrix._ptr.push(matrix._index.length);
|
101
|
-
|
102
|
-
|
96
|
+
matrix._ptr.push(matrix._index.length);
|
97
|
+
// loop rows
|
103
98
|
for (var i = 0; i < rows; i++) {
|
104
99
|
// current row
|
105
|
-
var row = data[i];
|
106
|
-
|
100
|
+
var row = data[i];
|
101
|
+
// check row is an array
|
107
102
|
if (isArray(row)) {
|
108
103
|
// update columns if needed (only on first column)
|
109
104
|
if (j === 0 && columns < row.length) {
|
110
105
|
columns = row.length;
|
111
|
-
}
|
112
|
-
|
113
|
-
|
106
|
+
}
|
107
|
+
// check row has column
|
114
108
|
if (j < row.length) {
|
115
109
|
// value
|
116
|
-
var v = row[j];
|
117
|
-
|
110
|
+
var v = row[j];
|
111
|
+
// check value != 0
|
118
112
|
if (!eq(v, zero)) {
|
119
113
|
// store value
|
120
|
-
matrix._values.push(v);
|
121
|
-
|
122
|
-
|
114
|
+
matrix._values.push(v);
|
115
|
+
// index
|
123
116
|
matrix._index.push(i);
|
124
117
|
}
|
125
118
|
}
|
@@ -127,46 +120,44 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
127
120
|
// update columns if needed (only on first column)
|
128
121
|
if (j === 0 && columns < 1) {
|
129
122
|
columns = 1;
|
130
|
-
}
|
131
|
-
|
132
|
-
|
123
|
+
}
|
124
|
+
// check value != 0 (row is a scalar)
|
133
125
|
if (!eq(row, zero)) {
|
134
126
|
// store value
|
135
|
-
matrix._values.push(row);
|
136
|
-
|
137
|
-
|
127
|
+
matrix._values.push(row);
|
128
|
+
// index
|
138
129
|
matrix._index.push(i);
|
139
130
|
}
|
140
131
|
}
|
141
|
-
}
|
142
|
-
|
143
|
-
|
132
|
+
}
|
133
|
+
// increment index
|
144
134
|
j++;
|
145
135
|
} while (j < columns);
|
146
|
-
}
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
136
|
+
}
|
137
|
+
// store number of values in ptr
|
138
|
+
matrix._ptr.push(matrix._index.length);
|
139
|
+
// size
|
152
140
|
matrix._size = [rows, columns];
|
153
141
|
}
|
154
|
-
|
155
142
|
SparseMatrix.prototype = new Matrix();
|
143
|
+
|
156
144
|
/**
|
157
145
|
* Create a new SparseMatrix
|
158
146
|
*/
|
159
|
-
|
160
147
|
SparseMatrix.prototype.createSparseMatrix = function (data, datatype) {
|
161
148
|
return new SparseMatrix(data, datatype);
|
162
149
|
};
|
150
|
+
|
163
151
|
/**
|
164
152
|
* Attach type information
|
165
153
|
*/
|
166
|
-
|
167
|
-
|
154
|
+
Object.defineProperty(SparseMatrix, 'name', {
|
155
|
+
value: 'SparseMatrix'
|
156
|
+
});
|
157
|
+
SparseMatrix.prototype.constructor = SparseMatrix;
|
168
158
|
SparseMatrix.prototype.type = 'SparseMatrix';
|
169
159
|
SparseMatrix.prototype.isSparseMatrix = true;
|
160
|
+
|
170
161
|
/**
|
171
162
|
* Get the matrix type
|
172
163
|
*
|
@@ -176,10 +167,10 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
176
167
|
* @memberOf SparseMatrix
|
177
168
|
* @return {string} type information; if multiple types are found from the Matrix, it will return "mixed"
|
178
169
|
*/
|
179
|
-
|
180
170
|
SparseMatrix.prototype.getDataType = function () {
|
181
171
|
return getArrayDataType(this._values, typeOf);
|
182
172
|
};
|
173
|
+
|
183
174
|
/**
|
184
175
|
* Get the storage format used by the matrix.
|
185
176
|
*
|
@@ -189,11 +180,10 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
189
180
|
* @memberof SparseMatrix
|
190
181
|
* @return {string} The storage format.
|
191
182
|
*/
|
192
|
-
|
193
|
-
|
194
183
|
SparseMatrix.prototype.storage = function () {
|
195
184
|
return 'sparse';
|
196
185
|
};
|
186
|
+
|
197
187
|
/**
|
198
188
|
* Get the datatype of the data stored in the matrix.
|
199
189
|
*
|
@@ -203,22 +193,20 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
203
193
|
* @memberof SparseMatrix
|
204
194
|
* @return {string} The datatype.
|
205
195
|
*/
|
206
|
-
|
207
|
-
|
208
196
|
SparseMatrix.prototype.datatype = function () {
|
209
197
|
return this._datatype;
|
210
198
|
};
|
199
|
+
|
211
200
|
/**
|
212
201
|
* Create a new SparseMatrix
|
213
202
|
* @memberof SparseMatrix
|
214
203
|
* @param {Array} data
|
215
204
|
* @param {string} [datatype]
|
216
205
|
*/
|
217
|
-
|
218
|
-
|
219
206
|
SparseMatrix.prototype.create = function (data, datatype) {
|
220
207
|
return new SparseMatrix(data, datatype);
|
221
208
|
};
|
209
|
+
|
222
210
|
/**
|
223
211
|
* Get the matrix density.
|
224
212
|
*
|
@@ -228,15 +216,14 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
228
216
|
* @memberof SparseMatrix
|
229
217
|
* @return {number} The matrix density.
|
230
218
|
*/
|
231
|
-
|
232
|
-
|
233
219
|
SparseMatrix.prototype.density = function () {
|
234
220
|
// rows & columns
|
235
221
|
var rows = this._size[0];
|
236
|
-
var columns = this._size[1];
|
237
|
-
|
222
|
+
var columns = this._size[1];
|
223
|
+
// calculate density
|
238
224
|
return rows !== 0 && columns !== 0 ? this._index.length / (rows * columns) : 0;
|
239
225
|
};
|
226
|
+
|
240
227
|
/**
|
241
228
|
* Get a subset of the matrix, or replace a subset of the matrix.
|
242
229
|
*
|
@@ -251,231 +238,226 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
251
238
|
* the matrix is resized. If not provided,
|
252
239
|
* new matrix elements will be filled with zeros.
|
253
240
|
*/
|
254
|
-
|
255
|
-
|
256
241
|
SparseMatrix.prototype.subset = function (index, replacement, defaultValue) {
|
257
242
|
// check it is a pattern matrix
|
258
243
|
if (!this._values) {
|
259
244
|
throw new Error('Cannot invoke subset on a Pattern only matrix');
|
260
|
-
}
|
261
|
-
|
245
|
+
}
|
262
246
|
|
247
|
+
// check arguments
|
263
248
|
switch (arguments.length) {
|
264
249
|
case 1:
|
265
250
|
return _getsubset(this, index);
|
266
|
-
// intentional fall through
|
267
251
|
|
252
|
+
// intentional fall through
|
268
253
|
case 2:
|
269
254
|
case 3:
|
270
255
|
return _setsubset(this, index, replacement, defaultValue);
|
271
|
-
|
272
256
|
default:
|
273
257
|
throw new SyntaxError('Wrong number of arguments');
|
274
258
|
}
|
275
259
|
};
|
276
|
-
|
277
260
|
function _getsubset(matrix, idx) {
|
278
261
|
// check idx
|
279
262
|
if (!isIndex(idx)) {
|
280
263
|
throw new TypeError('Invalid index');
|
281
264
|
}
|
282
|
-
|
283
265
|
var isScalar = idx.isScalar();
|
284
|
-
|
285
266
|
if (isScalar) {
|
286
267
|
// return a scalar
|
287
268
|
return matrix.get(idx.min());
|
288
|
-
}
|
289
|
-
|
290
|
-
|
269
|
+
}
|
270
|
+
// validate dimensions
|
291
271
|
var size = idx.size();
|
292
|
-
|
293
272
|
if (size.length !== matrix._size.length) {
|
294
273
|
throw new DimensionError(size.length, matrix._size.length);
|
295
|
-
}
|
296
|
-
|
274
|
+
}
|
297
275
|
|
298
|
-
|
276
|
+
// vars
|
277
|
+
var i, ii, k, kk;
|
299
278
|
|
279
|
+
// validate if any of the ranges in the index is out of range
|
300
280
|
var min = idx.min();
|
301
281
|
var max = idx.max();
|
302
|
-
|
303
282
|
for (i = 0, ii = matrix._size.length; i < ii; i++) {
|
304
283
|
validateIndex(min[i], matrix._size[i]);
|
305
284
|
validateIndex(max[i], matrix._size[i]);
|
306
|
-
}
|
307
|
-
|
285
|
+
}
|
308
286
|
|
287
|
+
// matrix arrays
|
309
288
|
var mvalues = matrix._values;
|
310
289
|
var mindex = matrix._index;
|
311
|
-
var mptr = matrix._ptr;
|
290
|
+
var mptr = matrix._ptr;
|
312
291
|
|
292
|
+
// rows & columns dimensions for result matrix
|
313
293
|
var rows = idx.dimension(0);
|
314
|
-
var columns = idx.dimension(1);
|
294
|
+
var columns = idx.dimension(1);
|
315
295
|
|
296
|
+
// workspace & permutation vector
|
316
297
|
var w = [];
|
317
|
-
var pv = [];
|
298
|
+
var pv = [];
|
318
299
|
|
300
|
+
// loop rows in resulting matrix
|
319
301
|
rows.forEach(function (i, r) {
|
320
302
|
// update permutation vector
|
321
|
-
pv[i] = r[0];
|
322
|
-
|
303
|
+
pv[i] = r[0];
|
304
|
+
// mark i in workspace
|
323
305
|
w[i] = true;
|
324
|
-
});
|
306
|
+
});
|
325
307
|
|
308
|
+
// result matrix arrays
|
326
309
|
var values = mvalues ? [] : undefined;
|
327
310
|
var index = [];
|
328
|
-
var ptr = [];
|
311
|
+
var ptr = [];
|
329
312
|
|
313
|
+
// loop columns in result matrix
|
330
314
|
columns.forEach(function (j) {
|
331
315
|
// update ptr
|
332
|
-
ptr.push(index.length);
|
333
|
-
|
316
|
+
ptr.push(index.length);
|
317
|
+
// loop values in column j
|
334
318
|
for (k = mptr[j], kk = mptr[j + 1]; k < kk; k++) {
|
335
319
|
// row
|
336
|
-
i = mindex[k];
|
337
|
-
|
320
|
+
i = mindex[k];
|
321
|
+
// check row is in result matrix
|
338
322
|
if (w[i] === true) {
|
339
323
|
// push index
|
340
|
-
index.push(pv[i]);
|
341
|
-
|
324
|
+
index.push(pv[i]);
|
325
|
+
// check we need to process values
|
342
326
|
if (values) {
|
343
327
|
values.push(mvalues[k]);
|
344
328
|
}
|
345
329
|
}
|
346
330
|
}
|
347
|
-
});
|
348
|
-
|
349
|
-
ptr.push(index.length);
|
331
|
+
});
|
332
|
+
// update ptr
|
333
|
+
ptr.push(index.length);
|
350
334
|
|
335
|
+
// return matrix
|
351
336
|
return new SparseMatrix({
|
352
|
-
values
|
353
|
-
index
|
354
|
-
ptr
|
355
|
-
size
|
337
|
+
values,
|
338
|
+
index,
|
339
|
+
ptr,
|
340
|
+
size,
|
356
341
|
datatype: matrix._datatype
|
357
342
|
});
|
358
343
|
}
|
359
|
-
|
360
344
|
function _setsubset(matrix, index, submatrix, defaultValue) {
|
361
345
|
// check index
|
362
346
|
if (!index || index.isIndex !== true) {
|
363
347
|
throw new TypeError('Invalid index');
|
364
|
-
}
|
365
|
-
|
348
|
+
}
|
366
349
|
|
350
|
+
// get index size and check whether the index contains a single value
|
367
351
|
var iSize = index.size();
|
368
|
-
var isScalar = index.isScalar();
|
352
|
+
var isScalar = index.isScalar();
|
369
353
|
|
354
|
+
// calculate the size of the submatrix, and convert it into an Array if needed
|
370
355
|
var sSize;
|
371
|
-
|
372
356
|
if (isMatrix(submatrix)) {
|
373
357
|
// submatrix size
|
374
|
-
sSize = submatrix.size();
|
375
|
-
|
358
|
+
sSize = submatrix.size();
|
359
|
+
// use array representation
|
376
360
|
submatrix = submatrix.toArray();
|
377
361
|
} else {
|
378
362
|
// get submatrix size (array, scalar)
|
379
363
|
sSize = arraySize(submatrix);
|
380
|
-
}
|
381
|
-
|
364
|
+
}
|
382
365
|
|
366
|
+
// check index is a scalar
|
383
367
|
if (isScalar) {
|
384
368
|
// verify submatrix is a scalar
|
385
369
|
if (sSize.length !== 0) {
|
386
370
|
throw new TypeError('Scalar expected');
|
387
|
-
}
|
388
|
-
|
389
|
-
|
371
|
+
}
|
372
|
+
// set value
|
390
373
|
matrix.set(index.min(), submatrix, defaultValue);
|
391
374
|
} else {
|
392
375
|
// validate dimensions, index size must be one or two dimensions
|
393
376
|
if (iSize.length !== 1 && iSize.length !== 2) {
|
394
377
|
throw new DimensionError(iSize.length, matrix._size.length, '<');
|
395
|
-
}
|
396
|
-
|
378
|
+
}
|
397
379
|
|
380
|
+
// check submatrix and index have the same dimensions
|
398
381
|
if (sSize.length < iSize.length) {
|
399
382
|
// calculate number of missing outer dimensions
|
400
383
|
var i = 0;
|
401
384
|
var outer = 0;
|
402
|
-
|
403
385
|
while (iSize[i] === 1 && sSize[i] === 1) {
|
404
386
|
i++;
|
405
387
|
}
|
406
|
-
|
407
388
|
while (iSize[i] === 1) {
|
408
389
|
outer++;
|
409
390
|
i++;
|
410
|
-
}
|
411
|
-
|
412
|
-
|
391
|
+
}
|
392
|
+
// unsqueeze both outer and inner dimensions
|
413
393
|
submatrix = unsqueeze(submatrix, iSize.length, outer, sSize);
|
414
|
-
}
|
415
|
-
|
394
|
+
}
|
416
395
|
|
396
|
+
// check whether the size of the submatrix matches the index size
|
417
397
|
if (!deepStrictEqual(iSize, sSize)) {
|
418
398
|
throw new DimensionError(iSize, sSize, '>');
|
419
|
-
}
|
420
|
-
|
421
|
-
|
422
|
-
var x0 = index.min()[0];
|
423
|
-
var y0 = index.min()[1]; // submatrix rows and columns
|
424
|
-
|
425
|
-
var m = sSize[0];
|
426
|
-
var n = sSize[1]; // loop submatrix
|
427
|
-
|
428
|
-
for (var x = 0; x < m; x++) {
|
429
|
-
// loop columns
|
430
|
-
for (var y = 0; y < n; y++) {
|
431
|
-
// value at i, j
|
432
|
-
var v = submatrix[x][y]; // invoke set (zero value will remove entry from matrix)
|
399
|
+
}
|
433
400
|
|
434
|
-
|
435
|
-
|
401
|
+
// insert the sub matrix
|
402
|
+
if (iSize.length === 1) {
|
403
|
+
// if the replacement index only has 1 dimension, go trough each one and set its value
|
404
|
+
var range = index.dimension(0);
|
405
|
+
range.forEach(function (dataIndex, subIndex) {
|
406
|
+
validateIndex(dataIndex);
|
407
|
+
matrix.set([dataIndex, 0], submatrix[subIndex[0]], defaultValue);
|
408
|
+
});
|
409
|
+
} else {
|
410
|
+
// if the replacement index has 2 dimensions, go through each one and set the value in the correct index
|
411
|
+
var firstDimensionRange = index.dimension(0);
|
412
|
+
var secondDimensionRange = index.dimension(1);
|
413
|
+
firstDimensionRange.forEach(function (firstDataIndex, firstSubIndex) {
|
414
|
+
validateIndex(firstDataIndex);
|
415
|
+
secondDimensionRange.forEach(function (secondDataIndex, secondSubIndex) {
|
416
|
+
validateIndex(secondDataIndex);
|
417
|
+
matrix.set([firstDataIndex, secondDataIndex], submatrix[firstSubIndex[0]][secondSubIndex[0]], defaultValue);
|
418
|
+
});
|
419
|
+
});
|
436
420
|
}
|
437
421
|
}
|
438
|
-
|
439
422
|
return matrix;
|
440
423
|
}
|
424
|
+
|
441
425
|
/**
|
442
426
|
* Get a single element from the matrix.
|
443
427
|
* @memberof SparseMatrix
|
444
428
|
* @param {number[]} index Zero-based index
|
445
429
|
* @return {*} value
|
446
430
|
*/
|
447
|
-
|
448
|
-
|
449
431
|
SparseMatrix.prototype.get = function (index) {
|
450
432
|
if (!isArray(index)) {
|
451
433
|
throw new TypeError('Array expected');
|
452
434
|
}
|
453
|
-
|
454
435
|
if (index.length !== this._size.length) {
|
455
436
|
throw new DimensionError(index.length, this._size.length);
|
456
|
-
}
|
457
|
-
|
437
|
+
}
|
458
438
|
|
439
|
+
// check it is a pattern matrix
|
459
440
|
if (!this._values) {
|
460
441
|
throw new Error('Cannot invoke get on a Pattern only matrix');
|
461
|
-
}
|
462
|
-
|
442
|
+
}
|
463
443
|
|
444
|
+
// row and column
|
464
445
|
var i = index[0];
|
465
|
-
var j = index[1];
|
446
|
+
var j = index[1];
|
466
447
|
|
448
|
+
// check i, j are valid
|
467
449
|
validateIndex(i, this._size[0]);
|
468
|
-
validateIndex(j, this._size[1]);
|
469
|
-
|
470
|
-
var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index); // check k is prior to next column k and it is in the correct row
|
471
|
-
|
450
|
+
validateIndex(j, this._size[1]);
|
472
451
|
|
452
|
+
// find value index
|
453
|
+
var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index);
|
454
|
+
// check k is prior to next column k and it is in the correct row
|
473
455
|
if (k < this._ptr[j + 1] && this._index[k] === i) {
|
474
456
|
return this._values[k];
|
475
457
|
}
|
476
|
-
|
477
458
|
return 0;
|
478
459
|
};
|
460
|
+
|
479
461
|
/**
|
480
462
|
* Replace a single element in the matrix.
|
481
463
|
* @memberof SparseMatrix
|
@@ -486,57 +468,54 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
486
468
|
* new matrix elements will be set to zero.
|
487
469
|
* @return {SparseMatrix} self
|
488
470
|
*/
|
489
|
-
|
490
|
-
|
491
471
|
SparseMatrix.prototype.set = function (index, v, defaultValue) {
|
492
472
|
if (!isArray(index)) {
|
493
473
|
throw new TypeError('Array expected');
|
494
474
|
}
|
495
|
-
|
496
475
|
if (index.length !== this._size.length) {
|
497
476
|
throw new DimensionError(index.length, this._size.length);
|
498
|
-
}
|
499
|
-
|
477
|
+
}
|
500
478
|
|
479
|
+
// check it is a pattern matrix
|
501
480
|
if (!this._values) {
|
502
481
|
throw new Error('Cannot invoke set on a Pattern only matrix');
|
503
|
-
}
|
504
|
-
|
482
|
+
}
|
505
483
|
|
484
|
+
// row and column
|
506
485
|
var i = index[0];
|
507
|
-
var j = index[1];
|
486
|
+
var j = index[1];
|
508
487
|
|
488
|
+
// rows & columns
|
509
489
|
var rows = this._size[0];
|
510
|
-
var columns = this._size[1];
|
511
|
-
|
512
|
-
var eq = equalScalar; // zero value
|
490
|
+
var columns = this._size[1];
|
513
491
|
|
492
|
+
// equal signature to use
|
493
|
+
var eq = equalScalar;
|
494
|
+
// zero value
|
514
495
|
var zero = 0;
|
515
|
-
|
516
496
|
if (isString(this._datatype)) {
|
517
497
|
// find signature that matches (datatype, datatype)
|
518
|
-
eq = typed.find(equalScalar, [this._datatype, this._datatype]) || equalScalar;
|
519
|
-
|
498
|
+
eq = typed.find(equalScalar, [this._datatype, this._datatype]) || equalScalar;
|
499
|
+
// convert 0 to the same datatype
|
520
500
|
zero = typed.convert(0, this._datatype);
|
521
|
-
}
|
522
|
-
|
501
|
+
}
|
523
502
|
|
503
|
+
// check we need to resize matrix
|
524
504
|
if (i > rows - 1 || j > columns - 1) {
|
525
505
|
// resize matrix
|
526
|
-
_resize(this, Math.max(i + 1, rows), Math.max(j + 1, columns), defaultValue);
|
527
|
-
|
528
|
-
|
506
|
+
_resize(this, Math.max(i + 1, rows), Math.max(j + 1, columns), defaultValue);
|
507
|
+
// update rows & columns
|
529
508
|
rows = this._size[0];
|
530
509
|
columns = this._size[1];
|
531
|
-
}
|
532
|
-
|
510
|
+
}
|
533
511
|
|
512
|
+
// check i, j are valid
|
534
513
|
validateIndex(i, rows);
|
535
|
-
validateIndex(j, columns);
|
536
|
-
|
537
|
-
var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index); // check k is prior to next column k and it is in the correct row
|
538
|
-
|
514
|
+
validateIndex(j, columns);
|
539
515
|
|
516
|
+
// find value index
|
517
|
+
var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index);
|
518
|
+
// check k is prior to next column k and it is in the correct row
|
540
519
|
if (k < this._ptr[j + 1] && this._index[k] === i) {
|
541
520
|
// check value != 0
|
542
521
|
if (!eq(v, zero)) {
|
@@ -547,57 +526,56 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
547
526
|
_remove(k, j, this._values, this._index, this._ptr);
|
548
527
|
}
|
549
528
|
} else {
|
550
|
-
|
551
|
-
|
529
|
+
if (!eq(v, zero)) {
|
530
|
+
// insert value @ (i, j)
|
531
|
+
_insert(k, i, j, v, this._values, this._index, this._ptr);
|
532
|
+
}
|
552
533
|
}
|
553
|
-
|
554
534
|
return this;
|
555
535
|
};
|
556
|
-
|
557
536
|
function _getValueIndex(i, top, bottom, index) {
|
558
537
|
// check row is on the bottom side
|
559
538
|
if (bottom - top === 0) {
|
560
539
|
return bottom;
|
561
|
-
}
|
562
|
-
|
563
|
-
|
540
|
+
}
|
541
|
+
// loop rows [top, bottom[
|
564
542
|
for (var r = top; r < bottom; r++) {
|
565
543
|
// check we found value index
|
566
544
|
if (index[r] === i) {
|
567
545
|
return r;
|
568
546
|
}
|
569
|
-
}
|
570
|
-
|
571
|
-
|
547
|
+
}
|
548
|
+
// we did not find row
|
572
549
|
return top;
|
573
550
|
}
|
574
|
-
|
575
551
|
function _remove(k, j, values, index, ptr) {
|
576
552
|
// remove value @ k
|
577
553
|
values.splice(k, 1);
|
578
|
-
index.splice(k, 1);
|
579
|
-
|
554
|
+
index.splice(k, 1);
|
555
|
+
// update pointers
|
580
556
|
for (var x = j + 1; x < ptr.length; x++) {
|
581
557
|
ptr[x]--;
|
582
558
|
}
|
583
559
|
}
|
584
|
-
|
585
560
|
function _insert(k, i, j, v, values, index, ptr) {
|
586
561
|
// insert value
|
587
|
-
values.splice(k, 0, v);
|
588
|
-
|
589
|
-
index.splice(k, 0, i);
|
590
|
-
|
562
|
+
values.splice(k, 0, v);
|
563
|
+
// update row for k
|
564
|
+
index.splice(k, 0, i);
|
565
|
+
// update column pointers
|
591
566
|
for (var x = j + 1; x < ptr.length; x++) {
|
592
567
|
ptr[x]++;
|
593
568
|
}
|
594
569
|
}
|
570
|
+
|
595
571
|
/**
|
596
572
|
* Resize the matrix to the given size. Returns a copy of the matrix when
|
597
573
|
* `copy=true`, otherwise return the matrix itself (resize in place).
|
598
574
|
*
|
599
575
|
* @memberof SparseMatrix
|
600
576
|
* @param {number[] | Matrix} size The new size the matrix should have.
|
577
|
+
* Since sparse matrices are always two-dimensional,
|
578
|
+
* size must be two numbers in either an array or a matrix
|
601
579
|
* @param {*} [defaultValue=0] Default value, filled in on new entries.
|
602
580
|
* If not provided, the matrix elements will
|
603
581
|
* be filled with zeros.
|
@@ -605,159 +583,148 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
605
583
|
*
|
606
584
|
* @return {Matrix} The resized matrix
|
607
585
|
*/
|
608
|
-
|
609
|
-
|
610
586
|
SparseMatrix.prototype.resize = function (size, defaultValue, copy) {
|
611
587
|
// validate arguments
|
612
588
|
if (!isCollection(size)) {
|
613
589
|
throw new TypeError('Array or Matrix expected');
|
614
|
-
}
|
615
|
-
|
590
|
+
}
|
616
591
|
|
592
|
+
// SparseMatrix input is always 2d, flatten this into 1d if it's indeed a vector
|
617
593
|
var sizeArray = size.valueOf().map(value => {
|
618
594
|
return Array.isArray(value) && value.length === 1 ? value[0] : value;
|
619
595
|
});
|
620
|
-
|
621
596
|
if (sizeArray.length !== 2) {
|
622
597
|
throw new Error('Only two dimensions matrix are supported');
|
623
|
-
}
|
624
|
-
|
598
|
+
}
|
625
599
|
|
600
|
+
// check sizes
|
626
601
|
sizeArray.forEach(function (value) {
|
627
602
|
if (!isNumber(value) || !isInteger(value) || value < 0) {
|
628
603
|
throw new TypeError('Invalid size, must contain positive integers ' + '(size: ' + format(sizeArray) + ')');
|
629
604
|
}
|
630
|
-
});
|
631
|
-
|
632
|
-
var m = copy ? this.clone() : this; // resize matrix
|
605
|
+
});
|
633
606
|
|
607
|
+
// matrix to resize
|
608
|
+
var m = copy ? this.clone() : this;
|
609
|
+
// resize matrix
|
634
610
|
return _resize(m, sizeArray[0], sizeArray[1], defaultValue);
|
635
611
|
};
|
636
|
-
|
637
612
|
function _resize(matrix, rows, columns, defaultValue) {
|
638
613
|
// value to insert at the time of growing matrix
|
639
|
-
var value = defaultValue || 0;
|
640
|
-
|
641
|
-
var eq = equalScalar; // zero value
|
614
|
+
var value = defaultValue || 0;
|
642
615
|
|
616
|
+
// equal signature to use
|
617
|
+
var eq = equalScalar;
|
618
|
+
// zero value
|
643
619
|
var zero = 0;
|
644
|
-
|
645
620
|
if (isString(matrix._datatype)) {
|
646
621
|
// find signature that matches (datatype, datatype)
|
647
|
-
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
648
|
-
|
649
|
-
zero = typed.convert(0, matrix._datatype);
|
650
|
-
|
622
|
+
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
623
|
+
// convert 0 to the same datatype
|
624
|
+
zero = typed.convert(0, matrix._datatype);
|
625
|
+
// convert value to the same datatype
|
651
626
|
value = typed.convert(value, matrix._datatype);
|
652
|
-
}
|
653
|
-
|
627
|
+
}
|
654
628
|
|
655
|
-
|
629
|
+
// should we insert the value?
|
630
|
+
var ins = !eq(value, zero);
|
656
631
|
|
632
|
+
// old columns and rows
|
657
633
|
var r = matrix._size[0];
|
658
634
|
var c = matrix._size[1];
|
659
|
-
var i, j, k;
|
635
|
+
var i, j, k;
|
660
636
|
|
637
|
+
// check we need to increase columns
|
661
638
|
if (columns > c) {
|
662
639
|
// loop new columns
|
663
640
|
for (j = c; j < columns; j++) {
|
664
641
|
// update matrix._ptr for current column
|
665
|
-
matrix._ptr[j] = matrix._values.length;
|
666
|
-
|
642
|
+
matrix._ptr[j] = matrix._values.length;
|
643
|
+
// check we need to insert matrix._values
|
667
644
|
if (ins) {
|
668
645
|
// loop rows
|
669
646
|
for (i = 0; i < r; i++) {
|
670
647
|
// add new matrix._values
|
671
|
-
matrix._values.push(value);
|
672
|
-
|
673
|
-
|
648
|
+
matrix._values.push(value);
|
649
|
+
// update matrix._index
|
674
650
|
matrix._index.push(i);
|
675
651
|
}
|
676
652
|
}
|
677
|
-
}
|
678
|
-
|
679
|
-
|
653
|
+
}
|
654
|
+
// store number of matrix._values in matrix._ptr
|
680
655
|
matrix._ptr[columns] = matrix._values.length;
|
681
656
|
} else if (columns < c) {
|
682
657
|
// truncate matrix._ptr
|
683
|
-
matrix._ptr.splice(columns + 1, c - columns);
|
684
|
-
|
685
|
-
|
658
|
+
matrix._ptr.splice(columns + 1, c - columns);
|
659
|
+
// truncate matrix._values and matrix._index
|
686
660
|
matrix._values.splice(matrix._ptr[columns], matrix._values.length);
|
687
|
-
|
688
661
|
matrix._index.splice(matrix._ptr[columns], matrix._index.length);
|
689
|
-
}
|
690
|
-
|
691
|
-
|
692
|
-
c = columns; // check we need to increase rows
|
662
|
+
}
|
663
|
+
// update columns
|
664
|
+
c = columns;
|
693
665
|
|
666
|
+
// check we need to increase rows
|
694
667
|
if (rows > r) {
|
695
668
|
// check we have to insert values
|
696
669
|
if (ins) {
|
697
670
|
// inserts
|
698
|
-
var n = 0;
|
699
|
-
|
671
|
+
var n = 0;
|
672
|
+
// loop columns
|
700
673
|
for (j = 0; j < c; j++) {
|
701
674
|
// update matrix._ptr for current column
|
702
|
-
matrix._ptr[j] = matrix._ptr[j] + n;
|
703
|
-
|
704
|
-
k = matrix._ptr[j + 1] + n;
|
705
|
-
|
706
|
-
var p = 0;
|
707
|
-
|
675
|
+
matrix._ptr[j] = matrix._ptr[j] + n;
|
676
|
+
// where to insert matrix._values
|
677
|
+
k = matrix._ptr[j + 1] + n;
|
678
|
+
// pointer
|
679
|
+
var p = 0;
|
680
|
+
// loop new rows, initialize pointer
|
708
681
|
for (i = r; i < rows; i++, p++) {
|
709
682
|
// add value
|
710
|
-
matrix._values.splice(k + p, 0, value);
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
683
|
+
matrix._values.splice(k + p, 0, value);
|
684
|
+
// update matrix._index
|
685
|
+
matrix._index.splice(k + p, 0, i);
|
686
|
+
// increment inserts
|
716
687
|
n++;
|
717
688
|
}
|
718
|
-
}
|
719
|
-
|
720
|
-
|
689
|
+
}
|
690
|
+
// store number of matrix._values in matrix._ptr
|
721
691
|
matrix._ptr[c] = matrix._values.length;
|
722
692
|
}
|
723
693
|
} else if (rows < r) {
|
724
694
|
// deletes
|
725
|
-
var d = 0;
|
726
|
-
|
695
|
+
var d = 0;
|
696
|
+
// loop columns
|
727
697
|
for (j = 0; j < c; j++) {
|
728
698
|
// update matrix._ptr for current column
|
729
|
-
matrix._ptr[j] = matrix._ptr[j] - d;
|
730
|
-
|
699
|
+
matrix._ptr[j] = matrix._ptr[j] - d;
|
700
|
+
// where matrix._values start for next column
|
731
701
|
var k0 = matrix._ptr[j];
|
732
|
-
var k1 = matrix._ptr[j + 1] - d;
|
733
|
-
|
702
|
+
var k1 = matrix._ptr[j + 1] - d;
|
703
|
+
// loop matrix._index
|
734
704
|
for (k = k0; k < k1; k++) {
|
735
705
|
// row
|
736
|
-
i = matrix._index[k];
|
737
|
-
|
706
|
+
i = matrix._index[k];
|
707
|
+
// check we need to delete value and matrix._index
|
738
708
|
if (i > rows - 1) {
|
739
709
|
// remove value
|
740
|
-
matrix._values.splice(k, 1);
|
741
|
-
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
710
|
+
matrix._values.splice(k, 1);
|
711
|
+
// remove item from matrix._index
|
712
|
+
matrix._index.splice(k, 1);
|
713
|
+
// increase deletes
|
746
714
|
d++;
|
747
715
|
}
|
748
716
|
}
|
749
|
-
}
|
750
|
-
|
751
|
-
|
717
|
+
}
|
718
|
+
// update matrix._ptr for current column
|
752
719
|
matrix._ptr[j] = matrix._values.length;
|
753
|
-
}
|
754
|
-
|
755
|
-
|
720
|
+
}
|
721
|
+
// update matrix._size
|
756
722
|
matrix._size[0] = rows;
|
757
|
-
matrix._size[1] = columns;
|
758
|
-
|
723
|
+
matrix._size[1] = columns;
|
724
|
+
// return matrix
|
759
725
|
return matrix;
|
760
726
|
}
|
727
|
+
|
761
728
|
/**
|
762
729
|
* Reshape the matrix to the given size. Returns a copy of the matrix when
|
763
730
|
* `copy=true`, otherwise return the matrix itself (reshape in place).
|
@@ -767,101 +734,103 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
767
734
|
* resize().
|
768
735
|
*
|
769
736
|
* @memberof SparseMatrix
|
770
|
-
* @param {number[]}
|
737
|
+
* @param {number[]} sizes The new size the matrix should have.
|
738
|
+
* Since sparse matrices are always two-dimensional,
|
739
|
+
* size must be two numbers in either an array or a matrix
|
771
740
|
* @param {boolean} [copy] Return a reshaped copy of the matrix
|
772
741
|
*
|
773
742
|
* @return {Matrix} The reshaped matrix
|
774
743
|
*/
|
775
|
-
|
776
|
-
|
777
|
-
SparseMatrix.prototype.reshape = function (size, copy) {
|
744
|
+
SparseMatrix.prototype.reshape = function (sizes, copy) {
|
778
745
|
// validate arguments
|
779
|
-
if (!isArray(
|
746
|
+
if (!isArray(sizes)) {
|
780
747
|
throw new TypeError('Array expected');
|
781
748
|
}
|
782
|
-
|
783
|
-
if (size.length !== 2) {
|
749
|
+
if (sizes.length !== 2) {
|
784
750
|
throw new Error('Sparse matrices can only be reshaped in two dimensions');
|
785
|
-
}
|
786
|
-
|
751
|
+
}
|
787
752
|
|
788
|
-
|
789
|
-
|
790
|
-
|
753
|
+
// check sizes
|
754
|
+
sizes.forEach(function (value) {
|
755
|
+
if (!isNumber(value) || !isInteger(value) || value <= -2 || value === 0) {
|
756
|
+
throw new TypeError('Invalid size, must contain positive integers or -1 ' + '(size: ' + format(sizes) + ')');
|
791
757
|
}
|
792
|
-
});
|
758
|
+
});
|
759
|
+
var currentLength = this._size[0] * this._size[1];
|
760
|
+
sizes = processSizesWildcard(sizes, currentLength);
|
761
|
+
var newLength = sizes[0] * sizes[1];
|
793
762
|
|
794
|
-
|
763
|
+
// m * n must not change
|
764
|
+
if (currentLength !== newLength) {
|
795
765
|
throw new Error('Reshaping sparse matrix will result in the wrong number of elements');
|
796
|
-
}
|
797
|
-
|
766
|
+
}
|
798
767
|
|
799
|
-
|
768
|
+
// matrix to reshape
|
769
|
+
var m = copy ? this.clone() : this;
|
800
770
|
|
801
|
-
|
771
|
+
// return unchanged if the same shape
|
772
|
+
if (this._size[0] === sizes[0] && this._size[1] === sizes[1]) {
|
802
773
|
return m;
|
803
|
-
}
|
804
|
-
|
774
|
+
}
|
805
775
|
|
776
|
+
// Convert to COO format (generate a column index)
|
806
777
|
var colIndex = [];
|
807
|
-
|
808
778
|
for (var i = 0; i < m._ptr.length; i++) {
|
809
779
|
for (var j = 0; j < m._ptr[i + 1] - m._ptr[i]; j++) {
|
810
780
|
colIndex.push(i);
|
811
781
|
}
|
812
|
-
}
|
813
|
-
|
814
|
-
|
815
|
-
var values = m._values.slice(); // Clone the row index array
|
816
|
-
|
782
|
+
}
|
817
783
|
|
818
|
-
|
784
|
+
// Clone the values array
|
785
|
+
var values = m._values.slice();
|
819
786
|
|
787
|
+
// Clone the row index array
|
788
|
+
var rowIndex = m._index.slice();
|
820
789
|
|
790
|
+
// Transform the (row, column) indices
|
821
791
|
for (var _i = 0; _i < m._index.length; _i++) {
|
822
792
|
var r1 = rowIndex[_i];
|
823
793
|
var c1 = colIndex[_i];
|
824
794
|
var flat = r1 * m._size[1] + c1;
|
825
|
-
colIndex[_i] = flat %
|
826
|
-
rowIndex[_i] = Math.floor(flat /
|
827
|
-
}
|
795
|
+
colIndex[_i] = flat % sizes[1];
|
796
|
+
rowIndex[_i] = Math.floor(flat / sizes[1]);
|
797
|
+
}
|
798
|
+
|
799
|
+
// Now reshaping is supposed to preserve the row-major order, BUT these sparse matrices are stored
|
828
800
|
// in column-major order, so we have to reorder the value array now. One option is to use a multisort,
|
829
801
|
// sorting several arrays based on some other array.
|
830
|
-
// OR, we could easily just:
|
831
|
-
// 1. Remove all values from the matrix
|
832
802
|
|
803
|
+
// OR, we could easily just:
|
833
804
|
|
805
|
+
// 1. Remove all values from the matrix
|
834
806
|
m._values.length = 0;
|
835
807
|
m._index.length = 0;
|
836
|
-
m._ptr.length =
|
837
|
-
m._size =
|
838
|
-
|
808
|
+
m._ptr.length = sizes[1] + 1;
|
809
|
+
m._size = sizes.slice();
|
839
810
|
for (var _i2 = 0; _i2 < m._ptr.length; _i2++) {
|
840
811
|
m._ptr[_i2] = 0;
|
841
|
-
}
|
842
|
-
// This step is probably the most time-consuming
|
843
|
-
|
812
|
+
}
|
844
813
|
|
814
|
+
// 2. Re-insert all elements in the proper order (simplified code from SparseMatrix.prototype.set)
|
815
|
+
// This step is probably the most time-consuming
|
845
816
|
for (var h = 0; h < values.length; h++) {
|
846
817
|
var _i3 = rowIndex[h];
|
847
818
|
var _j = colIndex[h];
|
848
819
|
var v = values[h];
|
849
|
-
|
850
820
|
var k = _getValueIndex(_i3, m._ptr[_j], m._ptr[_j + 1], m._index);
|
851
|
-
|
852
821
|
_insert(k, _i3, _j, v, m._values, m._index, m._ptr);
|
853
|
-
}
|
822
|
+
}
|
854
823
|
|
824
|
+
// The value indices are inserted out of order, but apparently that's... still OK?
|
855
825
|
|
856
826
|
return m;
|
857
827
|
};
|
828
|
+
|
858
829
|
/**
|
859
830
|
* Create a clone of the matrix
|
860
831
|
* @memberof SparseMatrix
|
861
832
|
* @return {SparseMatrix} clone
|
862
833
|
*/
|
863
|
-
|
864
|
-
|
865
834
|
SparseMatrix.prototype.clone = function () {
|
866
835
|
var m = new SparseMatrix({
|
867
836
|
values: this._values ? clone(this._values) : undefined,
|
@@ -872,16 +841,16 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
872
841
|
});
|
873
842
|
return m;
|
874
843
|
};
|
844
|
+
|
875
845
|
/**
|
876
846
|
* Retrieve the size of the matrix.
|
877
847
|
* @memberof SparseMatrix
|
878
848
|
* @returns {number[]} size
|
879
849
|
*/
|
880
|
-
|
881
|
-
|
882
850
|
SparseMatrix.prototype.size = function () {
|
883
851
|
return this._size.slice(0); // copy the Array
|
884
852
|
};
|
853
|
+
|
885
854
|
/**
|
886
855
|
* Create a new matrix with the results of the callback function executed on
|
887
856
|
* each entry of the matrix.
|
@@ -893,78 +862,74 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
893
862
|
*
|
894
863
|
* @return {SparseMatrix} matrix
|
895
864
|
*/
|
896
|
-
|
897
|
-
|
898
865
|
SparseMatrix.prototype.map = function (callback, skipZeros) {
|
899
866
|
// check it is a pattern matrix
|
900
867
|
if (!this._values) {
|
901
868
|
throw new Error('Cannot invoke map on a Pattern only matrix');
|
902
|
-
}
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
|
869
|
+
}
|
870
|
+
// matrix instance
|
871
|
+
var me = this;
|
872
|
+
// rows and columns
|
907
873
|
var rows = this._size[0];
|
908
|
-
var columns = this._size[1];
|
909
|
-
|
874
|
+
var columns = this._size[1];
|
875
|
+
// invoke callback
|
876
|
+
var args = maxArgumentCount(callback);
|
910
877
|
var invoke = function invoke(v, i, j) {
|
911
878
|
// invoke callback
|
879
|
+
if (args === 1) return callback(v);
|
880
|
+
if (args === 2) return callback(v, [i, j]);
|
912
881
|
return callback(v, [i, j], me);
|
913
|
-
};
|
914
|
-
|
915
|
-
|
882
|
+
};
|
883
|
+
// invoke _map
|
916
884
|
return _map(this, 0, rows - 1, 0, columns - 1, invoke, skipZeros);
|
917
885
|
};
|
886
|
+
|
918
887
|
/**
|
919
888
|
* Create a new matrix with the results of the callback function executed on the interval
|
920
889
|
* [minRow..maxRow, minColumn..maxColumn].
|
921
890
|
*/
|
922
|
-
|
923
|
-
|
924
891
|
function _map(matrix, minRow, maxRow, minColumn, maxColumn, callback, skipZeros) {
|
925
892
|
// result arrays
|
926
893
|
var values = [];
|
927
894
|
var index = [];
|
928
|
-
var ptr = [];
|
929
|
-
|
930
|
-
var eq = equalScalar; // zero value
|
895
|
+
var ptr = [];
|
931
896
|
|
897
|
+
// equal signature to use
|
898
|
+
var eq = equalScalar;
|
899
|
+
// zero value
|
932
900
|
var zero = 0;
|
933
|
-
|
934
901
|
if (isString(matrix._datatype)) {
|
935
902
|
// find signature that matches (datatype, datatype)
|
936
|
-
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
937
|
-
|
903
|
+
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
904
|
+
// convert 0 to the same datatype
|
938
905
|
zero = typed.convert(0, matrix._datatype);
|
939
|
-
}
|
940
|
-
|
906
|
+
}
|
941
907
|
|
908
|
+
// invoke callback
|
942
909
|
var invoke = function invoke(v, x, y) {
|
943
910
|
// invoke callback
|
944
|
-
v = callback(v, x, y);
|
945
|
-
|
911
|
+
v = callback(v, x, y);
|
912
|
+
// check value != 0
|
946
913
|
if (!eq(v, zero)) {
|
947
914
|
// store value
|
948
|
-
values.push(v);
|
949
|
-
|
915
|
+
values.push(v);
|
916
|
+
// index
|
950
917
|
index.push(x);
|
951
918
|
}
|
952
|
-
};
|
953
|
-
|
954
|
-
|
919
|
+
};
|
920
|
+
// loop columns
|
955
921
|
for (var j = minColumn; j <= maxColumn; j++) {
|
956
922
|
// store pointer to values index
|
957
|
-
ptr.push(values.length);
|
958
|
-
|
923
|
+
ptr.push(values.length);
|
924
|
+
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
959
925
|
var k0 = matrix._ptr[j];
|
960
926
|
var k1 = matrix._ptr[j + 1];
|
961
|
-
|
962
927
|
if (skipZeros) {
|
963
928
|
// loop k within [k0, k1[
|
964
929
|
for (var k = k0; k < k1; k++) {
|
965
930
|
// row index
|
966
|
-
var i = matrix._index[k];
|
967
|
-
|
931
|
+
var i = matrix._index[k];
|
932
|
+
// check i is in range
|
968
933
|
if (i >= minRow && i <= maxRow) {
|
969
934
|
// value @ k
|
970
935
|
invoke(matrix._values[k], i - minRow, j - minColumn);
|
@@ -973,31 +938,31 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
973
938
|
} else {
|
974
939
|
// create a cache holding all defined values
|
975
940
|
var _values = {};
|
976
|
-
|
977
941
|
for (var _k = k0; _k < k1; _k++) {
|
978
942
|
var _i4 = matrix._index[_k];
|
979
943
|
_values[_i4] = matrix._values[_k];
|
980
|
-
}
|
981
|
-
// and either read the value or zero
|
982
|
-
|
944
|
+
}
|
983
945
|
|
946
|
+
// loop over all rows (indexes can be unordered so we can't use that),
|
947
|
+
// and either read the value or zero
|
984
948
|
for (var _i5 = minRow; _i5 <= maxRow; _i5++) {
|
985
949
|
var value = _i5 in _values ? _values[_i5] : 0;
|
986
950
|
invoke(value, _i5 - minRow, j - minColumn);
|
987
951
|
}
|
988
952
|
}
|
989
|
-
}
|
990
|
-
|
991
|
-
|
992
|
-
ptr.push(values.length); // return sparse matrix
|
953
|
+
}
|
993
954
|
|
955
|
+
// store number of values in ptr
|
956
|
+
ptr.push(values.length);
|
957
|
+
// return sparse matrix
|
994
958
|
return new SparseMatrix({
|
995
|
-
values
|
996
|
-
index
|
997
|
-
ptr
|
959
|
+
values,
|
960
|
+
index,
|
961
|
+
ptr,
|
998
962
|
size: [maxRow - minRow + 1, maxColumn - minColumn + 1]
|
999
963
|
});
|
1000
964
|
}
|
965
|
+
|
1001
966
|
/**
|
1002
967
|
* Execute a callback function on each entry of the matrix.
|
1003
968
|
* @memberof SparseMatrix
|
@@ -1005,45 +970,43 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1005
970
|
* parameters: the value of the element, the index
|
1006
971
|
* of the element, and the Matrix being traversed.
|
1007
972
|
* @param {boolean} [skipZeros] Invoke callback function for non-zero values only.
|
973
|
+
* If false, the indices are guaranteed to be in order,
|
974
|
+
* if true, the indices can be unordered.
|
1008
975
|
*/
|
1009
|
-
|
1010
|
-
|
1011
976
|
SparseMatrix.prototype.forEach = function (callback, skipZeros) {
|
1012
977
|
// check it is a pattern matrix
|
1013
978
|
if (!this._values) {
|
1014
979
|
throw new Error('Cannot invoke forEach on a Pattern only matrix');
|
1015
|
-
}
|
1016
|
-
|
1017
|
-
|
1018
|
-
|
1019
|
-
|
980
|
+
}
|
981
|
+
// matrix instance
|
982
|
+
var me = this;
|
983
|
+
// rows and columns
|
1020
984
|
var rows = this._size[0];
|
1021
|
-
var columns = this._size[1];
|
1022
|
-
|
985
|
+
var columns = this._size[1];
|
986
|
+
// loop columns
|
1023
987
|
for (var j = 0; j < columns; j++) {
|
1024
988
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
1025
989
|
var k0 = this._ptr[j];
|
1026
990
|
var k1 = this._ptr[j + 1];
|
1027
|
-
|
1028
991
|
if (skipZeros) {
|
1029
992
|
// loop k within [k0, k1[
|
1030
993
|
for (var k = k0; k < k1; k++) {
|
1031
994
|
// row index
|
1032
|
-
var i = this._index[k];
|
995
|
+
var i = this._index[k];
|
1033
996
|
|
997
|
+
// value @ k
|
1034
998
|
callback(this._values[k], [i, j], me);
|
1035
999
|
}
|
1036
1000
|
} else {
|
1037
1001
|
// create a cache holding all defined values
|
1038
1002
|
var values = {};
|
1039
|
-
|
1040
1003
|
for (var _k2 = k0; _k2 < k1; _k2++) {
|
1041
1004
|
var _i6 = this._index[_k2];
|
1042
1005
|
values[_i6] = this._values[_k2];
|
1043
|
-
}
|
1044
|
-
// and either read the value or zero
|
1045
|
-
|
1006
|
+
}
|
1046
1007
|
|
1008
|
+
// loop over all rows (indexes can be unordered so we can't use that),
|
1009
|
+
// and either read the value or zero
|
1047
1010
|
for (var _i7 = 0; _i7 < rows; _i7++) {
|
1048
1011
|
var value = _i7 in values ? values[_i7] : 0;
|
1049
1012
|
callback(value, [_i7, j], me);
|
@@ -1051,60 +1014,79 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1051
1014
|
}
|
1052
1015
|
}
|
1053
1016
|
};
|
1017
|
+
|
1018
|
+
/**
|
1019
|
+
* Iterate over the matrix elements, skipping zeros
|
1020
|
+
* @return {Iterable<{ value, index: number[] }>}
|
1021
|
+
*/
|
1022
|
+
SparseMatrix.prototype[Symbol.iterator] = function* () {
|
1023
|
+
if (!this._values) {
|
1024
|
+
throw new Error('Cannot iterate a Pattern only matrix');
|
1025
|
+
}
|
1026
|
+
var columns = this._size[1];
|
1027
|
+
for (var j = 0; j < columns; j++) {
|
1028
|
+
var k0 = this._ptr[j];
|
1029
|
+
var k1 = this._ptr[j + 1];
|
1030
|
+
for (var k = k0; k < k1; k++) {
|
1031
|
+
// row index
|
1032
|
+
var i = this._index[k];
|
1033
|
+
yield {
|
1034
|
+
value: this._values[k],
|
1035
|
+
index: [i, j]
|
1036
|
+
};
|
1037
|
+
}
|
1038
|
+
}
|
1039
|
+
};
|
1040
|
+
|
1054
1041
|
/**
|
1055
1042
|
* Create an Array with a copy of the data of the SparseMatrix
|
1056
1043
|
* @memberof SparseMatrix
|
1057
1044
|
* @returns {Array} array
|
1058
1045
|
*/
|
1059
|
-
|
1060
|
-
|
1061
1046
|
SparseMatrix.prototype.toArray = function () {
|
1062
1047
|
return _toArray(this._values, this._index, this._ptr, this._size, true);
|
1063
1048
|
};
|
1049
|
+
|
1064
1050
|
/**
|
1065
1051
|
* Get the primitive value of the SparseMatrix: a two dimensions array
|
1066
1052
|
* @memberof SparseMatrix
|
1067
1053
|
* @returns {Array} array
|
1068
1054
|
*/
|
1069
|
-
|
1070
|
-
|
1071
1055
|
SparseMatrix.prototype.valueOf = function () {
|
1072
1056
|
return _toArray(this._values, this._index, this._ptr, this._size, false);
|
1073
1057
|
};
|
1074
|
-
|
1075
1058
|
function _toArray(values, index, ptr, size, copy) {
|
1076
1059
|
// rows and columns
|
1077
1060
|
var rows = size[0];
|
1078
|
-
var columns = size[1];
|
1079
|
-
|
1080
|
-
var a = [];
|
1081
|
-
|
1082
|
-
var i, j;
|
1083
|
-
|
1061
|
+
var columns = size[1];
|
1062
|
+
// result
|
1063
|
+
var a = [];
|
1064
|
+
// vars
|
1065
|
+
var i, j;
|
1066
|
+
// initialize array
|
1084
1067
|
for (i = 0; i < rows; i++) {
|
1085
1068
|
a[i] = [];
|
1086
|
-
|
1087
1069
|
for (j = 0; j < columns; j++) {
|
1088
1070
|
a[i][j] = 0;
|
1089
1071
|
}
|
1090
|
-
}
|
1091
|
-
|
1072
|
+
}
|
1092
1073
|
|
1074
|
+
// loop columns
|
1093
1075
|
for (j = 0; j < columns; j++) {
|
1094
1076
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
1095
1077
|
var k0 = ptr[j];
|
1096
|
-
var k1 = ptr[j + 1];
|
1097
|
-
|
1078
|
+
var k1 = ptr[j + 1];
|
1079
|
+
// loop k within [k0, k1[
|
1098
1080
|
for (var k = k0; k < k1; k++) {
|
1099
1081
|
// row index
|
1100
|
-
i = index[k];
|
1101
|
-
|
1082
|
+
i = index[k];
|
1083
|
+
// set value (use one for pattern matrix)
|
1102
1084
|
a[i][j] = values ? copy ? clone(values[k]) : values[k] : 1;
|
1103
1085
|
}
|
1104
1086
|
}
|
1105
|
-
|
1106
1087
|
return a;
|
1107
1088
|
}
|
1089
|
+
|
1108
1090
|
/**
|
1109
1091
|
* Get a string representation of the matrix, with optional formatting options.
|
1110
1092
|
* @memberof SparseMatrix
|
@@ -1114,49 +1096,44 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1114
1096
|
* options.
|
1115
1097
|
* @returns {string} str
|
1116
1098
|
*/
|
1117
|
-
|
1118
|
-
|
1119
1099
|
SparseMatrix.prototype.format = function (options) {
|
1120
1100
|
// rows and columns
|
1121
1101
|
var rows = this._size[0];
|
1122
|
-
var columns = this._size[1];
|
1123
|
-
|
1124
|
-
var density = this.density();
|
1125
|
-
|
1126
|
-
var str = 'Sparse Matrix [' + format(rows, options) + ' x ' + format(columns, options) + '] density: ' + format(density, options) + '\n';
|
1127
|
-
|
1102
|
+
var columns = this._size[1];
|
1103
|
+
// density
|
1104
|
+
var density = this.density();
|
1105
|
+
// rows & columns
|
1106
|
+
var str = 'Sparse Matrix [' + format(rows, options) + ' x ' + format(columns, options) + '] density: ' + format(density, options) + '\n';
|
1107
|
+
// loop columns
|
1128
1108
|
for (var j = 0; j < columns; j++) {
|
1129
1109
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
1130
1110
|
var k0 = this._ptr[j];
|
1131
|
-
var k1 = this._ptr[j + 1];
|
1132
|
-
|
1111
|
+
var k1 = this._ptr[j + 1];
|
1112
|
+
// loop k within [k0, k1[
|
1133
1113
|
for (var k = k0; k < k1; k++) {
|
1134
1114
|
// row index
|
1135
|
-
var i = this._index[k];
|
1136
|
-
|
1115
|
+
var i = this._index[k];
|
1116
|
+
// append value
|
1137
1117
|
str += '\n (' + format(i, options) + ', ' + format(j, options) + ') ==> ' + (this._values ? format(this._values[k], options) : 'X');
|
1138
1118
|
}
|
1139
1119
|
}
|
1140
|
-
|
1141
1120
|
return str;
|
1142
1121
|
};
|
1122
|
+
|
1143
1123
|
/**
|
1144
1124
|
* Get a string representation of the matrix
|
1145
1125
|
* @memberof SparseMatrix
|
1146
1126
|
* @returns {string} str
|
1147
1127
|
*/
|
1148
|
-
|
1149
|
-
|
1150
1128
|
SparseMatrix.prototype.toString = function () {
|
1151
1129
|
return format(this.toArray());
|
1152
1130
|
};
|
1131
|
+
|
1153
1132
|
/**
|
1154
1133
|
* Get a JSON representation of the matrix
|
1155
1134
|
* @memberof SparseMatrix
|
1156
1135
|
* @returns {Object}
|
1157
1136
|
*/
|
1158
|
-
|
1159
|
-
|
1160
1137
|
SparseMatrix.prototype.toJSON = function () {
|
1161
1138
|
return {
|
1162
1139
|
mathjs: 'SparseMatrix',
|
@@ -1167,6 +1144,7 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1167
1144
|
datatype: this._datatype
|
1168
1145
|
};
|
1169
1146
|
};
|
1147
|
+
|
1170
1148
|
/**
|
1171
1149
|
* Get the kth Matrix diagonal.
|
1172
1150
|
*
|
@@ -1175,17 +1153,14 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1175
1153
|
*
|
1176
1154
|
* @returns {Matrix} The matrix vector with the diagonal values.
|
1177
1155
|
*/
|
1178
|
-
|
1179
|
-
|
1180
1156
|
SparseMatrix.prototype.diagonal = function (k) {
|
1181
1157
|
// validate k if any
|
1182
1158
|
if (k) {
|
1183
1159
|
// convert BigNumber to a number
|
1184
1160
|
if (isBigNumber(k)) {
|
1185
1161
|
k = k.toNumber();
|
1186
|
-
}
|
1187
|
-
|
1188
|
-
|
1162
|
+
}
|
1163
|
+
// is must be an integer
|
1189
1164
|
if (!isNumber(k) || !isInteger(k)) {
|
1190
1165
|
throw new TypeError('The parameter k must be an integer number');
|
1191
1166
|
}
|
@@ -1193,51 +1168,53 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1193
1168
|
// default value
|
1194
1169
|
k = 0;
|
1195
1170
|
}
|
1196
|
-
|
1197
1171
|
var kSuper = k > 0 ? k : 0;
|
1198
|
-
var kSub = k < 0 ? -k : 0;
|
1172
|
+
var kSub = k < 0 ? -k : 0;
|
1199
1173
|
|
1174
|
+
// rows & columns
|
1200
1175
|
var rows = this._size[0];
|
1201
|
-
var columns = this._size[1];
|
1176
|
+
var columns = this._size[1];
|
1202
1177
|
|
1203
|
-
|
1178
|
+
// number diagonal values
|
1179
|
+
var n = Math.min(rows - kSub, columns - kSuper);
|
1204
1180
|
|
1181
|
+
// diagonal arrays
|
1205
1182
|
var values = [];
|
1206
1183
|
var index = [];
|
1207
|
-
var ptr = [];
|
1208
|
-
|
1209
|
-
ptr[0] = 0;
|
1210
|
-
|
1184
|
+
var ptr = [];
|
1185
|
+
// initial ptr value
|
1186
|
+
ptr[0] = 0;
|
1187
|
+
// loop columns
|
1211
1188
|
for (var j = kSuper; j < columns && values.length < n; j++) {
|
1212
1189
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
1213
1190
|
var k0 = this._ptr[j];
|
1214
|
-
var k1 = this._ptr[j + 1];
|
1215
|
-
|
1191
|
+
var k1 = this._ptr[j + 1];
|
1192
|
+
// loop x within [k0, k1[
|
1216
1193
|
for (var x = k0; x < k1; x++) {
|
1217
1194
|
// row index
|
1218
|
-
var i = this._index[x];
|
1219
|
-
|
1195
|
+
var i = this._index[x];
|
1196
|
+
// check row
|
1220
1197
|
if (i === j - kSuper + kSub) {
|
1221
1198
|
// value on this column
|
1222
|
-
values.push(this._values[x]);
|
1223
|
-
|
1224
|
-
index[values.length - 1] = i - kSub;
|
1225
|
-
|
1199
|
+
values.push(this._values[x]);
|
1200
|
+
// store row
|
1201
|
+
index[values.length - 1] = i - kSub;
|
1202
|
+
// exit loop
|
1226
1203
|
break;
|
1227
1204
|
}
|
1228
1205
|
}
|
1229
|
-
}
|
1230
|
-
|
1231
|
-
|
1232
|
-
|
1233
|
-
|
1206
|
+
}
|
1207
|
+
// close ptr
|
1208
|
+
ptr.push(values.length);
|
1209
|
+
// return matrix
|
1234
1210
|
return new SparseMatrix({
|
1235
|
-
values
|
1236
|
-
index
|
1237
|
-
ptr
|
1211
|
+
values,
|
1212
|
+
index,
|
1213
|
+
ptr,
|
1238
1214
|
size: [n, 1]
|
1239
1215
|
});
|
1240
1216
|
};
|
1217
|
+
|
1241
1218
|
/**
|
1242
1219
|
* Generate a matrix from a JSON object
|
1243
1220
|
* @memberof SparseMatrix
|
@@ -1246,11 +1223,10 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1246
1223
|
* where mathjs is optional
|
1247
1224
|
* @returns {SparseMatrix}
|
1248
1225
|
*/
|
1249
|
-
|
1250
|
-
|
1251
1226
|
SparseMatrix.fromJSON = function (json) {
|
1252
1227
|
return new SparseMatrix(json);
|
1253
1228
|
};
|
1229
|
+
|
1254
1230
|
/**
|
1255
1231
|
* Create a diagonal matrix.
|
1256
1232
|
*
|
@@ -1263,93 +1239,87 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1263
1239
|
*
|
1264
1240
|
* @returns {SparseMatrix}
|
1265
1241
|
*/
|
1266
|
-
|
1267
|
-
|
1268
1242
|
SparseMatrix.diagonal = function (size, value, k, defaultValue, datatype) {
|
1269
1243
|
if (!isArray(size)) {
|
1270
1244
|
throw new TypeError('Array expected, size parameter');
|
1271
1245
|
}
|
1272
|
-
|
1273
1246
|
if (size.length !== 2) {
|
1274
1247
|
throw new Error('Only two dimensions matrix are supported');
|
1275
|
-
}
|
1276
|
-
|
1248
|
+
}
|
1277
1249
|
|
1250
|
+
// map size & validate
|
1278
1251
|
size = size.map(function (s) {
|
1279
1252
|
// check it is a big number
|
1280
1253
|
if (isBigNumber(s)) {
|
1281
1254
|
// convert it
|
1282
1255
|
s = s.toNumber();
|
1283
|
-
}
|
1284
|
-
|
1285
|
-
|
1256
|
+
}
|
1257
|
+
// validate arguments
|
1286
1258
|
if (!isNumber(s) || !isInteger(s) || s < 1) {
|
1287
1259
|
throw new Error('Size values must be positive integers');
|
1288
1260
|
}
|
1289
|
-
|
1290
1261
|
return s;
|
1291
|
-
});
|
1262
|
+
});
|
1292
1263
|
|
1264
|
+
// validate k if any
|
1293
1265
|
if (k) {
|
1294
1266
|
// convert BigNumber to a number
|
1295
1267
|
if (isBigNumber(k)) {
|
1296
1268
|
k = k.toNumber();
|
1297
|
-
}
|
1298
|
-
|
1299
|
-
|
1269
|
+
}
|
1270
|
+
// is must be an integer
|
1300
1271
|
if (!isNumber(k) || !isInteger(k)) {
|
1301
1272
|
throw new TypeError('The parameter k must be an integer number');
|
1302
1273
|
}
|
1303
1274
|
} else {
|
1304
1275
|
// default value
|
1305
1276
|
k = 0;
|
1306
|
-
}
|
1307
|
-
|
1308
|
-
|
1309
|
-
var eq = equalScalar; // zero value
|
1277
|
+
}
|
1310
1278
|
|
1279
|
+
// equal signature to use
|
1280
|
+
var eq = equalScalar;
|
1281
|
+
// zero value
|
1311
1282
|
var zero = 0;
|
1312
|
-
|
1313
1283
|
if (isString(datatype)) {
|
1314
1284
|
// find signature that matches (datatype, datatype)
|
1315
|
-
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
1316
|
-
|
1285
|
+
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
1286
|
+
// convert 0 to the same datatype
|
1317
1287
|
zero = typed.convert(0, datatype);
|
1318
1288
|
}
|
1319
|
-
|
1320
1289
|
var kSuper = k > 0 ? k : 0;
|
1321
|
-
var kSub = k < 0 ? -k : 0;
|
1290
|
+
var kSub = k < 0 ? -k : 0;
|
1322
1291
|
|
1292
|
+
// rows and columns
|
1323
1293
|
var rows = size[0];
|
1324
|
-
var columns = size[1];
|
1325
|
-
|
1326
|
-
var n = Math.min(rows - kSub, columns - kSuper); // value extraction function
|
1294
|
+
var columns = size[1];
|
1327
1295
|
|
1328
|
-
|
1296
|
+
// number of non-zero items
|
1297
|
+
var n = Math.min(rows - kSub, columns - kSuper);
|
1329
1298
|
|
1299
|
+
// value extraction function
|
1300
|
+
var _value;
|
1330
1301
|
|
1302
|
+
// check value
|
1331
1303
|
if (isArray(value)) {
|
1332
1304
|
// validate array
|
1333
1305
|
if (value.length !== n) {
|
1334
1306
|
// number of values in array must be n
|
1335
1307
|
throw new Error('Invalid value array length');
|
1336
|
-
}
|
1337
|
-
|
1338
|
-
|
1308
|
+
}
|
1309
|
+
// define function
|
1339
1310
|
_value = function _value(i) {
|
1340
1311
|
// return value @ i
|
1341
1312
|
return value[i];
|
1342
1313
|
};
|
1343
1314
|
} else if (isMatrix(value)) {
|
1344
1315
|
// matrix size
|
1345
|
-
var ms = value.size();
|
1346
|
-
|
1316
|
+
var ms = value.size();
|
1317
|
+
// validate matrix
|
1347
1318
|
if (ms.length !== 1 || ms[0] !== n) {
|
1348
1319
|
// number of values in array must be n
|
1349
1320
|
throw new Error('Invalid matrix length');
|
1350
|
-
}
|
1351
|
-
|
1352
|
-
|
1321
|
+
}
|
1322
|
+
// define function
|
1353
1323
|
_value = function _value(i) {
|
1354
1324
|
// return value @ i
|
1355
1325
|
return value.get([i]);
|
@@ -1360,43 +1330,43 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1360
1330
|
// return value
|
1361
1331
|
return value;
|
1362
1332
|
};
|
1363
|
-
}
|
1364
|
-
|
1333
|
+
}
|
1365
1334
|
|
1335
|
+
// create arrays
|
1366
1336
|
var values = [];
|
1367
1337
|
var index = [];
|
1368
|
-
var ptr = [];
|
1338
|
+
var ptr = [];
|
1369
1339
|
|
1340
|
+
// loop items
|
1370
1341
|
for (var j = 0; j < columns; j++) {
|
1371
1342
|
// number of rows with value
|
1372
|
-
ptr.push(values.length);
|
1373
|
-
|
1374
|
-
var i = j - kSuper;
|
1375
|
-
|
1343
|
+
ptr.push(values.length);
|
1344
|
+
// diagonal index
|
1345
|
+
var i = j - kSuper;
|
1346
|
+
// check we need to set diagonal value
|
1376
1347
|
if (i >= 0 && i < n) {
|
1377
1348
|
// get value @ i
|
1378
|
-
var v = _value(i);
|
1379
|
-
|
1380
|
-
|
1349
|
+
var v = _value(i);
|
1350
|
+
// check for zero
|
1381
1351
|
if (!eq(v, zero)) {
|
1382
1352
|
// column
|
1383
|
-
index.push(i + kSub);
|
1384
|
-
|
1353
|
+
index.push(i + kSub);
|
1354
|
+
// add value
|
1385
1355
|
values.push(v);
|
1386
1356
|
}
|
1387
1357
|
}
|
1388
|
-
}
|
1389
|
-
|
1390
|
-
|
1391
|
-
|
1392
|
-
|
1358
|
+
}
|
1359
|
+
// last value should be number of values
|
1360
|
+
ptr.push(values.length);
|
1361
|
+
// create SparseMatrix
|
1393
1362
|
return new SparseMatrix({
|
1394
|
-
values
|
1395
|
-
index
|
1396
|
-
ptr
|
1363
|
+
values,
|
1364
|
+
index,
|
1365
|
+
ptr,
|
1397
1366
|
size: [rows, columns]
|
1398
1367
|
});
|
1399
1368
|
};
|
1369
|
+
|
1400
1370
|
/**
|
1401
1371
|
* Swap rows i and j in Matrix.
|
1402
1372
|
*
|
@@ -1406,28 +1376,25 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1406
1376
|
*
|
1407
1377
|
* @return {Matrix} The matrix reference
|
1408
1378
|
*/
|
1409
|
-
|
1410
|
-
|
1411
1379
|
SparseMatrix.prototype.swapRows = function (i, j) {
|
1412
1380
|
// check index
|
1413
1381
|
if (!isNumber(i) || !isInteger(i) || !isNumber(j) || !isInteger(j)) {
|
1414
1382
|
throw new Error('Row index must be positive integers');
|
1415
|
-
}
|
1416
|
-
|
1417
|
-
|
1383
|
+
}
|
1384
|
+
// check dimensions
|
1418
1385
|
if (this._size.length !== 2) {
|
1419
1386
|
throw new Error('Only two dimensional matrix is supported');
|
1420
|
-
}
|
1421
|
-
|
1422
|
-
|
1387
|
+
}
|
1388
|
+
// validate index
|
1423
1389
|
validateIndex(i, this._size[0]);
|
1424
|
-
validateIndex(j, this._size[0]);
|
1425
|
-
|
1426
|
-
SparseMatrix._swapRows(i, j, this._size[1], this._values, this._index, this._ptr); // return current instance
|
1427
|
-
|
1390
|
+
validateIndex(j, this._size[0]);
|
1428
1391
|
|
1392
|
+
// swap rows
|
1393
|
+
SparseMatrix._swapRows(i, j, this._size[1], this._values, this._index, this._ptr);
|
1394
|
+
// return current instance
|
1429
1395
|
return this;
|
1430
1396
|
};
|
1397
|
+
|
1431
1398
|
/**
|
1432
1399
|
* Loop rows with data in column j.
|
1433
1400
|
*
|
@@ -1437,18 +1404,17 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1437
1404
|
* @param {Array} ptr Matrix column pointers
|
1438
1405
|
* @param {Function} callback Callback function invoked for every row in column j
|
1439
1406
|
*/
|
1440
|
-
|
1441
|
-
|
1442
1407
|
SparseMatrix._forEachRow = function (j, values, index, ptr, callback) {
|
1443
1408
|
// indeces for column j
|
1444
1409
|
var k0 = ptr[j];
|
1445
|
-
var k1 = ptr[j + 1];
|
1446
|
-
|
1410
|
+
var k1 = ptr[j + 1];
|
1411
|
+
// loop
|
1447
1412
|
for (var k = k0; k < k1; k++) {
|
1448
1413
|
// invoke callback
|
1449
1414
|
callback(index[k], values[k]);
|
1450
1415
|
}
|
1451
1416
|
};
|
1417
|
+
|
1452
1418
|
/**
|
1453
1419
|
* Swap rows x and y in Sparse Matrix data structures.
|
1454
1420
|
*
|
@@ -1459,76 +1425,61 @@ export var createSparseMatrixClass = /* #__PURE__ */factory(name, dependencies,
|
|
1459
1425
|
* @param {Array} index Matrix row indeces
|
1460
1426
|
* @param {Array} ptr Matrix column pointers
|
1461
1427
|
*/
|
1462
|
-
|
1463
|
-
|
1464
1428
|
SparseMatrix._swapRows = function (x, y, columns, values, index, ptr) {
|
1465
1429
|
// loop columns
|
1466
1430
|
for (var j = 0; j < columns; j++) {
|
1467
1431
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
1468
1432
|
var k0 = ptr[j];
|
1469
|
-
var k1 = ptr[j + 1];
|
1470
|
-
|
1471
|
-
var kx = _getValueIndex(x, k0, k1, index);
|
1472
|
-
|
1473
|
-
|
1474
|
-
|
1475
|
-
|
1476
|
-
|
1433
|
+
var k1 = ptr[j + 1];
|
1434
|
+
// find value index @ x
|
1435
|
+
var kx = _getValueIndex(x, k0, k1, index);
|
1436
|
+
// find value index @ x
|
1437
|
+
var ky = _getValueIndex(y, k0, k1, index);
|
1438
|
+
// check both rows exist in matrix
|
1477
1439
|
if (kx < k1 && ky < k1 && index[kx] === x && index[ky] === y) {
|
1478
1440
|
// swap values (check for pattern matrix)
|
1479
1441
|
if (values) {
|
1480
1442
|
var v = values[kx];
|
1481
1443
|
values[kx] = values[ky];
|
1482
1444
|
values[ky] = v;
|
1483
|
-
}
|
1484
|
-
|
1485
|
-
|
1445
|
+
}
|
1446
|
+
// next column
|
1486
1447
|
continue;
|
1487
|
-
}
|
1488
|
-
|
1489
|
-
|
1448
|
+
}
|
1449
|
+
// check x row exist & no y row
|
1490
1450
|
if (kx < k1 && index[kx] === x && (ky >= k1 || index[ky] !== y)) {
|
1491
1451
|
// value @ x (check for pattern matrix)
|
1492
|
-
var vx = values ? values[kx] : undefined;
|
1493
|
-
|
1452
|
+
var vx = values ? values[kx] : undefined;
|
1453
|
+
// insert value @ y
|
1494
1454
|
index.splice(ky, 0, y);
|
1495
|
-
|
1496
1455
|
if (values) {
|
1497
1456
|
values.splice(ky, 0, vx);
|
1498
|
-
}
|
1499
|
-
|
1500
|
-
|
1457
|
+
}
|
1458
|
+
// remove value @ x (adjust array index if needed)
|
1501
1459
|
index.splice(ky <= kx ? kx + 1 : kx, 1);
|
1502
|
-
|
1503
1460
|
if (values) {
|
1504
1461
|
values.splice(ky <= kx ? kx + 1 : kx, 1);
|
1505
|
-
}
|
1506
|
-
|
1507
|
-
|
1462
|
+
}
|
1463
|
+
// next column
|
1508
1464
|
continue;
|
1509
|
-
}
|
1510
|
-
|
1511
|
-
|
1465
|
+
}
|
1466
|
+
// check y row exist & no x row
|
1512
1467
|
if (ky < k1 && index[ky] === y && (kx >= k1 || index[kx] !== x)) {
|
1513
1468
|
// value @ y (check for pattern matrix)
|
1514
|
-
var vy = values ? values[ky] : undefined;
|
1515
|
-
|
1469
|
+
var vy = values ? values[ky] : undefined;
|
1470
|
+
// insert value @ x
|
1516
1471
|
index.splice(kx, 0, x);
|
1517
|
-
|
1518
1472
|
if (values) {
|
1519
1473
|
values.splice(kx, 0, vy);
|
1520
|
-
}
|
1521
|
-
|
1522
|
-
|
1474
|
+
}
|
1475
|
+
// remove value @ y (adjust array index if needed)
|
1523
1476
|
index.splice(kx <= ky ? ky + 1 : ky, 1);
|
1524
|
-
|
1525
1477
|
if (values) {
|
1526
1478
|
values.splice(kx <= ky ? ky + 1 : ky, 1);
|
1527
1479
|
}
|
1528
1480
|
}
|
1529
1481
|
}
|
1530
1482
|
};
|
1531
|
-
|
1532
1483
|
return SparseMatrix;
|
1533
1484
|
}, {
|
1534
1485
|
isClass: true
|