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