mathjs 10.5.3 → 10.6.2
Sign up to get free protection for your applications and to get access to all the features.
- package/HISTORY.md +29 -0
- package/lib/browser/math.js +6 -5
- package/lib/browser/math.js.map +1 -1
- package/lib/cjs/entry/dependenciesAny/dependenciesFft.generated.js +41 -0
- package/lib/cjs/entry/dependenciesAny/dependenciesIfft.generated.js +29 -0
- package/lib/cjs/entry/dependenciesAny.generated.js +16 -0
- package/lib/cjs/entry/impureFunctionsAny.generated.js +66 -64
- package/lib/cjs/entry/pureFunctionsAny.generated.js +189 -171
- package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +6 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/fft.js +15 -0
- package/lib/cjs/expression/embeddedDocs/function/matrix/ifft.js +15 -0
- package/lib/cjs/factoriesAny.js +16 -0
- package/lib/cjs/function/algebra/derivative.js +1 -1
- package/lib/cjs/function/matrix/fft.js +128 -0
- package/lib/cjs/function/matrix/ifft.js +49 -0
- package/lib/cjs/header.js +2 -2
- package/lib/cjs/version.js +1 -1
- package/lib/esm/entry/dependenciesAny/dependenciesFft.generated.js +24 -0
- package/lib/esm/entry/dependenciesAny/dependenciesIfft.generated.js +16 -0
- package/lib/esm/entry/dependenciesAny.generated.js +2 -0
- package/lib/esm/entry/impureFunctionsAny.generated.js +63 -61
- package/lib/esm/entry/pureFunctionsAny.generated.js +161 -145
- package/lib/esm/expression/embeddedDocs/embeddedDocs.js +4 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/fft.js +8 -0
- package/lib/esm/expression/embeddedDocs/function/matrix/ifft.js +8 -0
- package/lib/esm/factoriesAny.js +2 -0
- package/lib/esm/function/algebra/derivative.js +1 -1
- package/lib/esm/function/matrix/fft.js +104 -0
- package/lib/esm/function/matrix/ifft.js +38 -0
- package/lib/esm/version.js +1 -1
- package/package.json +19 -16
- package/types/index.d.ts +1072 -308
- package/types/index.ts +763 -7
@@ -4,7 +4,7 @@
|
|
4
4
|
*/
|
5
5
|
import { config } from './configReadonly.js';
|
6
6
|
import { createBigNumberClass, createComplexClass, createE, createFalse, createFineStructure, createFractionClass, createI, createInfinity, createLN10, createLOG10E, createMatrixClass, createNaN, createNull, createPhi, createRangeClass, createResultSet, createSQRT1_2, // eslint-disable-line camelcase
|
7
|
-
createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createUnaryPlus, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBignumber, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCosh, createCoth, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBin, createCombinationsWithRep, createCos, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createCot, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMod, createNthRoot, createNumeric, createOr, createProd, createReshape, createSize, createSmaller, createSqueeze, createSubset, createSubtract, createTo, createTranspose, createXgcd, createZeros, createAnd, createBitAnd, createBitXor, createCbrt, createCompare, createCompareText, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createFlatten, createGcd, createHasNumericValue, createHypot,
|
7
|
+
createSackurTetrode, createTau, createTrue, createVersion, createDenseMatrixClass, createEfimovFactor, createLN2, createPi, createReplacer, createSQRT2, createTyped, createUnaryPlus, createWeakMixingAngle, createAbs, createAcos, createAcot, createAcsc, createAddScalar, createArg, createAsech, createAsinh, createAtan, createAtanh, createBignumber, createBitNot, createBoolean, createClone, createCombinations, createComplex, createConj, createCosh, createCoth, createCsc, createCube, createEqualScalar, createErf, createExp, createExpm1, createFilter, createForEach, createFormat, createGetMatrixDataType, createHex, createIm, createIsInteger, createIsNegative, createIsPositive, createIsZero, createLOG2E, createLgamma, createLog10, createLog2, createMap, createMultiplyScalar, createNot, createNumber, createOct, createPickRandom, createPrint, createRandom, createRe, createSec, createSign, createSin, createSparseMatrixClass, createSplitUnit, createSquare, createString, createTan, createTypeOf, createAcosh, createAcsch, createApply, createAsec, createBin, createCombinationsWithRep, createCos, createCsch, createIsNaN, createIsPrime, createRandomInt, createSech, createSinh, createSparse, createSqrt, createTanh, createUnaryMinus, createAcoth, createCot, createFraction, createIsNumeric, createMatrix, createMatrixFromFunction, createMod, createNthRoot, createNumeric, createOr, createProd, createReshape, createSize, createSmaller, createSqueeze, createSubset, createSubtract, createTo, createTranspose, createXgcd, createZeros, createAnd, createBitAnd, createBitXor, createCbrt, createCompare, createCompareText, createConcat, createCount, createCtranspose, createDiag, createDivideScalar, createDotDivide, createEqual, createFft, createFlatten, createGcd, createHasNumericValue, createHypot, createIfft, createKron, createLargerEq, createLeftShift, createLsolve, createMatrixFromColumns, createMin, createMode, createNthRoots, createOnes, createPartitionSelect, createResize, createRightArithShift, createRound, createSmallerEq, createUnequal, createUsolve, createXor, createAdd, createAtan2, createBitOr, createCatalan, createCompareNatural, createCumSum, createDeepEqual, createDiff, createDot, createEqualText, createFloor, createIdentity, createInvmod, createLarger, createLog, createLsolveAll, createMatrixFromRows, createMultiply, createQr, createRange, createRightLogShift, createSetSize, createSlu, createSum, createTrace, createUsolveAll, createAsin, createCeil, createComposition, createCross, createDet, createDistance, createDotMultiply, createFibonacciHeapClass, createFix, createImmutableDenseMatrixClass, createIndexClass, createIntersect, createLcm, createLog1p, createMax, createQuantileSeq, createRow, createSetCartesian, createSetDistinct, createSetIsSubset, createSetPowerset, createSort, createColumn, createIndex, createInv, createPinv, createPow, createSetDifference, createSetMultiplicity, createSpaClass, createSqrtm, createUnitClass, createVacuumImpedance, createWienDisplacement, createAtomicMass, createBohrMagneton, createBoltzmann, createConductanceQuantum, createCreateUnit, createDeuteronMass, createDotPow, createElectricConstant, createElementaryCharge, createExpm, createFaraday, createFirstRadiation, createGamma, createGravitationConstant, createHartreeEnergy, createKlitzing, createLoschmidt, createMagneticConstant, createMolarMass, createMolarPlanckConstant, createNeutronMass, createNuclearMagneton, createPlanckCharge, createPlanckLength, createPlanckTemperature, createProtonMass, createReducedPlanckConstant, createRydberg, createSetIntersect, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCoulomb, createDivide, createElectronMass, createFactorial, createGravity, createInverseConductanceQuantum, createLup, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createQuantumOfCirculation, createSecondRadiation, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createMean, createMolarVolume, createPlanckConstant, createSetSymDifference, createClassicalElectronRadius, createLusolve, createMedian, createSetUnion, createVariance, createKldivergence, createNorm, createPlanckTime, createRotationMatrix, createGasConstant, createStd, createMad, createRotate } from '../factoriesAny.js';
|
8
8
|
export var BigNumber = /* #__PURE__ */createBigNumberClass({
|
9
9
|
config
|
10
10
|
});
|
@@ -551,6 +551,16 @@ export var equal = /* #__PURE__ */createEqual({
|
|
551
551
|
matrix,
|
552
552
|
typed
|
553
553
|
});
|
554
|
+
export var fft = /* #__PURE__ */createFft({
|
555
|
+
addScalar,
|
556
|
+
divideScalar,
|
557
|
+
exp,
|
558
|
+
i,
|
559
|
+
matrix,
|
560
|
+
multiplyScalar,
|
561
|
+
tau,
|
562
|
+
typed
|
563
|
+
});
|
554
564
|
export var flatten = /* #__PURE__ */createFlatten({
|
555
565
|
matrix,
|
556
566
|
typed
|
@@ -576,12 +586,11 @@ export var hypot = /* #__PURE__ */createHypot({
|
|
576
586
|
sqrt,
|
577
587
|
typed
|
578
588
|
});
|
579
|
-
export var
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
ImmutableDenseMatrix
|
589
|
+
export var ifft = /* #__PURE__ */createIfft({
|
590
|
+
conj,
|
591
|
+
dotDivide,
|
592
|
+
fft,
|
593
|
+
typed
|
585
594
|
});
|
586
595
|
export var kron = /* #__PURE__ */createKron({
|
587
596
|
matrix,
|
@@ -849,40 +858,8 @@ export var rightLogShift = /* #__PURE__ */createRightLogShift({
|
|
849
858
|
typed,
|
850
859
|
zeros
|
851
860
|
});
|
852
|
-
export var
|
853
|
-
Index,
|
854
|
-
matrix,
|
855
|
-
range,
|
856
|
-
typed
|
857
|
-
});
|
858
|
-
export var setCartesian = /* #__PURE__ */createSetCartesian({
|
859
|
-
DenseMatrix,
|
860
|
-
Index,
|
861
|
-
compareNatural,
|
862
|
-
size,
|
863
|
-
subset,
|
864
|
-
typed
|
865
|
-
});
|
866
|
-
export var setDistinct = /* #__PURE__ */createSetDistinct({
|
867
|
-
DenseMatrix,
|
868
|
-
Index,
|
869
|
-
compareNatural,
|
870
|
-
size,
|
871
|
-
subset,
|
872
|
-
typed
|
873
|
-
});
|
874
|
-
export var setIsSubset = /* #__PURE__ */createSetIsSubset({
|
875
|
-
Index,
|
861
|
+
export var setSize = /* #__PURE__ */createSetSize({
|
876
862
|
compareNatural,
|
877
|
-
size,
|
878
|
-
subset,
|
879
|
-
typed
|
880
|
-
});
|
881
|
-
export var setPowerset = /* #__PURE__ */createSetPowerset({
|
882
|
-
Index,
|
883
|
-
compareNatural,
|
884
|
-
size,
|
885
|
-
subset,
|
886
863
|
typed
|
887
864
|
});
|
888
865
|
export var slu = /* #__PURE__ */createSlu({
|
@@ -931,12 +908,6 @@ export var ceil = /* #__PURE__ */createCeil({
|
|
931
908
|
typed,
|
932
909
|
zeros
|
933
910
|
});
|
934
|
-
export var column = /* #__PURE__ */createColumn({
|
935
|
-
Index,
|
936
|
-
matrix,
|
937
|
-
range,
|
938
|
-
typed
|
939
|
-
});
|
940
911
|
export var composition = /* #__PURE__ */createComposition({
|
941
912
|
addScalar,
|
942
913
|
combinations,
|
@@ -991,20 +962,29 @@ export var fix = /* #__PURE__ */createFix({
|
|
991
962
|
typed,
|
992
963
|
zeros
|
993
964
|
});
|
994
|
-
export var
|
995
|
-
|
996
|
-
|
965
|
+
export var ImmutableDenseMatrix = /* #__PURE__ */createImmutableDenseMatrixClass({
|
966
|
+
DenseMatrix,
|
967
|
+
smaller
|
997
968
|
});
|
998
|
-
export var
|
969
|
+
export var Index = /* #__PURE__ */createIndexClass({
|
970
|
+
ImmutableDenseMatrix
|
971
|
+
});
|
972
|
+
export var intersect = /* #__PURE__ */createIntersect({
|
999
973
|
abs,
|
974
|
+
add,
|
1000
975
|
addScalar,
|
1001
|
-
|
976
|
+
config,
|
1002
977
|
divideScalar,
|
1003
|
-
|
978
|
+
equalScalar,
|
979
|
+
flatten,
|
980
|
+
isNumeric,
|
981
|
+
isZero,
|
1004
982
|
matrix,
|
1005
983
|
multiply,
|
1006
|
-
|
1007
|
-
|
984
|
+
multiplyScalar,
|
985
|
+
smaller,
|
986
|
+
subtract,
|
987
|
+
typed
|
1008
988
|
});
|
1009
989
|
export var lcm = /* #__PURE__ */createLcm({
|
1010
990
|
equalScalar,
|
@@ -1024,6 +1004,76 @@ export var max = /* #__PURE__ */createMax({
|
|
1024
1004
|
numeric,
|
1025
1005
|
typed
|
1026
1006
|
});
|
1007
|
+
export var quantileSeq = /* #__PURE__ */createQuantileSeq({
|
1008
|
+
add,
|
1009
|
+
compare,
|
1010
|
+
multiply,
|
1011
|
+
partitionSelect,
|
1012
|
+
typed
|
1013
|
+
});
|
1014
|
+
export var row = /* #__PURE__ */createRow({
|
1015
|
+
Index,
|
1016
|
+
matrix,
|
1017
|
+
range,
|
1018
|
+
typed
|
1019
|
+
});
|
1020
|
+
export var setCartesian = /* #__PURE__ */createSetCartesian({
|
1021
|
+
DenseMatrix,
|
1022
|
+
Index,
|
1023
|
+
compareNatural,
|
1024
|
+
size,
|
1025
|
+
subset,
|
1026
|
+
typed
|
1027
|
+
});
|
1028
|
+
export var setDistinct = /* #__PURE__ */createSetDistinct({
|
1029
|
+
DenseMatrix,
|
1030
|
+
Index,
|
1031
|
+
compareNatural,
|
1032
|
+
size,
|
1033
|
+
subset,
|
1034
|
+
typed
|
1035
|
+
});
|
1036
|
+
export var setIsSubset = /* #__PURE__ */createSetIsSubset({
|
1037
|
+
Index,
|
1038
|
+
compareNatural,
|
1039
|
+
size,
|
1040
|
+
subset,
|
1041
|
+
typed
|
1042
|
+
});
|
1043
|
+
export var setPowerset = /* #__PURE__ */createSetPowerset({
|
1044
|
+
Index,
|
1045
|
+
compareNatural,
|
1046
|
+
size,
|
1047
|
+
subset,
|
1048
|
+
typed
|
1049
|
+
});
|
1050
|
+
export var sort = /* #__PURE__ */createSort({
|
1051
|
+
compare,
|
1052
|
+
compareNatural,
|
1053
|
+
matrix,
|
1054
|
+
typed
|
1055
|
+
});
|
1056
|
+
export var column = /* #__PURE__ */createColumn({
|
1057
|
+
Index,
|
1058
|
+
matrix,
|
1059
|
+
range,
|
1060
|
+
typed
|
1061
|
+
});
|
1062
|
+
export var index = /* #__PURE__ */createIndex({
|
1063
|
+
Index,
|
1064
|
+
typed
|
1065
|
+
});
|
1066
|
+
export var inv = /* #__PURE__ */createInv({
|
1067
|
+
abs,
|
1068
|
+
addScalar,
|
1069
|
+
det,
|
1070
|
+
divideScalar,
|
1071
|
+
identity,
|
1072
|
+
matrix,
|
1073
|
+
multiply,
|
1074
|
+
typed,
|
1075
|
+
unaryMinus
|
1076
|
+
});
|
1027
1077
|
export var pinv = /* #__PURE__ */createPinv({
|
1028
1078
|
Complex,
|
1029
1079
|
add,
|
@@ -1049,13 +1099,6 @@ export var pow = /* #__PURE__ */createPow({
|
|
1049
1099
|
number,
|
1050
1100
|
typed
|
1051
1101
|
});
|
1052
|
-
export var quantileSeq = /* #__PURE__ */createQuantileSeq({
|
1053
|
-
add,
|
1054
|
-
compare,
|
1055
|
-
multiply,
|
1056
|
-
partitionSelect,
|
1057
|
-
typed
|
1058
|
-
});
|
1059
1102
|
export var setDifference = /* #__PURE__ */createSetDifference({
|
1060
1103
|
DenseMatrix,
|
1061
1104
|
Index,
|
@@ -1071,19 +1114,10 @@ export var setMultiplicity = /* #__PURE__ */createSetMultiplicity({
|
|
1071
1114
|
subset,
|
1072
1115
|
typed
|
1073
1116
|
});
|
1074
|
-
export var
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
size,
|
1079
|
-
subset,
|
1080
|
-
typed
|
1081
|
-
});
|
1082
|
-
export var sort = /* #__PURE__ */createSort({
|
1083
|
-
compare,
|
1084
|
-
compareNatural,
|
1085
|
-
matrix,
|
1086
|
-
typed
|
1117
|
+
export var Spa = /* #__PURE__ */createSpaClass({
|
1118
|
+
FibonacciHeap,
|
1119
|
+
addScalar,
|
1120
|
+
equalScalar
|
1087
1121
|
});
|
1088
1122
|
export var sqrtm = /* #__PURE__ */createSqrtm({
|
1089
1123
|
abs,
|
@@ -1207,23 +1241,6 @@ export var hartreeEnergy = /* #__PURE__ */createHartreeEnergy({
|
|
1207
1241
|
Unit,
|
1208
1242
|
config
|
1209
1243
|
});
|
1210
|
-
export var intersect = /* #__PURE__ */createIntersect({
|
1211
|
-
abs,
|
1212
|
-
add,
|
1213
|
-
addScalar,
|
1214
|
-
config,
|
1215
|
-
divideScalar,
|
1216
|
-
equalScalar,
|
1217
|
-
flatten,
|
1218
|
-
isNumeric,
|
1219
|
-
isZero,
|
1220
|
-
matrix,
|
1221
|
-
multiply,
|
1222
|
-
multiplyScalar,
|
1223
|
-
smaller,
|
1224
|
-
subtract,
|
1225
|
-
typed
|
1226
|
-
});
|
1227
1244
|
export var klitzing = /* #__PURE__ */createKlitzing({
|
1228
1245
|
BigNumber,
|
1229
1246
|
Unit,
|
@@ -1297,19 +1314,10 @@ export var setIntersect = /* #__PURE__ */createSetIntersect({
|
|
1297
1314
|
subset,
|
1298
1315
|
typed
|
1299
1316
|
});
|
1300
|
-
export var
|
1301
|
-
|
1302
|
-
|
1303
|
-
|
1304
|
-
setSymDifference,
|
1305
|
-
size,
|
1306
|
-
subset,
|
1307
|
-
typed
|
1308
|
-
});
|
1309
|
-
export var Spa = /* #__PURE__ */createSpaClass({
|
1310
|
-
FibonacciHeap,
|
1311
|
-
addScalar,
|
1312
|
-
equalScalar
|
1317
|
+
export var speedOfLight = /* #__PURE__ */createSpeedOfLight({
|
1318
|
+
BigNumber,
|
1319
|
+
Unit,
|
1320
|
+
config
|
1313
1321
|
});
|
1314
1322
|
export var stefanBoltzmann = /* #__PURE__ */createStefanBoltzmann({
|
1315
1323
|
BigNumber,
|
@@ -1495,22 +1503,12 @@ export var planckConstant = /* #__PURE__ */createPlanckConstant({
|
|
1495
1503
|
Unit,
|
1496
1504
|
config
|
1497
1505
|
});
|
1498
|
-
export var
|
1499
|
-
|
1500
|
-
|
1501
|
-
|
1502
|
-
|
1503
|
-
|
1504
|
-
Unit,
|
1505
|
-
config
|
1506
|
-
});
|
1507
|
-
export var variance = /* #__PURE__ */createVariance({
|
1508
|
-
add,
|
1509
|
-
apply,
|
1510
|
-
divide,
|
1511
|
-
isNaN,
|
1512
|
-
multiply,
|
1513
|
-
subtract,
|
1506
|
+
export var setSymDifference = /* #__PURE__ */createSetSymDifference({
|
1507
|
+
Index,
|
1508
|
+
concat,
|
1509
|
+
setDifference,
|
1510
|
+
size,
|
1511
|
+
subset,
|
1514
1512
|
typed
|
1515
1513
|
});
|
1516
1514
|
export var classicalElectronRadius = /* #__PURE__ */createClassicalElectronRadius({
|
@@ -1534,22 +1532,33 @@ export var median = /* #__PURE__ */createMedian({
|
|
1534
1532
|
partitionSelect,
|
1535
1533
|
typed
|
1536
1534
|
});
|
1537
|
-
export var
|
1538
|
-
|
1539
|
-
|
1540
|
-
|
1535
|
+
export var setUnion = /* #__PURE__ */createSetUnion({
|
1536
|
+
Index,
|
1537
|
+
concat,
|
1538
|
+
setIntersect,
|
1539
|
+
setSymDifference,
|
1540
|
+
size,
|
1541
|
+
subset,
|
1542
|
+
typed
|
1541
1543
|
});
|
1542
|
-
export var
|
1543
|
-
|
1544
|
-
|
1545
|
-
|
1544
|
+
export var variance = /* #__PURE__ */createVariance({
|
1545
|
+
add,
|
1546
|
+
apply,
|
1547
|
+
divide,
|
1548
|
+
isNaN,
|
1549
|
+
multiply,
|
1546
1550
|
subtract,
|
1547
1551
|
typed
|
1548
1552
|
});
|
1549
|
-
export var
|
1550
|
-
|
1551
|
-
|
1552
|
-
|
1553
|
+
export var kldivergence = /* #__PURE__ */createKldivergence({
|
1554
|
+
divide,
|
1555
|
+
dotDivide,
|
1556
|
+
isNumeric,
|
1557
|
+
log,
|
1558
|
+
matrix,
|
1559
|
+
multiply,
|
1560
|
+
sum,
|
1561
|
+
typed
|
1553
1562
|
});
|
1554
1563
|
export var norm = /* #__PURE__ */createNorm({
|
1555
1564
|
abs,
|
@@ -1566,6 +1575,11 @@ export var norm = /* #__PURE__ */createNorm({
|
|
1566
1575
|
sqrt,
|
1567
1576
|
typed
|
1568
1577
|
});
|
1578
|
+
export var planckTime = /* #__PURE__ */createPlanckTime({
|
1579
|
+
BigNumber,
|
1580
|
+
Unit,
|
1581
|
+
config
|
1582
|
+
});
|
1569
1583
|
export var rotationMatrix = /* #__PURE__ */createRotationMatrix({
|
1570
1584
|
BigNumber,
|
1571
1585
|
DenseMatrix,
|
@@ -1580,23 +1594,25 @@ export var rotationMatrix = /* #__PURE__ */createRotationMatrix({
|
|
1580
1594
|
typed,
|
1581
1595
|
unaryMinus
|
1582
1596
|
});
|
1583
|
-
export var
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
|
1588
|
-
|
1589
|
-
|
1590
|
-
|
1597
|
+
export var gasConstant = /* #__PURE__ */createGasConstant({
|
1598
|
+
BigNumber,
|
1599
|
+
Unit,
|
1600
|
+
config
|
1601
|
+
});
|
1602
|
+
export var std = /* #__PURE__ */createStd({
|
1603
|
+
sqrt,
|
1604
|
+
typed,
|
1605
|
+
variance
|
1606
|
+
});
|
1607
|
+
export var mad = /* #__PURE__ */createMad({
|
1608
|
+
abs,
|
1609
|
+
map,
|
1610
|
+
median,
|
1611
|
+
subtract,
|
1591
1612
|
typed
|
1592
1613
|
});
|
1593
1614
|
export var rotate = /* #__PURE__ */createRotate({
|
1594
1615
|
multiply,
|
1595
1616
|
rotationMatrix,
|
1596
1617
|
typed
|
1597
|
-
});
|
1598
|
-
export var planckTime = /* #__PURE__ */createPlanckTime({
|
1599
|
-
BigNumber,
|
1600
|
-
Unit,
|
1601
|
-
config
|
1602
1618
|
});
|
@@ -142,6 +142,8 @@ import { subsetDocs } from './function/matrix/subset.js';
|
|
142
142
|
import { traceDocs } from './function/matrix/trace.js';
|
143
143
|
import { transposeDocs } from './function/matrix/transpose.js';
|
144
144
|
import { zerosDocs } from './function/matrix/zeros.js';
|
145
|
+
import { fftDocs } from './function/matrix/fft.js';
|
146
|
+
import { ifftDocs } from './function/matrix/ifft.js';
|
145
147
|
import { combinationsDocs } from './function/probability/combinations.js';
|
146
148
|
import { combinationsWithRepDocs } from './function/probability/combinationsWithRep.js';
|
147
149
|
import { factorialDocs } from './function/probability/factorial.js';
|
@@ -592,6 +594,8 @@ export var embeddedDocs = {
|
|
592
594
|
trace: traceDocs,
|
593
595
|
transpose: transposeDocs,
|
594
596
|
zeros: zerosDocs,
|
597
|
+
fft: fftDocs,
|
598
|
+
ifft: ifftDocs,
|
595
599
|
// functions - probability
|
596
600
|
combinations: combinationsDocs,
|
597
601
|
combinationsWithRep: combinationsWithRepDocs,
|
package/lib/esm/factoriesAny.js
CHANGED
@@ -92,6 +92,8 @@ export { createSubset } from './function/matrix/subset.js';
|
|
92
92
|
export { createTranspose } from './function/matrix/transpose.js';
|
93
93
|
export { createCtranspose } from './function/matrix/ctranspose.js';
|
94
94
|
export { createZeros } from './function/matrix/zeros.js';
|
95
|
+
export { createFft } from './function/matrix/fft.js';
|
96
|
+
export { createIfft } from './function/matrix/ifft.js';
|
95
97
|
export { createErf } from './function/special/erf.js';
|
96
98
|
export { createMode } from './function/statistics/mode.js';
|
97
99
|
export { createProd } from './function/statistics/prod.js';
|
@@ -115,7 +115,7 @@ export var createDerivative = /* #__PURE__ */factory(name, dependencies, _ref =>
|
|
115
115
|
if (isConstantNode(expr) && typeOf(expr.value) === 'string') {
|
116
116
|
return _derivTex(parse(expr.value).toString(), x.toString(), 1);
|
117
117
|
} else {
|
118
|
-
return _derivTex(expr.
|
118
|
+
return _derivTex(expr.toTex(), x.toString(), 1);
|
119
119
|
}
|
120
120
|
},
|
121
121
|
'Node, ConstantNode': function NodeConstantNode(expr, x) {
|
@@ -0,0 +1,104 @@
|
|
1
|
+
import { arraySize } from '../../utils/array.js';
|
2
|
+
import { factory } from '../../utils/factory.js';
|
3
|
+
var name = 'fft';
|
4
|
+
var dependencies = ['typed', 'matrix', 'addScalar', 'multiplyScalar', 'divideScalar', 'exp', 'tau', 'i'];
|
5
|
+
export var createFft = /* #__PURE__ */factory(name, dependencies, _ref => {
|
6
|
+
var {
|
7
|
+
typed,
|
8
|
+
matrix,
|
9
|
+
addScalar,
|
10
|
+
multiplyScalar,
|
11
|
+
divideScalar,
|
12
|
+
exp,
|
13
|
+
tau,
|
14
|
+
i: I
|
15
|
+
} = _ref;
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Calculate N-dimensional fourier transform
|
19
|
+
*
|
20
|
+
* Syntax:
|
21
|
+
*
|
22
|
+
* math.fft(arr)
|
23
|
+
*
|
24
|
+
* Examples:
|
25
|
+
*
|
26
|
+
* math.fft([[1, 0], [1, 0]]) // returns [[{re:2, im:0}, {re:2, im:0}], [{re:0, im:0}, {re:0, im:0}]]
|
27
|
+
*
|
28
|
+
*
|
29
|
+
* See Also:
|
30
|
+
*
|
31
|
+
* ifft
|
32
|
+
*
|
33
|
+
* @param {Array | Matrix} arr An array or matrix
|
34
|
+
* @return {Array | Matrix} N-dimensional fourier transformation of the array
|
35
|
+
*/
|
36
|
+
return typed(name, {
|
37
|
+
Array: _ndFft,
|
38
|
+
Matrix: function Matrix(matrix) {
|
39
|
+
return matrix.create(_ndFft(matrix.toArray()));
|
40
|
+
}
|
41
|
+
});
|
42
|
+
/**
|
43
|
+
* Perform an N-dimensional Fourier transform
|
44
|
+
*
|
45
|
+
* @param {Array} arr The array
|
46
|
+
* @return {Array} resulting array
|
47
|
+
*/
|
48
|
+
|
49
|
+
function _ndFft(arr) {
|
50
|
+
var size = arraySize(arr);
|
51
|
+
if (size.length === 1) return _fft(arr, size[0]); // ndFft along dimension 1,...,N-1 then 1dFft along dimension 0
|
52
|
+
|
53
|
+
return _1dFft(arr.map(slice => _ndFft(slice, size.slice(1))), 0);
|
54
|
+
}
|
55
|
+
/**
|
56
|
+
* Perform an 1-dimensional Fourier transform
|
57
|
+
*
|
58
|
+
* @param {Array} arr The array
|
59
|
+
* @param {number} dim dimension of the array to perform on
|
60
|
+
* @return {Array} resulting array
|
61
|
+
*/
|
62
|
+
|
63
|
+
|
64
|
+
function _1dFft(arr, dim) {
|
65
|
+
var size = arraySize(arr);
|
66
|
+
if (dim !== 0) return new Array(size[0]).fill(0).map((_, i) => _1dFft(arr[i], dim - 1));
|
67
|
+
if (size.length === 1) return _fft(arr);
|
68
|
+
|
69
|
+
function _transpose(arr) {
|
70
|
+
// Swap first 2 dimensions
|
71
|
+
var size = arraySize(arr);
|
72
|
+
return new Array(size[1]).fill(0).map((_, j) => new Array(size[0]).fill(0).map((_, i) => arr[i][j]));
|
73
|
+
}
|
74
|
+
|
75
|
+
return _transpose(_1dFft(_transpose(arr), 1));
|
76
|
+
}
|
77
|
+
/**
|
78
|
+
* Perform an 1-dimensional Fourier transform
|
79
|
+
*
|
80
|
+
* @param {Array} arr The array
|
81
|
+
* @return {Array} resulting array
|
82
|
+
*/
|
83
|
+
|
84
|
+
|
85
|
+
function _fft(arr) {
|
86
|
+
var len = arr.length;
|
87
|
+
if (len === 1) return [arr[0]];
|
88
|
+
|
89
|
+
if (len % 2 === 0) {
|
90
|
+
var ret = [..._fft(arr.filter((_, i) => i % 2 === 0), len / 2), ..._fft(arr.filter((_, i) => i % 2 === 1), len / 2)];
|
91
|
+
|
92
|
+
for (var k = 0; k < len / 2; k++) {
|
93
|
+
var p = ret[k];
|
94
|
+
var q = multiplyScalar(ret[k + len / 2], exp(multiplyScalar(multiplyScalar(tau, I), divideScalar(-k, len))));
|
95
|
+
ret[k] = addScalar(p, q);
|
96
|
+
ret[k + len / 2] = addScalar(p, multiplyScalar(-1, q));
|
97
|
+
}
|
98
|
+
|
99
|
+
return ret;
|
100
|
+
}
|
101
|
+
|
102
|
+
throw new Error('Can only calculate FFT of power-of-two size');
|
103
|
+
}
|
104
|
+
});
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { arraySize } from '../../utils/array.js';
|
2
|
+
import { factory } from '../../utils/factory.js';
|
3
|
+
import { isMatrix } from '../../utils/is.js';
|
4
|
+
var name = 'ifft';
|
5
|
+
var dependencies = ['typed', 'fft', 'dotDivide', 'conj'];
|
6
|
+
export var createIfft = /* #__PURE__ */factory(name, dependencies, _ref => {
|
7
|
+
var {
|
8
|
+
typed,
|
9
|
+
fft,
|
10
|
+
dotDivide,
|
11
|
+
conj
|
12
|
+
} = _ref;
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Calculate N-dimensional inverse fourier transform
|
16
|
+
*
|
17
|
+
* Syntax:
|
18
|
+
*
|
19
|
+
* math.ifft(arr)
|
20
|
+
*
|
21
|
+
* Examples:
|
22
|
+
*
|
23
|
+
* math.ifft([[2, 2], [0, 0]]) // returns [[{re:1, im:0}, {re:0, im:0}], [{re:1, im:0}, {re:0, im:0}]]
|
24
|
+
*
|
25
|
+
* See Also:
|
26
|
+
*
|
27
|
+
* fft
|
28
|
+
*
|
29
|
+
* @param {Array | Matrix} arr An array or matrix
|
30
|
+
* @return {Array | Matrix} N-dimensional fourier transformation of the array
|
31
|
+
*/
|
32
|
+
return typed(name, {
|
33
|
+
'Array | Matrix': function ArrayMatrix(arr) {
|
34
|
+
var size = isMatrix(arr) ? arr.size() : arraySize(arr);
|
35
|
+
return dotDivide(conj(fft(conj(arr))), size.reduce((acc, curr) => acc * curr, 1));
|
36
|
+
}
|
37
|
+
});
|
38
|
+
});
|
package/lib/esm/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export var version = '10.
|
1
|
+
export var version = '10.6.2'; // Note: This file is automatically generated when building math.js.
|
2
2
|
// Changes made in this file will be overwritten.
|