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