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