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
@@ -1,45 +1,38 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
4
5
|
value: true
|
5
6
|
});
|
6
7
|
exports.createSparseMatrixClass = void 0;
|
7
|
-
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
8
9
|
var _is = require("../../utils/is.js");
|
9
|
-
|
10
10
|
var _number = require("../../utils/number.js");
|
11
|
-
|
12
11
|
var _string = require("../../utils/string.js");
|
13
|
-
|
14
12
|
var _object = require("../../utils/object.js");
|
15
|
-
|
16
13
|
var _array = require("../../utils/array.js");
|
17
|
-
|
18
14
|
var _factory = require("../../utils/factory.js");
|
19
|
-
|
20
15
|
var _DimensionError = require("../../error/DimensionError.js");
|
21
|
-
|
16
|
+
var _function = require("../../utils/function.js");
|
22
17
|
var name = 'SparseMatrix';
|
23
18
|
var dependencies = ['typed', 'equalScalar', 'Matrix'];
|
24
|
-
var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
19
|
+
var createSparseMatrixClass = exports.createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
|
25
20
|
var typed = _ref.typed,
|
26
|
-
|
27
|
-
|
28
|
-
|
21
|
+
equalScalar = _ref.equalScalar,
|
22
|
+
Matrix = _ref.Matrix;
|
29
23
|
/**
|
30
|
-
* Sparse Matrix implementation. This type implements
|
31
|
-
*
|
24
|
+
* Sparse Matrix implementation. This type implements
|
25
|
+
* a [Compressed Column Storage](https://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_column_(CSC_or_CCS))
|
26
|
+
* format for two-dimensional sparse matrices.
|
32
27
|
* @class SparseMatrix
|
33
28
|
*/
|
34
29
|
function SparseMatrix(data, datatype) {
|
35
30
|
if (!(this instanceof SparseMatrix)) {
|
36
31
|
throw new SyntaxError('Constructor must be called with the new operator');
|
37
32
|
}
|
38
|
-
|
39
33
|
if (datatype && !(0, _is.isString)(datatype)) {
|
40
34
|
throw new Error('Invalid datatype: ' + datatype);
|
41
35
|
}
|
42
|
-
|
43
36
|
if ((0, _is.isMatrix)(data)) {
|
44
37
|
// create from matrix
|
45
38
|
_createFromMatrix(this, data, datatype);
|
@@ -65,7 +58,6 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
65
58
|
this._datatype = datatype;
|
66
59
|
}
|
67
60
|
}
|
68
|
-
|
69
61
|
function _createFromMatrix(matrix, source, datatype) {
|
70
62
|
// check matrix type
|
71
63
|
if (source.type === 'SparseMatrix') {
|
@@ -80,58 +72,53 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
80
72
|
_createFromArray(matrix, source.valueOf(), datatype || source._datatype);
|
81
73
|
}
|
82
74
|
}
|
83
|
-
|
84
75
|
function _createFromArray(matrix, data, datatype) {
|
85
76
|
// initialize fields
|
86
77
|
matrix._values = [];
|
87
78
|
matrix._index = [];
|
88
79
|
matrix._ptr = [];
|
89
|
-
matrix._datatype = datatype;
|
90
|
-
|
80
|
+
matrix._datatype = datatype;
|
81
|
+
// discover rows & columns, do not use math.size() to avoid looping array twice
|
91
82
|
var rows = data.length;
|
92
|
-
var columns = 0;
|
93
|
-
|
94
|
-
var eq = equalScalar; // zero value
|
83
|
+
var columns = 0;
|
95
84
|
|
85
|
+
// equal signature to use
|
86
|
+
var eq = equalScalar;
|
87
|
+
// zero value
|
96
88
|
var zero = 0;
|
97
|
-
|
98
89
|
if ((0, _is.isString)(datatype)) {
|
99
90
|
// find signature that matches (datatype, datatype)
|
100
|
-
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
101
|
-
|
91
|
+
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
92
|
+
// convert 0 to the same datatype
|
102
93
|
zero = typed.convert(0, datatype);
|
103
|
-
}
|
104
|
-
|
94
|
+
}
|
105
95
|
|
96
|
+
// check we have rows (empty array)
|
106
97
|
if (rows > 0) {
|
107
98
|
// column index
|
108
99
|
var j = 0;
|
109
|
-
|
110
100
|
do {
|
111
101
|
// store pointer to values index
|
112
|
-
matrix._ptr.push(matrix._index.length);
|
113
|
-
|
114
|
-
|
102
|
+
matrix._ptr.push(matrix._index.length);
|
103
|
+
// loop rows
|
115
104
|
for (var i = 0; i < rows; i++) {
|
116
105
|
// current row
|
117
|
-
var row = data[i];
|
118
|
-
|
106
|
+
var row = data[i];
|
107
|
+
// check row is an array
|
119
108
|
if ((0, _is.isArray)(row)) {
|
120
109
|
// update columns if needed (only on first column)
|
121
110
|
if (j === 0 && columns < row.length) {
|
122
111
|
columns = row.length;
|
123
|
-
}
|
124
|
-
|
125
|
-
|
112
|
+
}
|
113
|
+
// check row has column
|
126
114
|
if (j < row.length) {
|
127
115
|
// value
|
128
|
-
var v = row[j];
|
129
|
-
|
116
|
+
var v = row[j];
|
117
|
+
// check value != 0
|
130
118
|
if (!eq(v, zero)) {
|
131
119
|
// store value
|
132
|
-
matrix._values.push(v);
|
133
|
-
|
134
|
-
|
120
|
+
matrix._values.push(v);
|
121
|
+
// index
|
135
122
|
matrix._index.push(i);
|
136
123
|
}
|
137
124
|
}
|
@@ -139,46 +126,44 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
139
126
|
// update columns if needed (only on first column)
|
140
127
|
if (j === 0 && columns < 1) {
|
141
128
|
columns = 1;
|
142
|
-
}
|
143
|
-
|
144
|
-
|
129
|
+
}
|
130
|
+
// check value != 0 (row is a scalar)
|
145
131
|
if (!eq(row, zero)) {
|
146
132
|
// store value
|
147
|
-
matrix._values.push(row);
|
148
|
-
|
149
|
-
|
133
|
+
matrix._values.push(row);
|
134
|
+
// index
|
150
135
|
matrix._index.push(i);
|
151
136
|
}
|
152
137
|
}
|
153
|
-
}
|
154
|
-
|
155
|
-
|
138
|
+
}
|
139
|
+
// increment index
|
156
140
|
j++;
|
157
141
|
} while (j < columns);
|
158
|
-
}
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
142
|
+
}
|
143
|
+
// store number of values in ptr
|
144
|
+
matrix._ptr.push(matrix._index.length);
|
145
|
+
// size
|
164
146
|
matrix._size = [rows, columns];
|
165
147
|
}
|
166
|
-
|
167
148
|
SparseMatrix.prototype = new Matrix();
|
149
|
+
|
168
150
|
/**
|
169
151
|
* Create a new SparseMatrix
|
170
152
|
*/
|
171
|
-
|
172
153
|
SparseMatrix.prototype.createSparseMatrix = function (data, datatype) {
|
173
154
|
return new SparseMatrix(data, datatype);
|
174
155
|
};
|
156
|
+
|
175
157
|
/**
|
176
158
|
* Attach type information
|
177
159
|
*/
|
178
|
-
|
179
|
-
|
160
|
+
Object.defineProperty(SparseMatrix, 'name', {
|
161
|
+
value: 'SparseMatrix'
|
162
|
+
});
|
163
|
+
SparseMatrix.prototype.constructor = SparseMatrix;
|
180
164
|
SparseMatrix.prototype.type = 'SparseMatrix';
|
181
165
|
SparseMatrix.prototype.isSparseMatrix = true;
|
166
|
+
|
182
167
|
/**
|
183
168
|
* Get the matrix type
|
184
169
|
*
|
@@ -188,10 +173,10 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
188
173
|
* @memberOf SparseMatrix
|
189
174
|
* @return {string} type information; if multiple types are found from the Matrix, it will return "mixed"
|
190
175
|
*/
|
191
|
-
|
192
176
|
SparseMatrix.prototype.getDataType = function () {
|
193
177
|
return (0, _array.getArrayDataType)(this._values, _is.typeOf);
|
194
178
|
};
|
179
|
+
|
195
180
|
/**
|
196
181
|
* Get the storage format used by the matrix.
|
197
182
|
*
|
@@ -201,11 +186,10 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
201
186
|
* @memberof SparseMatrix
|
202
187
|
* @return {string} The storage format.
|
203
188
|
*/
|
204
|
-
|
205
|
-
|
206
189
|
SparseMatrix.prototype.storage = function () {
|
207
190
|
return 'sparse';
|
208
191
|
};
|
192
|
+
|
209
193
|
/**
|
210
194
|
* Get the datatype of the data stored in the matrix.
|
211
195
|
*
|
@@ -215,22 +199,20 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
215
199
|
* @memberof SparseMatrix
|
216
200
|
* @return {string} The datatype.
|
217
201
|
*/
|
218
|
-
|
219
|
-
|
220
202
|
SparseMatrix.prototype.datatype = function () {
|
221
203
|
return this._datatype;
|
222
204
|
};
|
205
|
+
|
223
206
|
/**
|
224
207
|
* Create a new SparseMatrix
|
225
208
|
* @memberof SparseMatrix
|
226
209
|
* @param {Array} data
|
227
210
|
* @param {string} [datatype]
|
228
211
|
*/
|
229
|
-
|
230
|
-
|
231
212
|
SparseMatrix.prototype.create = function (data, datatype) {
|
232
213
|
return new SparseMatrix(data, datatype);
|
233
214
|
};
|
215
|
+
|
234
216
|
/**
|
235
217
|
* Get the matrix density.
|
236
218
|
*
|
@@ -240,15 +222,14 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
240
222
|
* @memberof SparseMatrix
|
241
223
|
* @return {number} The matrix density.
|
242
224
|
*/
|
243
|
-
|
244
|
-
|
245
225
|
SparseMatrix.prototype.density = function () {
|
246
226
|
// rows & columns
|
247
227
|
var rows = this._size[0];
|
248
|
-
var columns = this._size[1];
|
249
|
-
|
228
|
+
var columns = this._size[1];
|
229
|
+
// calculate density
|
250
230
|
return rows !== 0 && columns !== 0 ? this._index.length / (rows * columns) : 0;
|
251
231
|
};
|
232
|
+
|
252
233
|
/**
|
253
234
|
* Get a subset of the matrix, or replace a subset of the matrix.
|
254
235
|
*
|
@@ -263,103 +244,101 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
263
244
|
* the matrix is resized. If not provided,
|
264
245
|
* new matrix elements will be filled with zeros.
|
265
246
|
*/
|
266
|
-
|
267
|
-
|
268
247
|
SparseMatrix.prototype.subset = function (index, replacement, defaultValue) {
|
269
248
|
// check it is a pattern matrix
|
270
249
|
if (!this._values) {
|
271
250
|
throw new Error('Cannot invoke subset on a Pattern only matrix');
|
272
|
-
}
|
273
|
-
|
251
|
+
}
|
274
252
|
|
253
|
+
// check arguments
|
275
254
|
switch (arguments.length) {
|
276
255
|
case 1:
|
277
256
|
return _getsubset(this, index);
|
278
|
-
// intentional fall through
|
279
257
|
|
258
|
+
// intentional fall through
|
280
259
|
case 2:
|
281
260
|
case 3:
|
282
261
|
return _setsubset(this, index, replacement, defaultValue);
|
283
|
-
|
284
262
|
default:
|
285
263
|
throw new SyntaxError('Wrong number of arguments');
|
286
264
|
}
|
287
265
|
};
|
288
|
-
|
289
266
|
function _getsubset(matrix, idx) {
|
290
267
|
// check idx
|
291
268
|
if (!(0, _is.isIndex)(idx)) {
|
292
269
|
throw new TypeError('Invalid index');
|
293
270
|
}
|
294
|
-
|
295
271
|
var isScalar = idx.isScalar();
|
296
|
-
|
297
272
|
if (isScalar) {
|
298
273
|
// return a scalar
|
299
274
|
return matrix.get(idx.min());
|
300
|
-
}
|
301
|
-
|
302
|
-
|
275
|
+
}
|
276
|
+
// validate dimensions
|
303
277
|
var size = idx.size();
|
304
|
-
|
305
278
|
if (size.length !== matrix._size.length) {
|
306
279
|
throw new _DimensionError.DimensionError(size.length, matrix._size.length);
|
307
|
-
}
|
308
|
-
|
280
|
+
}
|
309
281
|
|
310
|
-
|
282
|
+
// vars
|
283
|
+
var i, ii, k, kk;
|
311
284
|
|
285
|
+
// validate if any of the ranges in the index is out of range
|
312
286
|
var min = idx.min();
|
313
287
|
var max = idx.max();
|
314
|
-
|
315
288
|
for (i = 0, ii = matrix._size.length; i < ii; i++) {
|
316
289
|
(0, _array.validateIndex)(min[i], matrix._size[i]);
|
317
290
|
(0, _array.validateIndex)(max[i], matrix._size[i]);
|
318
|
-
}
|
319
|
-
|
291
|
+
}
|
320
292
|
|
293
|
+
// matrix arrays
|
321
294
|
var mvalues = matrix._values;
|
322
295
|
var mindex = matrix._index;
|
323
|
-
var mptr = matrix._ptr;
|
296
|
+
var mptr = matrix._ptr;
|
324
297
|
|
298
|
+
// rows & columns dimensions for result matrix
|
325
299
|
var rows = idx.dimension(0);
|
326
|
-
var columns = idx.dimension(1);
|
300
|
+
var columns = idx.dimension(1);
|
327
301
|
|
302
|
+
// workspace & permutation vector
|
328
303
|
var w = [];
|
329
|
-
var pv = [];
|
304
|
+
var pv = [];
|
330
305
|
|
306
|
+
// loop rows in resulting matrix
|
331
307
|
rows.forEach(function (i, r) {
|
332
308
|
// update permutation vector
|
333
|
-
pv[i] = r[0];
|
334
|
-
|
309
|
+
pv[i] = r[0];
|
310
|
+
// mark i in workspace
|
335
311
|
w[i] = true;
|
336
|
-
});
|
312
|
+
});
|
337
313
|
|
314
|
+
// result matrix arrays
|
338
315
|
var values = mvalues ? [] : undefined;
|
339
316
|
var index = [];
|
340
|
-
var ptr = [];
|
317
|
+
var ptr = [];
|
341
318
|
|
319
|
+
// loop columns in result matrix
|
342
320
|
columns.forEach(function (j) {
|
343
321
|
// update ptr
|
344
|
-
ptr.push(index.length);
|
345
|
-
|
322
|
+
ptr.push(index.length);
|
323
|
+
// loop values in column j
|
346
324
|
for (k = mptr[j], kk = mptr[j + 1]; k < kk; k++) {
|
347
325
|
// row
|
348
|
-
i = mindex[k];
|
349
|
-
|
326
|
+
i = mindex[k];
|
327
|
+
// check row is in result matrix
|
350
328
|
if (w[i] === true) {
|
351
329
|
// push index
|
352
|
-
index.push(pv[i]);
|
353
|
-
|
330
|
+
index.push(pv[i]);
|
331
|
+
// check we need to process values
|
354
332
|
if (values) {
|
355
333
|
values.push(mvalues[k]);
|
356
334
|
}
|
357
335
|
}
|
358
336
|
}
|
359
|
-
});
|
360
|
-
|
361
|
-
ptr.push(index.length);
|
337
|
+
});
|
338
|
+
// update ptr
|
339
|
+
ptr.push(index.length);
|
362
340
|
|
341
|
+
// return matrix
|
363
342
|
return new SparseMatrix({
|
364
343
|
values: values,
|
365
344
|
index: index,
|
@@ -368,126 +347,123 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
368
347
|
datatype: matrix._datatype
|
369
348
|
});
|
370
349
|
}
|
371
|
-
|
372
350
|
function _setsubset(matrix, index, submatrix, defaultValue) {
|
373
351
|
// check index
|
374
352
|
if (!index || index.isIndex !== true) {
|
375
353
|
throw new TypeError('Invalid index');
|
376
|
-
}
|
377
|
-
|
354
|
+
}
|
378
355
|
|
356
|
+
// get index size and check whether the index contains a single value
|
379
357
|
var iSize = index.size();
|
380
|
-
var isScalar = index.isScalar();
|
358
|
+
var isScalar = index.isScalar();
|
381
359
|
|
360
|
+
// calculate the size of the submatrix, and convert it into an Array if needed
|
382
361
|
var sSize;
|
383
|
-
|
384
362
|
if ((0, _is.isMatrix)(submatrix)) {
|
385
363
|
// submatrix size
|
386
|
-
sSize = submatrix.size();
|
387
|
-
|
364
|
+
sSize = submatrix.size();
|
365
|
+
// use array representation
|
388
366
|
submatrix = submatrix.toArray();
|
389
367
|
} else {
|
390
368
|
// get submatrix size (array, scalar)
|
391
369
|
sSize = (0, _array.arraySize)(submatrix);
|
392
|
-
}
|
393
|
-
|
370
|
+
}
|
394
371
|
|
372
|
+
// check index is a scalar
|
395
373
|
if (isScalar) {
|
396
374
|
// verify submatrix is a scalar
|
397
375
|
if (sSize.length !== 0) {
|
398
376
|
throw new TypeError('Scalar expected');
|
399
|
-
}
|
400
|
-
|
401
|
-
|
377
|
+
}
|
378
|
+
// set value
|
402
379
|
matrix.set(index.min(), submatrix, defaultValue);
|
403
380
|
} else {
|
404
381
|
// validate dimensions, index size must be one or two dimensions
|
405
382
|
if (iSize.length !== 1 && iSize.length !== 2) {
|
406
383
|
throw new _DimensionError.DimensionError(iSize.length, matrix._size.length, '<');
|
407
|
-
}
|
408
|
-
|
384
|
+
}
|
409
385
|
|
386
|
+
// check submatrix and index have the same dimensions
|
410
387
|
if (sSize.length < iSize.length) {
|
411
388
|
// calculate number of missing outer dimensions
|
412
389
|
var i = 0;
|
413
390
|
var outer = 0;
|
414
|
-
|
415
391
|
while (iSize[i] === 1 && sSize[i] === 1) {
|
416
392
|
i++;
|
417
393
|
}
|
418
|
-
|
419
394
|
while (iSize[i] === 1) {
|
420
395
|
outer++;
|
421
396
|
i++;
|
422
|
-
}
|
423
|
-
|
424
|
-
|
397
|
+
}
|
398
|
+
// unsqueeze both outer and inner dimensions
|
425
399
|
submatrix = (0, _array.unsqueeze)(submatrix, iSize.length, outer, sSize);
|
426
|
-
}
|
427
|
-
|
400
|
+
}
|
428
401
|
|
402
|
+
// check whether the size of the submatrix matches the index size
|
429
403
|
if (!(0, _object.deepStrictEqual)(iSize, sSize)) {
|
430
404
|
throw new _DimensionError.DimensionError(iSize, sSize, '>');
|
431
|
-
}
|
432
|
-
|
433
|
-
|
434
|
-
var x0 = index.min()[0];
|
435
|
-
var y0 = index.min()[1]; // submatrix rows and columns
|
436
|
-
|
437
|
-
var m = sSize[0];
|
438
|
-
var n = sSize[1]; // loop submatrix
|
439
|
-
|
440
|
-
for (var x = 0; x < m; x++) {
|
441
|
-
// loop columns
|
442
|
-
for (var y = 0; y < n; y++) {
|
443
|
-
// value at i, j
|
444
|
-
var v = submatrix[x][y]; // invoke set (zero value will remove entry from matrix)
|
405
|
+
}
|
445
406
|
|
446
|
-
|
447
|
-
|
407
|
+
// insert the sub matrix
|
408
|
+
if (iSize.length === 1) {
|
409
|
+
// if the replacement index only has 1 dimension, go trough each one and set its value
|
410
|
+
var range = index.dimension(0);
|
411
|
+
range.forEach(function (dataIndex, subIndex) {
|
412
|
+
(0, _array.validateIndex)(dataIndex);
|
413
|
+
matrix.set([dataIndex, 0], submatrix[subIndex[0]], defaultValue);
|
414
|
+
});
|
415
|
+
} else {
|
416
|
+
// if the replacement index has 2 dimensions, go through each one and set the value in the correct index
|
417
|
+
var firstDimensionRange = index.dimension(0);
|
418
|
+
var secondDimensionRange = index.dimension(1);
|
419
|
+
firstDimensionRange.forEach(function (firstDataIndex, firstSubIndex) {
|
420
|
+
(0, _array.validateIndex)(firstDataIndex);
|
421
|
+
secondDimensionRange.forEach(function (secondDataIndex, secondSubIndex) {
|
422
|
+
(0, _array.validateIndex)(secondDataIndex);
|
423
|
+
matrix.set([firstDataIndex, secondDataIndex], submatrix[firstSubIndex[0]][secondSubIndex[0]], defaultValue);
|
424
|
+
});
|
425
|
+
});
|
448
426
|
}
|
449
427
|
}
|
450
|
-
|
451
428
|
return matrix;
|
452
429
|
}
|
430
|
+
|
453
431
|
/**
|
454
432
|
* Get a single element from the matrix.
|
455
433
|
* @memberof SparseMatrix
|
456
434
|
* @param {number[]} index Zero-based index
|
457
435
|
* @return {*} value
|
458
436
|
*/
|
459
|
-
|
460
|
-
|
461
437
|
SparseMatrix.prototype.get = function (index) {
|
462
438
|
if (!(0, _is.isArray)(index)) {
|
463
439
|
throw new TypeError('Array expected');
|
464
440
|
}
|
465
|
-
|
466
441
|
if (index.length !== this._size.length) {
|
467
442
|
throw new _DimensionError.DimensionError(index.length, this._size.length);
|
468
|
-
}
|
469
|
-
|
443
|
+
}
|
470
444
|
|
445
|
+
// check it is a pattern matrix
|
471
446
|
if (!this._values) {
|
472
447
|
throw new Error('Cannot invoke get on a Pattern only matrix');
|
473
|
-
}
|
474
|
-
|
448
|
+
}
|
475
449
|
|
450
|
+
// row and column
|
476
451
|
var i = index[0];
|
477
|
-
var j = index[1];
|
452
|
+
var j = index[1];
|
478
453
|
|
454
|
+
// check i, j are valid
|
479
455
|
(0, _array.validateIndex)(i, this._size[0]);
|
480
|
-
(0, _array.validateIndex)(j, this._size[1]);
|
481
|
-
|
482
|
-
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
|
483
|
-
|
456
|
+
(0, _array.validateIndex)(j, this._size[1]);
|
484
457
|
|
458
|
+
// find value index
|
459
|
+
var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index);
|
460
|
+
// check k is prior to next column k and it is in the correct row
|
485
461
|
if (k < this._ptr[j + 1] && this._index[k] === i) {
|
486
462
|
return this._values[k];
|
487
463
|
}
|
488
|
-
|
489
464
|
return 0;
|
490
465
|
};
|
466
|
+
|
491
467
|
/**
|
492
468
|
* Replace a single element in the matrix.
|
493
469
|
* @memberof SparseMatrix
|
@@ -498,57 +474,54 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
498
474
|
* new matrix elements will be set to zero.
|
499
475
|
* @return {SparseMatrix} self
|
500
476
|
*/
|
501
|
-
|
502
|
-
|
503
477
|
SparseMatrix.prototype.set = function (index, v, defaultValue) {
|
504
478
|
if (!(0, _is.isArray)(index)) {
|
505
479
|
throw new TypeError('Array expected');
|
506
480
|
}
|
507
|
-
|
508
481
|
if (index.length !== this._size.length) {
|
509
482
|
throw new _DimensionError.DimensionError(index.length, this._size.length);
|
510
|
-
}
|
511
|
-
|
483
|
+
}
|
512
484
|
|
485
|
+
// check it is a pattern matrix
|
513
486
|
if (!this._values) {
|
514
487
|
throw new Error('Cannot invoke set on a Pattern only matrix');
|
515
|
-
}
|
516
|
-
|
488
|
+
}
|
517
489
|
|
490
|
+
// row and column
|
518
491
|
var i = index[0];
|
519
|
-
var j = index[1];
|
492
|
+
var j = index[1];
|
520
493
|
|
494
|
+
// rows & columns
|
521
495
|
var rows = this._size[0];
|
522
|
-
var columns = this._size[1];
|
523
|
-
|
524
|
-
var eq = equalScalar; // zero value
|
496
|
+
var columns = this._size[1];
|
525
497
|
|
498
|
+
// equal signature to use
|
499
|
+
var eq = equalScalar;
|
500
|
+
// zero value
|
526
501
|
var zero = 0;
|
527
|
-
|
528
502
|
if ((0, _is.isString)(this._datatype)) {
|
529
503
|
// find signature that matches (datatype, datatype)
|
530
|
-
eq = typed.find(equalScalar, [this._datatype, this._datatype]) || equalScalar;
|
531
|
-
|
504
|
+
eq = typed.find(equalScalar, [this._datatype, this._datatype]) || equalScalar;
|
505
|
+
// convert 0 to the same datatype
|
532
506
|
zero = typed.convert(0, this._datatype);
|
533
|
-
}
|
534
|
-
|
507
|
+
}
|
535
508
|
|
509
|
+
// check we need to resize matrix
|
536
510
|
if (i > rows - 1 || j > columns - 1) {
|
537
511
|
// resize matrix
|
538
|
-
_resize(this, Math.max(i + 1, rows), Math.max(j + 1, columns), defaultValue);
|
539
|
-
|
540
|
-
|
512
|
+
_resize(this, Math.max(i + 1, rows), Math.max(j + 1, columns), defaultValue);
|
513
|
+
// update rows & columns
|
541
514
|
rows = this._size[0];
|
542
515
|
columns = this._size[1];
|
543
|
-
}
|
544
|
-
|
516
|
+
}
|
545
517
|
|
518
|
+
// check i, j are valid
|
546
519
|
(0, _array.validateIndex)(i, rows);
|
547
|
-
(0, _array.validateIndex)(j, columns);
|
548
|
-
|
549
|
-
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
|
550
|
-
|
520
|
+
(0, _array.validateIndex)(j, columns);
|
551
521
|
|
522
|
+
// find value index
|
523
|
+
var k = _getValueIndex(i, this._ptr[j], this._ptr[j + 1], this._index);
|
524
|
+
// check k is prior to next column k and it is in the correct row
|
552
525
|
if (k < this._ptr[j + 1] && this._index[k] === i) {
|
553
526
|
// check value != 0
|
554
527
|
if (!eq(v, zero)) {
|
@@ -559,57 +532,56 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
559
532
|
_remove(k, j, this._values, this._index, this._ptr);
|
560
533
|
}
|
561
534
|
} else {
|
562
|
-
|
563
|
-
|
535
|
+
if (!eq(v, zero)) {
|
536
|
+
// insert value @ (i, j)
|
537
|
+
_insert(k, i, j, v, this._values, this._index, this._ptr);
|
538
|
+
}
|
564
539
|
}
|
565
|
-
|
566
540
|
return this;
|
567
541
|
};
|
568
|
-
|
569
542
|
function _getValueIndex(i, top, bottom, index) {
|
570
543
|
// check row is on the bottom side
|
571
544
|
if (bottom - top === 0) {
|
572
545
|
return bottom;
|
573
|
-
}
|
574
|
-
|
575
|
-
|
546
|
+
}
|
547
|
+
// loop rows [top, bottom[
|
576
548
|
for (var r = top; r < bottom; r++) {
|
577
549
|
// check we found value index
|
578
550
|
if (index[r] === i) {
|
579
551
|
return r;
|
580
552
|
}
|
581
|
-
}
|
582
|
-
|
583
|
-
|
553
|
+
}
|
554
|
+
// we did not find row
|
584
555
|
return top;
|
585
556
|
}
|
586
|
-
|
587
557
|
function _remove(k, j, values, index, ptr) {
|
588
558
|
// remove value @ k
|
589
559
|
values.splice(k, 1);
|
590
|
-
index.splice(k, 1);
|
591
|
-
|
560
|
+
index.splice(k, 1);
|
561
|
+
// update pointers
|
592
562
|
for (var x = j + 1; x < ptr.length; x++) {
|
593
563
|
ptr[x]--;
|
594
564
|
}
|
595
565
|
}
|
596
|
-
|
597
566
|
function _insert(k, i, j, v, values, index, ptr) {
|
598
567
|
// insert value
|
599
|
-
values.splice(k, 0, v);
|
600
|
-
|
601
|
-
index.splice(k, 0, i);
|
602
|
-
|
568
|
+
values.splice(k, 0, v);
|
569
|
+
// update row for k
|
570
|
+
index.splice(k, 0, i);
|
571
|
+
// update column pointers
|
603
572
|
for (var x = j + 1; x < ptr.length; x++) {
|
604
573
|
ptr[x]++;
|
605
574
|
}
|
606
575
|
}
|
576
|
+
|
607
577
|
/**
|
608
578
|
* Resize the matrix to the given size. Returns a copy of the matrix when
|
609
579
|
* `copy=true`, otherwise return the matrix itself (resize in place).
|
610
580
|
*
|
611
581
|
* @memberof SparseMatrix
|
612
582
|
* @param {number[] | Matrix} size The new size the matrix should have.
|
583
|
+
* Since sparse matrices are always two-dimensional,
|
584
|
+
* size must be two numbers in either an array or a matrix
|
613
585
|
* @param {*} [defaultValue=0] Default value, filled in on new entries.
|
614
586
|
* If not provided, the matrix elements will
|
615
587
|
* be filled with zeros.
|
@@ -617,159 +589,148 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
617
589
|
*
|
618
590
|
* @return {Matrix} The resized matrix
|
619
591
|
*/
|
620
|
-
|
621
|
-
|
622
592
|
SparseMatrix.prototype.resize = function (size, defaultValue, copy) {
|
623
593
|
// validate arguments
|
624
594
|
if (!(0, _is.isCollection)(size)) {
|
625
595
|
throw new TypeError('Array or Matrix expected');
|
626
|
-
}
|
627
|
-
|
596
|
+
}
|
628
597
|
|
598
|
+
// SparseMatrix input is always 2d, flatten this into 1d if it's indeed a vector
|
629
599
|
var sizeArray = size.valueOf().map(function (value) {
|
630
600
|
return Array.isArray(value) && value.length === 1 ? value[0] : value;
|
631
601
|
});
|
632
|
-
|
633
602
|
if (sizeArray.length !== 2) {
|
634
603
|
throw new Error('Only two dimensions matrix are supported');
|
635
|
-
}
|
636
|
-
|
604
|
+
}
|
637
605
|
|
606
|
+
// check sizes
|
638
607
|
sizeArray.forEach(function (value) {
|
639
608
|
if (!(0, _is.isNumber)(value) || !(0, _number.isInteger)(value) || value < 0) {
|
640
609
|
throw new TypeError('Invalid size, must contain positive integers ' + '(size: ' + (0, _string.format)(sizeArray) + ')');
|
641
610
|
}
|
642
|
-
});
|
643
|
-
|
644
|
-
var m = copy ? this.clone() : this; // resize matrix
|
611
|
+
});
|
645
612
|
|
613
|
+
// matrix to resize
|
614
|
+
var m = copy ? this.clone() : this;
|
615
|
+
// resize matrix
|
646
616
|
return _resize(m, sizeArray[0], sizeArray[1], defaultValue);
|
647
617
|
};
|
648
|
-
|
649
618
|
function _resize(matrix, rows, columns, defaultValue) {
|
650
619
|
// value to insert at the time of growing matrix
|
651
|
-
var value = defaultValue || 0;
|
652
|
-
|
653
|
-
var eq = equalScalar; // zero value
|
620
|
+
var value = defaultValue || 0;
|
654
621
|
|
622
|
+
// equal signature to use
|
623
|
+
var eq = equalScalar;
|
624
|
+
// zero value
|
655
625
|
var zero = 0;
|
656
|
-
|
657
626
|
if ((0, _is.isString)(matrix._datatype)) {
|
658
627
|
// find signature that matches (datatype, datatype)
|
659
|
-
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
660
|
-
|
661
|
-
zero = typed.convert(0, matrix._datatype);
|
662
|
-
|
628
|
+
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
629
|
+
// convert 0 to the same datatype
|
630
|
+
zero = typed.convert(0, matrix._datatype);
|
631
|
+
// convert value to the same datatype
|
663
632
|
value = typed.convert(value, matrix._datatype);
|
664
|
-
}
|
665
|
-
|
633
|
+
}
|
666
634
|
|
667
|
-
|
635
|
+
// should we insert the value?
|
636
|
+
var ins = !eq(value, zero);
|
668
637
|
|
638
|
+
// old columns and rows
|
669
639
|
var r = matrix._size[0];
|
670
640
|
var c = matrix._size[1];
|
671
|
-
var i, j, k;
|
641
|
+
var i, j, k;
|
672
642
|
|
643
|
+
// check we need to increase columns
|
673
644
|
if (columns > c) {
|
674
645
|
// loop new columns
|
675
646
|
for (j = c; j < columns; j++) {
|
676
647
|
// update matrix._ptr for current column
|
677
|
-
matrix._ptr[j] = matrix._values.length;
|
678
|
-
|
648
|
+
matrix._ptr[j] = matrix._values.length;
|
649
|
+
// check we need to insert matrix._values
|
679
650
|
if (ins) {
|
680
651
|
// loop rows
|
681
652
|
for (i = 0; i < r; i++) {
|
682
653
|
// add new matrix._values
|
683
|
-
matrix._values.push(value);
|
684
|
-
|
685
|
-
|
654
|
+
matrix._values.push(value);
|
655
|
+
// update matrix._index
|
686
656
|
matrix._index.push(i);
|
687
657
|
}
|
688
658
|
}
|
689
|
-
}
|
690
|
-
|
691
|
-
|
659
|
+
}
|
660
|
+
// store number of matrix._values in matrix._ptr
|
692
661
|
matrix._ptr[columns] = matrix._values.length;
|
693
662
|
} else if (columns < c) {
|
694
663
|
// truncate matrix._ptr
|
695
|
-
matrix._ptr.splice(columns + 1, c - columns);
|
696
|
-
|
697
|
-
|
664
|
+
matrix._ptr.splice(columns + 1, c - columns);
|
665
|
+
// truncate matrix._values and matrix._index
|
698
666
|
matrix._values.splice(matrix._ptr[columns], matrix._values.length);
|
699
|
-
|
700
667
|
matrix._index.splice(matrix._ptr[columns], matrix._index.length);
|
701
|
-
}
|
702
|
-
|
703
|
-
|
704
|
-
c = columns; // check we need to increase rows
|
668
|
+
}
|
669
|
+
// update columns
|
670
|
+
c = columns;
|
705
671
|
|
672
|
+
// check we need to increase rows
|
706
673
|
if (rows > r) {
|
707
674
|
// check we have to insert values
|
708
675
|
if (ins) {
|
709
676
|
// inserts
|
710
|
-
var n = 0;
|
711
|
-
|
677
|
+
var n = 0;
|
678
|
+
// loop columns
|
712
679
|
for (j = 0; j < c; j++) {
|
713
680
|
// update matrix._ptr for current column
|
714
|
-
matrix._ptr[j] = matrix._ptr[j] + n;
|
715
|
-
|
716
|
-
k = matrix._ptr[j + 1] + n;
|
717
|
-
|
718
|
-
var p = 0;
|
719
|
-
|
681
|
+
matrix._ptr[j] = matrix._ptr[j] + n;
|
682
|
+
// where to insert matrix._values
|
683
|
+
k = matrix._ptr[j + 1] + n;
|
684
|
+
// pointer
|
685
|
+
var p = 0;
|
686
|
+
// loop new rows, initialize pointer
|
720
687
|
for (i = r; i < rows; i++, p++) {
|
721
688
|
// add value
|
722
|
-
matrix._values.splice(k + p, 0, value);
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
689
|
+
matrix._values.splice(k + p, 0, value);
|
690
|
+
// update matrix._index
|
691
|
+
matrix._index.splice(k + p, 0, i);
|
692
|
+
// increment inserts
|
728
693
|
n++;
|
729
694
|
}
|
730
|
-
}
|
731
|
-
|
732
|
-
|
695
|
+
}
|
696
|
+
// store number of matrix._values in matrix._ptr
|
733
697
|
matrix._ptr[c] = matrix._values.length;
|
734
698
|
}
|
735
699
|
} else if (rows < r) {
|
736
700
|
// deletes
|
737
|
-
var d = 0;
|
738
|
-
|
701
|
+
var d = 0;
|
702
|
+
// loop columns
|
739
703
|
for (j = 0; j < c; j++) {
|
740
704
|
// update matrix._ptr for current column
|
741
|
-
matrix._ptr[j] = matrix._ptr[j] - d;
|
742
|
-
|
705
|
+
matrix._ptr[j] = matrix._ptr[j] - d;
|
706
|
+
// where matrix._values start for next column
|
743
707
|
var k0 = matrix._ptr[j];
|
744
|
-
var k1 = matrix._ptr[j + 1] - d;
|
745
|
-
|
708
|
+
var k1 = matrix._ptr[j + 1] - d;
|
709
|
+
// loop matrix._index
|
746
710
|
for (k = k0; k < k1; k++) {
|
747
711
|
// row
|
748
|
-
i = matrix._index[k];
|
749
|
-
|
712
|
+
i = matrix._index[k];
|
713
|
+
// check we need to delete value and matrix._index
|
750
714
|
if (i > rows - 1) {
|
751
715
|
// remove value
|
752
|
-
matrix._values.splice(k, 1);
|
753
|
-
|
754
|
-
|
755
|
-
|
756
|
-
|
757
|
-
|
716
|
+
matrix._values.splice(k, 1);
|
717
|
+
// remove item from matrix._index
|
718
|
+
matrix._index.splice(k, 1);
|
719
|
+
// increase deletes
|
758
720
|
d++;
|
759
721
|
}
|
760
722
|
}
|
761
|
-
}
|
762
|
-
|
763
|
-
|
723
|
+
}
|
724
|
+
// update matrix._ptr for current column
|
764
725
|
matrix._ptr[j] = matrix._values.length;
|
765
|
-
}
|
766
|
-
|
767
|
-
|
726
|
+
}
|
727
|
+
// update matrix._size
|
768
728
|
matrix._size[0] = rows;
|
769
|
-
matrix._size[1] = columns;
|
770
|
-
|
729
|
+
matrix._size[1] = columns;
|
730
|
+
// return matrix
|
771
731
|
return matrix;
|
772
732
|
}
|
733
|
+
|
773
734
|
/**
|
774
735
|
* Reshape the matrix to the given size. Returns a copy of the matrix when
|
775
736
|
* `copy=true`, otherwise return the matrix itself (reshape in place).
|
@@ -779,101 +740,103 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
779
740
|
* resize().
|
780
741
|
*
|
781
742
|
* @memberof SparseMatrix
|
782
|
-
* @param {number[]}
|
743
|
+
* @param {number[]} sizes The new size the matrix should have.
|
744
|
+
* Since sparse matrices are always two-dimensional,
|
745
|
+
* size must be two numbers in either an array or a matrix
|
783
746
|
* @param {boolean} [copy] Return a reshaped copy of the matrix
|
784
747
|
*
|
785
748
|
* @return {Matrix} The reshaped matrix
|
786
749
|
*/
|
787
|
-
|
788
|
-
|
789
|
-
SparseMatrix.prototype.reshape = function (size, copy) {
|
750
|
+
SparseMatrix.prototype.reshape = function (sizes, copy) {
|
790
751
|
// validate arguments
|
791
|
-
if (!(0, _is.isArray)(
|
752
|
+
if (!(0, _is.isArray)(sizes)) {
|
792
753
|
throw new TypeError('Array expected');
|
793
754
|
}
|
794
|
-
|
795
|
-
if (size.length !== 2) {
|
755
|
+
if (sizes.length !== 2) {
|
796
756
|
throw new Error('Sparse matrices can only be reshaped in two dimensions');
|
797
|
-
}
|
798
|
-
|
757
|
+
}
|
799
758
|
|
800
|
-
|
801
|
-
|
802
|
-
|
759
|
+
// check sizes
|
760
|
+
sizes.forEach(function (value) {
|
761
|
+
if (!(0, _is.isNumber)(value) || !(0, _number.isInteger)(value) || value <= -2 || value === 0) {
|
762
|
+
throw new TypeError('Invalid size, must contain positive integers or -1 ' + '(size: ' + (0, _string.format)(sizes) + ')');
|
803
763
|
}
|
804
|
-
});
|
764
|
+
});
|
765
|
+
var currentLength = this._size[0] * this._size[1];
|
766
|
+
sizes = (0, _array.processSizesWildcard)(sizes, currentLength);
|
767
|
+
var newLength = sizes[0] * sizes[1];
|
805
768
|
|
806
|
-
|
769
|
+
// m * n must not change
|
770
|
+
if (currentLength !== newLength) {
|
807
771
|
throw new Error('Reshaping sparse matrix will result in the wrong number of elements');
|
808
|
-
}
|
809
|
-
|
772
|
+
}
|
810
773
|
|
811
|
-
|
774
|
+
// matrix to reshape
|
775
|
+
var m = copy ? this.clone() : this;
|
812
776
|
|
813
|
-
|
777
|
+
// return unchanged if the same shape
|
778
|
+
if (this._size[0] === sizes[0] && this._size[1] === sizes[1]) {
|
814
779
|
return m;
|
815
|
-
}
|
816
|
-
|
780
|
+
}
|
817
781
|
|
782
|
+
// Convert to COO format (generate a column index)
|
818
783
|
var colIndex = [];
|
819
|
-
|
820
784
|
for (var i = 0; i < m._ptr.length; i++) {
|
821
785
|
for (var j = 0; j < m._ptr[i + 1] - m._ptr[i]; j++) {
|
822
786
|
colIndex.push(i);
|
823
787
|
}
|
824
|
-
}
|
825
|
-
|
826
|
-
|
827
|
-
var values = m._values.slice(); // Clone the row index array
|
828
|
-
|
788
|
+
}
|
829
789
|
|
830
|
-
|
790
|
+
// Clone the values array
|
791
|
+
var values = m._values.slice();
|
831
792
|
|
793
|
+
// Clone the row index array
|
794
|
+
var rowIndex = m._index.slice();
|
832
795
|
|
796
|
+
// Transform the (row, column) indices
|
833
797
|
for (var _i = 0; _i < m._index.length; _i++) {
|
834
798
|
var r1 = rowIndex[_i];
|
835
799
|
var c1 = colIndex[_i];
|
836
800
|
var flat = r1 * m._size[1] + c1;
|
837
|
-
colIndex[_i] = flat %
|
838
|
-
rowIndex[_i] = Math.floor(flat /
|
839
|
-
}
|
801
|
+
colIndex[_i] = flat % sizes[1];
|
802
|
+
rowIndex[_i] = Math.floor(flat / sizes[1]);
|
803
|
+
}
|
804
|
+
|
805
|
+
// Now reshaping is supposed to preserve the row-major order, BUT these sparse matrices are stored
|
840
806
|
// in column-major order, so we have to reorder the value array now. One option is to use a multisort,
|
841
807
|
// sorting several arrays based on some other array.
|
842
|
-
// OR, we could easily just:
|
843
|
-
// 1. Remove all values from the matrix
|
844
808
|
|
809
|
+
// OR, we could easily just:
|
845
810
|
|
811
|
+
// 1. Remove all values from the matrix
|
846
812
|
m._values.length = 0;
|
847
813
|
m._index.length = 0;
|
848
|
-
m._ptr.length =
|
849
|
-
m._size =
|
850
|
-
|
814
|
+
m._ptr.length = sizes[1] + 1;
|
815
|
+
m._size = sizes.slice();
|
851
816
|
for (var _i2 = 0; _i2 < m._ptr.length; _i2++) {
|
852
817
|
m._ptr[_i2] = 0;
|
853
|
-
}
|
854
|
-
// This step is probably the most time-consuming
|
855
|
-
|
818
|
+
}
|
856
819
|
|
820
|
+
// 2. Re-insert all elements in the proper order (simplified code from SparseMatrix.prototype.set)
|
821
|
+
// This step is probably the most time-consuming
|
857
822
|
for (var h = 0; h < values.length; h++) {
|
858
823
|
var _i3 = rowIndex[h];
|
859
824
|
var _j = colIndex[h];
|
860
825
|
var v = values[h];
|
861
|
-
|
862
826
|
var k = _getValueIndex(_i3, m._ptr[_j], m._ptr[_j + 1], m._index);
|
863
|
-
|
864
827
|
_insert(k, _i3, _j, v, m._values, m._index, m._ptr);
|
865
|
-
}
|
828
|
+
}
|
866
829
|
|
830
|
+
// The value indices are inserted out of order, but apparently that's... still OK?
|
867
831
|
|
868
832
|
return m;
|
869
833
|
};
|
834
|
+
|
870
835
|
/**
|
871
836
|
* Create a clone of the matrix
|
872
837
|
* @memberof SparseMatrix
|
873
838
|
* @return {SparseMatrix} clone
|
874
839
|
*/
|
875
|
-
|
876
|
-
|
877
840
|
SparseMatrix.prototype.clone = function () {
|
878
841
|
var m = new SparseMatrix({
|
879
842
|
values: this._values ? (0, _object.clone)(this._values) : undefined,
|
@@ -884,16 +847,16 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
884
847
|
});
|
885
848
|
return m;
|
886
849
|
};
|
850
|
+
|
887
851
|
/**
|
888
852
|
* Retrieve the size of the matrix.
|
889
853
|
* @memberof SparseMatrix
|
890
854
|
* @returns {number[]} size
|
891
855
|
*/
|
892
|
-
|
893
|
-
|
894
856
|
SparseMatrix.prototype.size = function () {
|
895
857
|
return this._size.slice(0); // copy the Array
|
896
858
|
};
|
859
|
+
|
897
860
|
/**
|
898
861
|
* Create a new matrix with the results of the callback function executed on
|
899
862
|
* each entry of the matrix.
|
@@ -905,78 +868,74 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
905
868
|
*
|
906
869
|
* @return {SparseMatrix} matrix
|
907
870
|
*/
|
908
|
-
|
909
|
-
|
910
871
|
SparseMatrix.prototype.map = function (callback, skipZeros) {
|
911
872
|
// check it is a pattern matrix
|
912
873
|
if (!this._values) {
|
913
874
|
throw new Error('Cannot invoke map on a Pattern only matrix');
|
914
|
-
}
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
875
|
+
}
|
876
|
+
// matrix instance
|
877
|
+
var me = this;
|
878
|
+
// rows and columns
|
919
879
|
var rows = this._size[0];
|
920
|
-
var columns = this._size[1];
|
921
|
-
|
880
|
+
var columns = this._size[1];
|
881
|
+
// invoke callback
|
882
|
+
var args = (0, _function.maxArgumentCount)(callback);
|
922
883
|
var invoke = function invoke(v, i, j) {
|
923
884
|
// invoke callback
|
885
|
+
if (args === 1) return callback(v);
|
886
|
+
if (args === 2) return callback(v, [i, j]);
|
924
887
|
return callback(v, [i, j], me);
|
925
|
-
};
|
926
|
-
|
927
|
-
|
888
|
+
};
|
889
|
+
// invoke _map
|
928
890
|
return _map(this, 0, rows - 1, 0, columns - 1, invoke, skipZeros);
|
929
891
|
};
|
892
|
+
|
930
893
|
/**
|
931
894
|
* Create a new matrix with the results of the callback function executed on the interval
|
932
895
|
* [minRow..maxRow, minColumn..maxColumn].
|
933
896
|
*/
|
934
|
-
|
935
|
-
|
936
897
|
function _map(matrix, minRow, maxRow, minColumn, maxColumn, callback, skipZeros) {
|
937
898
|
// result arrays
|
938
899
|
var values = [];
|
939
900
|
var index = [];
|
940
|
-
var ptr = [];
|
941
|
-
|
942
|
-
var eq = equalScalar; // zero value
|
901
|
+
var ptr = [];
|
943
902
|
|
903
|
+
// equal signature to use
|
904
|
+
var eq = equalScalar;
|
905
|
+
// zero value
|
944
906
|
var zero = 0;
|
945
|
-
|
946
907
|
if ((0, _is.isString)(matrix._datatype)) {
|
947
908
|
// find signature that matches (datatype, datatype)
|
948
|
-
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
949
|
-
|
909
|
+
eq = typed.find(equalScalar, [matrix._datatype, matrix._datatype]) || equalScalar;
|
910
|
+
// convert 0 to the same datatype
|
950
911
|
zero = typed.convert(0, matrix._datatype);
|
951
|
-
}
|
952
|
-
|
912
|
+
}
|
953
913
|
|
914
|
+
// invoke callback
|
954
915
|
var invoke = function invoke(v, x, y) {
|
955
916
|
// invoke callback
|
956
|
-
v = callback(v, x, y);
|
957
|
-
|
917
|
+
v = callback(v, x, y);
|
918
|
+
// check value != 0
|
958
919
|
if (!eq(v, zero)) {
|
959
920
|
// store value
|
960
|
-
values.push(v);
|
961
|
-
|
921
|
+
values.push(v);
|
922
|
+
// index
|
962
923
|
index.push(x);
|
963
924
|
}
|
964
|
-
};
|
965
|
-
|
966
|
-
|
925
|
+
};
|
926
|
+
// loop columns
|
967
927
|
for (var j = minColumn; j <= maxColumn; j++) {
|
968
928
|
// store pointer to values index
|
969
|
-
ptr.push(values.length);
|
970
|
-
|
929
|
+
ptr.push(values.length);
|
930
|
+
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
971
931
|
var k0 = matrix._ptr[j];
|
972
932
|
var k1 = matrix._ptr[j + 1];
|
973
|
-
|
974
933
|
if (skipZeros) {
|
975
934
|
// loop k within [k0, k1[
|
976
935
|
for (var k = k0; k < k1; k++) {
|
977
936
|
// row index
|
978
|
-
var i = matrix._index[k];
|
979
|
-
|
937
|
+
var i = matrix._index[k];
|
938
|
+
// check i is in range
|
980
939
|
if (i >= minRow && i <= maxRow) {
|
981
940
|
// value @ k
|
982
941
|
invoke(matrix._values[k], i - minRow, j - minColumn);
|
@@ -985,24 +944,23 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
985
944
|
} else {
|
986
945
|
// create a cache holding all defined values
|
987
946
|
var _values = {};
|
988
|
-
|
989
947
|
for (var _k = k0; _k < k1; _k++) {
|
990
948
|
var _i4 = matrix._index[_k];
|
991
949
|
_values[_i4] = matrix._values[_k];
|
992
|
-
}
|
993
|
-
// and either read the value or zero
|
994
|
-
|
950
|
+
}
|
995
951
|
|
952
|
+
// loop over all rows (indexes can be unordered so we can't use that),
|
953
|
+
// and either read the value or zero
|
996
954
|
for (var _i5 = minRow; _i5 <= maxRow; _i5++) {
|
997
955
|
var value = _i5 in _values ? _values[_i5] : 0;
|
998
956
|
invoke(value, _i5 - minRow, j - minColumn);
|
999
957
|
}
|
1000
958
|
}
|
1001
|
-
}
|
1002
|
-
|
1003
|
-
|
1004
|
-
ptr.push(values.length); // return sparse matrix
|
959
|
+
}
|
1005
960
|
|
961
|
+
// store number of values in ptr
|
962
|
+
ptr.push(values.length);
|
963
|
+
// return sparse matrix
|
1006
964
|
return new SparseMatrix({
|
1007
965
|
values: values,
|
1008
966
|
index: index,
|
@@ -1010,6 +968,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1010
968
|
size: [maxRow - minRow + 1, maxColumn - minColumn + 1]
|
1011
969
|
});
|
1012
970
|
}
|
971
|
+
|
1013
972
|
/**
|
1014
973
|
* Execute a callback function on each entry of the matrix.
|
1015
974
|
* @memberof SparseMatrix
|
@@ -1017,45 +976,43 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1017
976
|
* parameters: the value of the element, the index
|
1018
977
|
* of the element, and the Matrix being traversed.
|
1019
978
|
* @param {boolean} [skipZeros] Invoke callback function for non-zero values only.
|
979
|
+
* If false, the indices are guaranteed to be in order,
|
980
|
+
* if true, the indices can be unordered.
|
1020
981
|
*/
|
1021
|
-
|
1022
|
-
|
1023
982
|
SparseMatrix.prototype.forEach = function (callback, skipZeros) {
|
1024
983
|
// check it is a pattern matrix
|
1025
984
|
if (!this._values) {
|
1026
985
|
throw new Error('Cannot invoke forEach on a Pattern only matrix');
|
1027
|
-
}
|
1028
|
-
|
1029
|
-
|
1030
|
-
|
1031
|
-
|
986
|
+
}
|
987
|
+
// matrix instance
|
988
|
+
var me = this;
|
989
|
+
// rows and columns
|
1032
990
|
var rows = this._size[0];
|
1033
|
-
var columns = this._size[1];
|
1034
|
-
|
991
|
+
var columns = this._size[1];
|
992
|
+
// loop columns
|
1035
993
|
for (var j = 0; j < columns; j++) {
|
1036
994
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
1037
995
|
var k0 = this._ptr[j];
|
1038
996
|
var k1 = this._ptr[j + 1];
|
1039
|
-
|
1040
997
|
if (skipZeros) {
|
1041
998
|
// loop k within [k0, k1[
|
1042
999
|
for (var k = k0; k < k1; k++) {
|
1043
1000
|
// row index
|
1044
|
-
var i = this._index[k];
|
1001
|
+
var i = this._index[k];
|
1045
1002
|
|
1003
|
+
// value @ k
|
1046
1004
|
callback(this._values[k], [i, j], me);
|
1047
1005
|
}
|
1048
1006
|
} else {
|
1049
1007
|
// create a cache holding all defined values
|
1050
1008
|
var values = {};
|
1051
|
-
|
1052
1009
|
for (var _k2 = k0; _k2 < k1; _k2++) {
|
1053
1010
|
var _i6 = this._index[_k2];
|
1054
1011
|
values[_i6] = this._values[_k2];
|
1055
|
-
}
|
1056
|
-
// and either read the value or zero
|
1057
|
-
|
1012
|
+
}
|
1058
1013
|
|
1014
|
+
// loop over all rows (indexes can be unordered so we can't use that),
|
1015
|
+
// and either read the value or zero
|
1059
1016
|
for (var _i7 = 0; _i7 < rows; _i7++) {
|
1060
1017
|
var value = _i7 in values ? values[_i7] : 0;
|
1061
1018
|
callback(value, [_i7, j], me);
|
@@ -1063,60 +1020,108 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1063
1020
|
}
|
1064
1021
|
}
|
1065
1022
|
};
|
1023
|
+
|
1024
|
+
/**
|
1025
|
+
* Iterate over the matrix elements, skipping zeros
|
1026
|
+
* @return {Iterable<{ value, index: number[] }>}
|
1027
|
+
*/
|
1028
|
+
SparseMatrix.prototype[Symbol.iterator] = /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
1029
|
+
var columns, j, k0, k1, k, i;
|
1030
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
1031
|
+
while (1) switch (_context.prev = _context.next) {
|
1032
|
+
case 0:
|
1033
|
+
if (this._values) {
|
1034
|
+
_context.next = 2;
|
1035
|
+
break;
|
1036
|
+
}
|
1037
|
+
throw new Error('Cannot iterate a Pattern only matrix');
|
1038
|
+
case 2:
|
1039
|
+
columns = this._size[1];
|
1040
|
+
j = 0;
|
1041
|
+
case 4:
|
1042
|
+
if (!(j < columns)) {
|
1043
|
+
_context.next = 18;
|
1044
|
+
break;
|
1045
|
+
}
|
1046
|
+
k0 = this._ptr[j];
|
1047
|
+
k1 = this._ptr[j + 1];
|
1048
|
+
k = k0;
|
1049
|
+
case 8:
|
1050
|
+
if (!(k < k1)) {
|
1051
|
+
_context.next = 15;
|
1052
|
+
break;
|
1053
|
+
}
|
1054
|
+
// row index
|
1055
|
+
i = this._index[k];
|
1056
|
+
_context.next = 12;
|
1057
|
+
return {
|
1058
|
+
value: this._values[k],
|
1059
|
+
index: [i, j]
|
1060
|
+
};
|
1061
|
+
case 12:
|
1062
|
+
k++;
|
1063
|
+
_context.next = 8;
|
1064
|
+
break;
|
1065
|
+
case 15:
|
1066
|
+
j++;
|
1067
|
+
_context.next = 4;
|
1068
|
+
break;
|
1069
|
+
case 18:
|
1070
|
+
case "end":
|
1071
|
+
return _context.stop();
|
1072
|
+
}
|
1073
|
+
}, _callee, this);
|
1074
|
+
});
|
1075
|
+
|
1066
1076
|
/**
|
1067
1077
|
* Create an Array with a copy of the data of the SparseMatrix
|
1068
1078
|
* @memberof SparseMatrix
|
1069
1079
|
* @returns {Array} array
|
1070
1080
|
*/
|
1071
|
-
|
1072
|
-
|
1073
1081
|
SparseMatrix.prototype.toArray = function () {
|
1074
1082
|
return _toArray(this._values, this._index, this._ptr, this._size, true);
|
1075
1083
|
};
|
1084
|
+
|
1076
1085
|
/**
|
1077
1086
|
* Get the primitive value of the SparseMatrix: a two dimensions array
|
1078
1087
|
* @memberof SparseMatrix
|
1079
1088
|
* @returns {Array} array
|
1080
1089
|
*/
|
1081
|
-
|
1082
|
-
|
1083
1090
|
SparseMatrix.prototype.valueOf = function () {
|
1084
1091
|
return _toArray(this._values, this._index, this._ptr, this._size, false);
|
1085
1092
|
};
|
1086
|
-
|
1087
1093
|
function _toArray(values, index, ptr, size, copy) {
|
1088
1094
|
// rows and columns
|
1089
1095
|
var rows = size[0];
|
1090
|
-
var columns = size[1];
|
1091
|
-
|
1092
|
-
var a = [];
|
1093
|
-
|
1094
|
-
var i, j;
|
1095
|
-
|
1096
|
+
var columns = size[1];
|
1097
|
+
// result
|
1098
|
+
var a = [];
|
1099
|
+
// vars
|
1100
|
+
var i, j;
|
1101
|
+
// initialize array
|
1096
1102
|
for (i = 0; i < rows; i++) {
|
1097
1103
|
a[i] = [];
|
1098
|
-
|
1099
1104
|
for (j = 0; j < columns; j++) {
|
1100
1105
|
a[i][j] = 0;
|
1101
1106
|
}
|
1102
|
-
}
|
1103
|
-
|
1107
|
+
}
|
1104
1108
|
|
1109
|
+
// loop columns
|
1105
1110
|
for (j = 0; j < columns; j++) {
|
1106
1111
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
1107
1112
|
var k0 = ptr[j];
|
1108
|
-
var k1 = ptr[j + 1];
|
1109
|
-
|
1113
|
+
var k1 = ptr[j + 1];
|
1114
|
+
// loop k within [k0, k1[
|
1110
1115
|
for (var k = k0; k < k1; k++) {
|
1111
1116
|
// row index
|
1112
|
-
i = index[k];
|
1113
|
-
|
1117
|
+
i = index[k];
|
1118
|
+
// set value (use one for pattern matrix)
|
1114
1119
|
a[i][j] = values ? copy ? (0, _object.clone)(values[k]) : values[k] : 1;
|
1115
1120
|
}
|
1116
1121
|
}
|
1117
|
-
|
1118
1122
|
return a;
|
1119
1123
|
}
|
1124
|
+
|
1120
1125
|
/**
|
1121
1126
|
* Get a string representation of the matrix, with optional formatting options.
|
1122
1127
|
* @memberof SparseMatrix
|
@@ -1126,49 +1131,44 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1126
1131
|
* options.
|
1127
1132
|
* @returns {string} str
|
1128
1133
|
*/
|
1129
|
-
|
1130
|
-
|
1131
1134
|
SparseMatrix.prototype.format = function (options) {
|
1132
1135
|
// rows and columns
|
1133
1136
|
var rows = this._size[0];
|
1134
|
-
var columns = this._size[1];
|
1135
|
-
|
1136
|
-
var density = this.density();
|
1137
|
-
|
1138
|
-
var str = 'Sparse Matrix [' + (0, _string.format)(rows, options) + ' x ' + (0, _string.format)(columns, options) + '] density: ' + (0, _string.format)(density, options) + '\n';
|
1139
|
-
|
1137
|
+
var columns = this._size[1];
|
1138
|
+
// density
|
1139
|
+
var density = this.density();
|
1140
|
+
// rows & columns
|
1141
|
+
var str = 'Sparse Matrix [' + (0, _string.format)(rows, options) + ' x ' + (0, _string.format)(columns, options) + '] density: ' + (0, _string.format)(density, options) + '\n';
|
1142
|
+
// loop columns
|
1140
1143
|
for (var j = 0; j < columns; j++) {
|
1141
1144
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
1142
1145
|
var k0 = this._ptr[j];
|
1143
|
-
var k1 = this._ptr[j + 1];
|
1144
|
-
|
1146
|
+
var k1 = this._ptr[j + 1];
|
1147
|
+
// loop k within [k0, k1[
|
1145
1148
|
for (var k = k0; k < k1; k++) {
|
1146
1149
|
// row index
|
1147
|
-
var i = this._index[k];
|
1148
|
-
|
1150
|
+
var i = this._index[k];
|
1151
|
+
// append value
|
1149
1152
|
str += '\n (' + (0, _string.format)(i, options) + ', ' + (0, _string.format)(j, options) + ') ==> ' + (this._values ? (0, _string.format)(this._values[k], options) : 'X');
|
1150
1153
|
}
|
1151
1154
|
}
|
1152
|
-
|
1153
1155
|
return str;
|
1154
1156
|
};
|
1157
|
+
|
1155
1158
|
/**
|
1156
1159
|
* Get a string representation of the matrix
|
1157
1160
|
* @memberof SparseMatrix
|
1158
1161
|
* @returns {string} str
|
1159
1162
|
*/
|
1160
|
-
|
1161
|
-
|
1162
1163
|
SparseMatrix.prototype.toString = function () {
|
1163
1164
|
return (0, _string.format)(this.toArray());
|
1164
1165
|
};
|
1166
|
+
|
1165
1167
|
/**
|
1166
1168
|
* Get a JSON representation of the matrix
|
1167
1169
|
* @memberof SparseMatrix
|
1168
1170
|
* @returns {Object}
|
1169
1171
|
*/
|
1170
|
-
|
1171
|
-
|
1172
1172
|
SparseMatrix.prototype.toJSON = function () {
|
1173
1173
|
return {
|
1174
1174
|
mathjs: 'SparseMatrix',
|
@@ -1179,6 +1179,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1179
1179
|
datatype: this._datatype
|
1180
1180
|
};
|
1181
1181
|
};
|
1182
|
+
|
1182
1183
|
/**
|
1183
1184
|
* Get the kth Matrix diagonal.
|
1184
1185
|
*
|
@@ -1187,17 +1188,14 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1187
1188
|
*
|
1188
1189
|
* @returns {Matrix} The matrix vector with the diagonal values.
|
1189
1190
|
*/
|
1190
|
-
|
1191
|
-
|
1192
1191
|
SparseMatrix.prototype.diagonal = function (k) {
|
1193
1192
|
// validate k if any
|
1194
1193
|
if (k) {
|
1195
1194
|
// convert BigNumber to a number
|
1196
1195
|
if ((0, _is.isBigNumber)(k)) {
|
1197
1196
|
k = k.toNumber();
|
1198
|
-
}
|
1199
|
-
|
1200
|
-
|
1197
|
+
}
|
1198
|
+
// is must be an integer
|
1201
1199
|
if (!(0, _is.isNumber)(k) || !(0, _number.isInteger)(k)) {
|
1202
1200
|
throw new TypeError('The parameter k must be an integer number');
|
1203
1201
|
}
|
@@ -1205,44 +1203,45 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1205
1203
|
// default value
|
1206
1204
|
k = 0;
|
1207
1205
|
}
|
1208
|
-
|
1209
1206
|
var kSuper = k > 0 ? k : 0;
|
1210
|
-
var kSub = k < 0 ? -k : 0;
|
1207
|
+
var kSub = k < 0 ? -k : 0;
|
1211
1208
|
|
1209
|
+
// rows & columns
|
1212
1210
|
var rows = this._size[0];
|
1213
|
-
var columns = this._size[1];
|
1211
|
+
var columns = this._size[1];
|
1214
1212
|
|
1215
|
-
|
1213
|
+
// number diagonal values
|
1214
|
+
var n = Math.min(rows - kSub, columns - kSuper);
|
1216
1215
|
|
1216
|
+
// diagonal arrays
|
1217
1217
|
var values = [];
|
1218
1218
|
var index = [];
|
1219
|
-
var ptr = [];
|
1220
|
-
|
1221
|
-
ptr[0] = 0;
|
1222
|
-
|
1219
|
+
var ptr = [];
|
1220
|
+
// initial ptr value
|
1221
|
+
ptr[0] = 0;
|
1222
|
+
// loop columns
|
1223
1223
|
for (var j = kSuper; j < columns && values.length < n; j++) {
|
1224
1224
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
1225
1225
|
var k0 = this._ptr[j];
|
1226
|
-
var k1 = this._ptr[j + 1];
|
1227
|
-
|
1226
|
+
var k1 = this._ptr[j + 1];
|
1227
|
+
// loop x within [k0, k1[
|
1228
1228
|
for (var x = k0; x < k1; x++) {
|
1229
1229
|
// row index
|
1230
|
-
var i = this._index[x];
|
1231
|
-
|
1230
|
+
var i = this._index[x];
|
1231
|
+
// check row
|
1232
1232
|
if (i === j - kSuper + kSub) {
|
1233
1233
|
// value on this column
|
1234
|
-
values.push(this._values[x]);
|
1235
|
-
|
1236
|
-
index[values.length - 1] = i - kSub;
|
1237
|
-
|
1234
|
+
values.push(this._values[x]);
|
1235
|
+
// store row
|
1236
|
+
index[values.length - 1] = i - kSub;
|
1237
|
+
// exit loop
|
1238
1238
|
break;
|
1239
1239
|
}
|
1240
1240
|
}
|
1241
|
-
}
|
1242
|
-
|
1243
|
-
|
1244
|
-
|
1245
|
-
|
1241
|
+
}
|
1242
|
+
// close ptr
|
1243
|
+
ptr.push(values.length);
|
1244
|
+
// return matrix
|
1246
1245
|
return new SparseMatrix({
|
1247
1246
|
values: values,
|
1248
1247
|
index: index,
|
@@ -1250,6 +1249,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1250
1249
|
size: [n, 1]
|
1251
1250
|
});
|
1252
1251
|
};
|
1252
|
+
|
1253
1253
|
/**
|
1254
1254
|
* Generate a matrix from a JSON object
|
1255
1255
|
* @memberof SparseMatrix
|
@@ -1258,11 +1258,10 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1258
1258
|
* where mathjs is optional
|
1259
1259
|
* @returns {SparseMatrix}
|
1260
1260
|
*/
|
1261
|
-
|
1262
|
-
|
1263
1261
|
SparseMatrix.fromJSON = function (json) {
|
1264
1262
|
return new SparseMatrix(json);
|
1265
1263
|
};
|
1264
|
+
|
1266
1265
|
/**
|
1267
1266
|
* Create a diagonal matrix.
|
1268
1267
|
*
|
@@ -1275,93 +1274,87 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1275
1274
|
*
|
1276
1275
|
* @returns {SparseMatrix}
|
1277
1276
|
*/
|
1278
|
-
|
1279
|
-
|
1280
1277
|
SparseMatrix.diagonal = function (size, value, k, defaultValue, datatype) {
|
1281
1278
|
if (!(0, _is.isArray)(size)) {
|
1282
1279
|
throw new TypeError('Array expected, size parameter');
|
1283
1280
|
}
|
1284
|
-
|
1285
1281
|
if (size.length !== 2) {
|
1286
1282
|
throw new Error('Only two dimensions matrix are supported');
|
1287
|
-
}
|
1288
|
-
|
1283
|
+
}
|
1289
1284
|
|
1285
|
+
// map size & validate
|
1290
1286
|
size = size.map(function (s) {
|
1291
1287
|
// check it is a big number
|
1292
1288
|
if ((0, _is.isBigNumber)(s)) {
|
1293
1289
|
// convert it
|
1294
1290
|
s = s.toNumber();
|
1295
|
-
}
|
1296
|
-
|
1297
|
-
|
1291
|
+
}
|
1292
|
+
// validate arguments
|
1298
1293
|
if (!(0, _is.isNumber)(s) || !(0, _number.isInteger)(s) || s < 1) {
|
1299
1294
|
throw new Error('Size values must be positive integers');
|
1300
1295
|
}
|
1301
|
-
|
1302
1296
|
return s;
|
1303
|
-
});
|
1297
|
+
});
|
1304
1298
|
|
1299
|
+
// validate k if any
|
1305
1300
|
if (k) {
|
1306
1301
|
// convert BigNumber to a number
|
1307
1302
|
if ((0, _is.isBigNumber)(k)) {
|
1308
1303
|
k = k.toNumber();
|
1309
|
-
}
|
1310
|
-
|
1311
|
-
|
1304
|
+
}
|
1305
|
+
// is must be an integer
|
1312
1306
|
if (!(0, _is.isNumber)(k) || !(0, _number.isInteger)(k)) {
|
1313
1307
|
throw new TypeError('The parameter k must be an integer number');
|
1314
1308
|
}
|
1315
1309
|
} else {
|
1316
1310
|
// default value
|
1317
1311
|
k = 0;
|
1318
|
-
}
|
1319
|
-
|
1320
|
-
|
1321
|
-
var eq = equalScalar; // zero value
|
1312
|
+
}
|
1322
1313
|
|
1314
|
+
// equal signature to use
|
1315
|
+
var eq = equalScalar;
|
1316
|
+
// zero value
|
1323
1317
|
var zero = 0;
|
1324
|
-
|
1325
1318
|
if ((0, _is.isString)(datatype)) {
|
1326
1319
|
// find signature that matches (datatype, datatype)
|
1327
|
-
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
1328
|
-
|
1320
|
+
eq = typed.find(equalScalar, [datatype, datatype]) || equalScalar;
|
1321
|
+
// convert 0 to the same datatype
|
1329
1322
|
zero = typed.convert(0, datatype);
|
1330
1323
|
}
|
1331
|
-
|
1332
1324
|
var kSuper = k > 0 ? k : 0;
|
1333
|
-
var kSub = k < 0 ? -k : 0;
|
1325
|
+
var kSub = k < 0 ? -k : 0;
|
1334
1326
|
|
1327
|
+
// rows and columns
|
1335
1328
|
var rows = size[0];
|
1336
|
-
var columns = size[1];
|
1329
|
+
var columns = size[1];
|
1337
1330
|
|
1338
|
-
|
1339
|
-
|
1340
|
-
var _value; // check value
|
1331
|
+
// number of non-zero items
|
1332
|
+
var n = Math.min(rows - kSub, columns - kSuper);
|
1341
1333
|
|
1334
|
+
// value extraction function
|
1335
|
+
var _value;
|
1342
1336
|
|
1337
|
+
// check value
|
1343
1338
|
if ((0, _is.isArray)(value)) {
|
1344
1339
|
// validate array
|
1345
1340
|
if (value.length !== n) {
|
1346
1341
|
// number of values in array must be n
|
1347
1342
|
throw new Error('Invalid value array length');
|
1348
|
-
}
|
1349
|
-
|
1350
|
-
|
1343
|
+
}
|
1344
|
+
// define function
|
1351
1345
|
_value = function _value(i) {
|
1352
1346
|
// return value @ i
|
1353
1347
|
return value[i];
|
1354
1348
|
};
|
1355
1349
|
} else if ((0, _is.isMatrix)(value)) {
|
1356
1350
|
// matrix size
|
1357
|
-
var ms = value.size();
|
1358
|
-
|
1351
|
+
var ms = value.size();
|
1352
|
+
// validate matrix
|
1359
1353
|
if (ms.length !== 1 || ms[0] !== n) {
|
1360
1354
|
// number of values in array must be n
|
1361
1355
|
throw new Error('Invalid matrix length');
|
1362
|
-
}
|
1363
|
-
|
1364
|
-
|
1356
|
+
}
|
1357
|
+
// define function
|
1365
1358
|
_value = function _value(i) {
|
1366
1359
|
// return value @ i
|
1367
1360
|
return value.get([i]);
|
@@ -1372,36 +1365,35 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1372
1365
|
// return value
|
1373
1366
|
return value;
|
1374
1367
|
};
|
1375
|
-
}
|
1376
|
-
|
1368
|
+
}
|
1377
1369
|
|
1370
|
+
// create arrays
|
1378
1371
|
var values = [];
|
1379
1372
|
var index = [];
|
1380
|
-
var ptr = [];
|
1373
|
+
var ptr = [];
|
1381
1374
|
|
1375
|
+
// loop items
|
1382
1376
|
for (var j = 0; j < columns; j++) {
|
1383
1377
|
// number of rows with value
|
1384
|
-
ptr.push(values.length);
|
1385
|
-
|
1386
|
-
var i = j - kSuper;
|
1387
|
-
|
1378
|
+
ptr.push(values.length);
|
1379
|
+
// diagonal index
|
1380
|
+
var i = j - kSuper;
|
1381
|
+
// check we need to set diagonal value
|
1388
1382
|
if (i >= 0 && i < n) {
|
1389
1383
|
// get value @ i
|
1390
|
-
var v = _value(i);
|
1391
|
-
|
1392
|
-
|
1384
|
+
var v = _value(i);
|
1385
|
+
// check for zero
|
1393
1386
|
if (!eq(v, zero)) {
|
1394
1387
|
// column
|
1395
|
-
index.push(i + kSub);
|
1396
|
-
|
1388
|
+
index.push(i + kSub);
|
1389
|
+
// add value
|
1397
1390
|
values.push(v);
|
1398
1391
|
}
|
1399
1392
|
}
|
1400
|
-
}
|
1401
|
-
|
1402
|
-
|
1403
|
-
|
1404
|
-
|
1393
|
+
}
|
1394
|
+
// last value should be number of values
|
1395
|
+
ptr.push(values.length);
|
1396
|
+
// create SparseMatrix
|
1405
1397
|
return new SparseMatrix({
|
1406
1398
|
values: values,
|
1407
1399
|
index: index,
|
@@ -1409,6 +1401,7 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1409
1401
|
size: [rows, columns]
|
1410
1402
|
});
|
1411
1403
|
};
|
1404
|
+
|
1412
1405
|
/**
|
1413
1406
|
* Swap rows i and j in Matrix.
|
1414
1407
|
*
|
@@ -1418,28 +1411,25 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1418
1411
|
*
|
1419
1412
|
* @return {Matrix} The matrix reference
|
1420
1413
|
*/
|
1421
|
-
|
1422
|
-
|
1423
1414
|
SparseMatrix.prototype.swapRows = function (i, j) {
|
1424
1415
|
// check index
|
1425
1416
|
if (!(0, _is.isNumber)(i) || !(0, _number.isInteger)(i) || !(0, _is.isNumber)(j) || !(0, _number.isInteger)(j)) {
|
1426
1417
|
throw new Error('Row index must be positive integers');
|
1427
|
-
}
|
1428
|
-
|
1429
|
-
|
1418
|
+
}
|
1419
|
+
// check dimensions
|
1430
1420
|
if (this._size.length !== 2) {
|
1431
1421
|
throw new Error('Only two dimensional matrix is supported');
|
1432
|
-
}
|
1433
|
-
|
1434
|
-
|
1422
|
+
}
|
1423
|
+
// validate index
|
1435
1424
|
(0, _array.validateIndex)(i, this._size[0]);
|
1436
|
-
(0, _array.validateIndex)(j, this._size[0]);
|
1437
|
-
|
1438
|
-
SparseMatrix._swapRows(i, j, this._size[1], this._values, this._index, this._ptr); // return current instance
|
1439
|
-
|
1425
|
+
(0, _array.validateIndex)(j, this._size[0]);
|
1440
1426
|
|
1427
|
+
// swap rows
|
1428
|
+
SparseMatrix._swapRows(i, j, this._size[1], this._values, this._index, this._ptr);
|
1429
|
+
// return current instance
|
1441
1430
|
return this;
|
1442
1431
|
};
|
1432
|
+
|
1443
1433
|
/**
|
1444
1434
|
* Loop rows with data in column j.
|
1445
1435
|
*
|
@@ -1449,18 +1439,17 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1449
1439
|
* @param {Array} ptr Matrix column pointers
|
1450
1440
|
* @param {Function} callback Callback function invoked for every row in column j
|
1451
1441
|
*/
|
1452
|
-
|
1453
|
-
|
1454
1442
|
SparseMatrix._forEachRow = function (j, values, index, ptr, callback) {
|
1455
1443
|
// indeces for column j
|
1456
1444
|
var k0 = ptr[j];
|
1457
|
-
var k1 = ptr[j + 1];
|
1458
|
-
|
1445
|
+
var k1 = ptr[j + 1];
|
1446
|
+
// loop
|
1459
1447
|
for (var k = k0; k < k1; k++) {
|
1460
1448
|
// invoke callback
|
1461
1449
|
callback(index[k], values[k]);
|
1462
1450
|
}
|
1463
1451
|
};
|
1452
|
+
|
1464
1453
|
/**
|
1465
1454
|
* Swap rows x and y in Sparse Matrix data structures.
|
1466
1455
|
*
|
@@ -1471,78 +1460,62 @@ var createSparseMatrixClass = /* #__PURE__ */(0, _factory.factory)(name, depende
|
|
1471
1460
|
* @param {Array} index Matrix row indeces
|
1472
1461
|
* @param {Array} ptr Matrix column pointers
|
1473
1462
|
*/
|
1474
|
-
|
1475
|
-
|
1476
1463
|
SparseMatrix._swapRows = function (x, y, columns, values, index, ptr) {
|
1477
1464
|
// loop columns
|
1478
1465
|
for (var j = 0; j < columns; j++) {
|
1479
1466
|
// k0 <= k < k1 where k0 = _ptr[j] && k1 = _ptr[j+1]
|
1480
1467
|
var k0 = ptr[j];
|
1481
|
-
var k1 = ptr[j + 1];
|
1482
|
-
|
1483
|
-
var kx = _getValueIndex(x, k0, k1, index);
|
1484
|
-
|
1485
|
-
|
1486
|
-
|
1487
|
-
|
1488
|
-
|
1468
|
+
var k1 = ptr[j + 1];
|
1469
|
+
// find value index @ x
|
1470
|
+
var kx = _getValueIndex(x, k0, k1, index);
|
1471
|
+
// find value index @ x
|
1472
|
+
var ky = _getValueIndex(y, k0, k1, index);
|
1473
|
+
// check both rows exist in matrix
|
1489
1474
|
if (kx < k1 && ky < k1 && index[kx] === x && index[ky] === y) {
|
1490
1475
|
// swap values (check for pattern matrix)
|
1491
1476
|
if (values) {
|
1492
1477
|
var v = values[kx];
|
1493
1478
|
values[kx] = values[ky];
|
1494
1479
|
values[ky] = v;
|
1495
|
-
}
|
1496
|
-
|
1497
|
-
|
1480
|
+
}
|
1481
|
+
// next column
|
1498
1482
|
continue;
|
1499
|
-
}
|
1500
|
-
|
1501
|
-
|
1483
|
+
}
|
1484
|
+
// check x row exist & no y row
|
1502
1485
|
if (kx < k1 && index[kx] === x && (ky >= k1 || index[ky] !== y)) {
|
1503
1486
|
// value @ x (check for pattern matrix)
|
1504
|
-
var vx = values ? values[kx] : undefined;
|
1505
|
-
|
1487
|
+
var vx = values ? values[kx] : undefined;
|
1488
|
+
// insert value @ y
|
1506
1489
|
index.splice(ky, 0, y);
|
1507
|
-
|
1508
1490
|
if (values) {
|
1509
1491
|
values.splice(ky, 0, vx);
|
1510
|
-
}
|
1511
|
-
|
1512
|
-
|
1492
|
+
}
|
1493
|
+
// remove value @ x (adjust array index if needed)
|
1513
1494
|
index.splice(ky <= kx ? kx + 1 : kx, 1);
|
1514
|
-
|
1515
1495
|
if (values) {
|
1516
1496
|
values.splice(ky <= kx ? kx + 1 : kx, 1);
|
1517
|
-
}
|
1518
|
-
|
1519
|
-
|
1497
|
+
}
|
1498
|
+
// next column
|
1520
1499
|
continue;
|
1521
|
-
}
|
1522
|
-
|
1523
|
-
|
1500
|
+
}
|
1501
|
+
// check y row exist & no x row
|
1524
1502
|
if (ky < k1 && index[ky] === y && (kx >= k1 || index[kx] !== x)) {
|
1525
1503
|
// value @ y (check for pattern matrix)
|
1526
|
-
var vy = values ? values[ky] : undefined;
|
1527
|
-
|
1504
|
+
var vy = values ? values[ky] : undefined;
|
1505
|
+
// insert value @ x
|
1528
1506
|
index.splice(kx, 0, x);
|
1529
|
-
|
1530
1507
|
if (values) {
|
1531
1508
|
values.splice(kx, 0, vy);
|
1532
|
-
}
|
1533
|
-
|
1534
|
-
|
1509
|
+
}
|
1510
|
+
// remove value @ y (adjust array index if needed)
|
1535
1511
|
index.splice(kx <= ky ? ky + 1 : ky, 1);
|
1536
|
-
|
1537
1512
|
if (values) {
|
1538
1513
|
values.splice(kx <= ky ? ky + 1 : ky, 1);
|
1539
1514
|
}
|
1540
1515
|
}
|
1541
1516
|
}
|
1542
1517
|
};
|
1543
|
-
|
1544
1518
|
return SparseMatrix;
|
1545
1519
|
}, {
|
1546
1520
|
isClass: true
|
1547
|
-
});
|
1548
|
-
exports.createSparseMatrixClass = createSparseMatrixClass;
|
1521
|
+
});
|