mathjs 11.3.3 → 11.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/HISTORY.md +25 -0
  2. package/lib/browser/math.js +1 -1
  3. package/lib/browser/math.js.LICENSE.txt +2 -2
  4. package/lib/browser/math.js.map +1 -1
  5. package/lib/cjs/entry/dependenciesAny/dependenciesLyap.generated.js +26 -0
  6. package/lib/cjs/entry/dependenciesAny/dependenciesPolynomialRoot.generated.js +42 -0
  7. package/lib/cjs/entry/dependenciesAny/dependenciesSchur.generated.js +30 -0
  8. package/lib/cjs/entry/dependenciesAny/dependenciesSylvester.generated.js +46 -0
  9. package/lib/cjs/entry/dependenciesAny.generated.js +28 -0
  10. package/lib/cjs/entry/impureFunctionsAny.generated.js +21 -17
  11. package/lib/cjs/entry/pureFunctionsAny.generated.js +100 -48
  12. package/lib/cjs/expression/embeddedDocs/embeddedDocs.js +8 -0
  13. package/lib/cjs/expression/embeddedDocs/function/algebra/polynomialRoot.js +15 -0
  14. package/lib/cjs/expression/embeddedDocs/function/matrix/lyap.js +15 -0
  15. package/lib/cjs/expression/embeddedDocs/function/matrix/reshape.js +1 -1
  16. package/lib/cjs/expression/embeddedDocs/function/matrix/schur.js +15 -0
  17. package/lib/cjs/expression/embeddedDocs/function/matrix/sylvester.js +15 -0
  18. package/lib/cjs/factoriesAny.js +28 -0
  19. package/lib/cjs/function/algebra/decomposition/schur.js +75 -0
  20. package/lib/cjs/function/algebra/lyap.js +57 -0
  21. package/lib/cjs/function/algebra/polynomialRoot.js +139 -0
  22. package/lib/cjs/function/algebra/simplify/wildcards.js +38 -0
  23. package/lib/cjs/function/algebra/simplify.js +161 -48
  24. package/lib/cjs/function/algebra/simplifyConstant.js +29 -12
  25. package/lib/cjs/function/algebra/sylvester.js +127 -0
  26. package/lib/cjs/function/matrix/forEach.js +1 -1
  27. package/lib/cjs/function/matrix/reshape.js +1 -1
  28. package/lib/cjs/function/string/format.js +24 -24
  29. package/lib/cjs/header.js +2 -2
  30. package/lib/cjs/version.js +1 -1
  31. package/lib/esm/entry/dependenciesAny/dependenciesLyap.generated.js +18 -0
  32. package/lib/esm/entry/dependenciesAny/dependenciesPolynomialRoot.generated.js +34 -0
  33. package/lib/esm/entry/dependenciesAny/dependenciesSchur.generated.js +22 -0
  34. package/lib/esm/entry/dependenciesAny/dependenciesSylvester.generated.js +38 -0
  35. package/lib/esm/entry/dependenciesAny.generated.js +4 -0
  36. package/lib/esm/entry/impureFunctionsAny.generated.js +22 -18
  37. package/lib/esm/entry/pureFunctionsAny.generated.js +87 -39
  38. package/lib/esm/expression/embeddedDocs/embeddedDocs.js +8 -0
  39. package/lib/esm/expression/embeddedDocs/function/algebra/polynomialRoot.js +8 -0
  40. package/lib/esm/expression/embeddedDocs/function/matrix/lyap.js +8 -0
  41. package/lib/esm/expression/embeddedDocs/function/matrix/reshape.js +1 -1
  42. package/lib/esm/expression/embeddedDocs/function/matrix/schur.js +8 -0
  43. package/lib/esm/expression/embeddedDocs/function/matrix/sylvester.js +8 -0
  44. package/lib/esm/factoriesAny.js +4 -0
  45. package/lib/esm/function/algebra/decomposition/schur.js +70 -0
  46. package/lib/esm/function/algebra/lyap.js +52 -0
  47. package/lib/esm/function/algebra/polynomialRoot.js +122 -0
  48. package/lib/esm/function/algebra/simplify/wildcards.js +20 -0
  49. package/lib/esm/function/algebra/simplify.js +162 -49
  50. package/lib/esm/function/algebra/simplifyConstant.js +29 -12
  51. package/lib/esm/function/algebra/sylvester.js +118 -0
  52. package/lib/esm/function/matrix/forEach.js +1 -1
  53. package/lib/esm/function/matrix/reshape.js +1 -1
  54. package/lib/esm/function/string/format.js +24 -24
  55. package/lib/esm/version.js +1 -1
  56. package/package.json +14 -14
  57. package/types/index.d.ts +88 -6
@@ -0,0 +1,34 @@
1
+ /**
2
+ * THIS FILE IS AUTO-GENERATED
3
+ * DON'T MAKE CHANGES HERE
4
+ */
5
+ import { addDependencies } from './dependenciesAdd.generated.js';
6
+ import { cbrtDependencies } from './dependenciesCbrt.generated.js';
7
+ import { divideDependencies } from './dependenciesDivide.generated.js';
8
+ import { equalScalarDependencies } from './dependenciesEqualScalar.generated.js';
9
+ import { imDependencies } from './dependenciesIm.generated.js';
10
+ import { isZeroDependencies } from './dependenciesIsZero.generated.js';
11
+ import { multiplyDependencies } from './dependenciesMultiply.generated.js';
12
+ import { reDependencies } from './dependenciesRe.generated.js';
13
+ import { sqrtDependencies } from './dependenciesSqrt.generated.js';
14
+ import { subtractDependencies } from './dependenciesSubtract.generated.js';
15
+ import { typeOfDependencies } from './dependenciesTypeOf.generated.js';
16
+ import { typedDependencies } from './dependenciesTyped.generated.js';
17
+ import { unaryMinusDependencies } from './dependenciesUnaryMinus.generated.js';
18
+ import { createPolynomialRoot } from '../../factoriesAny.js';
19
+ export var polynomialRootDependencies = {
20
+ addDependencies,
21
+ cbrtDependencies,
22
+ divideDependencies,
23
+ equalScalarDependencies,
24
+ imDependencies,
25
+ isZeroDependencies,
26
+ multiplyDependencies,
27
+ reDependencies,
28
+ sqrtDependencies,
29
+ subtractDependencies,
30
+ typeOfDependencies,
31
+ typedDependencies,
32
+ unaryMinusDependencies,
33
+ createPolynomialRoot
34
+ };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * THIS FILE IS AUTO-GENERATED
3
+ * DON'T MAKE CHANGES HERE
4
+ */
5
+ import { identityDependencies } from './dependenciesIdentity.generated.js';
6
+ import { matrixDependencies } from './dependenciesMatrix.generated.js';
7
+ import { multiplyDependencies } from './dependenciesMultiply.generated.js';
8
+ import { normDependencies } from './dependenciesNorm.generated.js';
9
+ import { qrDependencies } from './dependenciesQr.generated.js';
10
+ import { subtractDependencies } from './dependenciesSubtract.generated.js';
11
+ import { typedDependencies } from './dependenciesTyped.generated.js';
12
+ import { createSchur } from '../../factoriesAny.js';
13
+ export var schurDependencies = {
14
+ identityDependencies,
15
+ matrixDependencies,
16
+ multiplyDependencies,
17
+ normDependencies,
18
+ qrDependencies,
19
+ subtractDependencies,
20
+ typedDependencies,
21
+ createSchur
22
+ };
@@ -0,0 +1,38 @@
1
+ /**
2
+ * THIS FILE IS AUTO-GENERATED
3
+ * DON'T MAKE CHANGES HERE
4
+ */
5
+ import { absDependencies } from './dependenciesAbs.generated.js';
6
+ import { addDependencies } from './dependenciesAdd.generated.js';
7
+ import { concatDependencies } from './dependenciesConcat.generated.js';
8
+ import { identityDependencies } from './dependenciesIdentity.generated.js';
9
+ import { indexDependencies } from './dependenciesIndex.generated.js';
10
+ import { lusolveDependencies } from './dependenciesLusolve.generated.js';
11
+ import { matrixDependencies } from './dependenciesMatrix.generated.js';
12
+ import { matrixFromColumnsDependencies } from './dependenciesMatrixFromColumns.generated.js';
13
+ import { multiplyDependencies } from './dependenciesMultiply.generated.js';
14
+ import { rangeDependencies } from './dependenciesRange.generated.js';
15
+ import { schurDependencies } from './dependenciesSchur.generated.js';
16
+ import { subsetDependencies } from './dependenciesSubset.generated.js';
17
+ import { subtractDependencies } from './dependenciesSubtract.generated.js';
18
+ import { transposeDependencies } from './dependenciesTranspose.generated.js';
19
+ import { typedDependencies } from './dependenciesTyped.generated.js';
20
+ import { createSylvester } from '../../factoriesAny.js';
21
+ export var sylvesterDependencies = {
22
+ absDependencies,
23
+ addDependencies,
24
+ concatDependencies,
25
+ identityDependencies,
26
+ indexDependencies,
27
+ lusolveDependencies,
28
+ matrixDependencies,
29
+ matrixFromColumnsDependencies,
30
+ multiplyDependencies,
31
+ rangeDependencies,
32
+ schurDependencies,
33
+ subsetDependencies,
34
+ subtractDependencies,
35
+ transposeDependencies,
36
+ typedDependencies,
37
+ createSylvester
38
+ };
@@ -182,6 +182,7 @@ export { lsolveDependencies } from './dependenciesAny/dependenciesLsolve.generat
182
182
  export { lsolveAllDependencies } from './dependenciesAny/dependenciesLsolveAll.generated.js';
183
183
  export { lupDependencies } from './dependenciesAny/dependenciesLup.generated.js';
184
184
  export { lusolveDependencies } from './dependenciesAny/dependenciesLusolve.generated.js';
185
+ export { lyapDependencies } from './dependenciesAny/dependenciesLyap.generated.js';
185
186
  export { madDependencies } from './dependenciesAny/dependenciesMad.generated.js';
186
187
  export { magneticConstantDependencies } from './dependenciesAny/dependenciesMagneticConstant.generated.js';
187
188
  export { magneticFluxQuantumDependencies } from './dependenciesAny/dependenciesMagneticFluxQuantum.generated.js';
@@ -240,6 +241,7 @@ export { planckLengthDependencies } from './dependenciesAny/dependenciesPlanckLe
240
241
  export { planckMassDependencies } from './dependenciesAny/dependenciesPlanckMass.generated.js';
241
242
  export { planckTemperatureDependencies } from './dependenciesAny/dependenciesPlanckTemperature.generated.js';
242
243
  export { planckTimeDependencies } from './dependenciesAny/dependenciesPlanckTime.generated.js';
244
+ export { polynomialRootDependencies } from './dependenciesAny/dependenciesPolynomialRoot.generated.js';
243
245
  export { powDependencies } from './dependenciesAny/dependenciesPow.generated.js';
244
246
  export { printDependencies } from './dependenciesAny/dependenciesPrint.generated.js';
245
247
  export { prodDependencies } from './dependenciesAny/dependenciesProd.generated.js';
@@ -274,6 +276,7 @@ export { rydbergDependencies } from './dependenciesAny/dependenciesRydberg.gener
274
276
  export { SQRT1_2Dependencies } from './dependenciesAny/dependenciesSQRT1_2.generated.js'; // eslint-disable-line camelcase
275
277
  export { SQRT2Dependencies } from './dependenciesAny/dependenciesSQRT2.generated.js';
276
278
  export { sackurTetrodeDependencies } from './dependenciesAny/dependenciesSackurTetrode.generated.js';
279
+ export { schurDependencies } from './dependenciesAny/dependenciesSchur.generated.js';
277
280
  export { secDependencies } from './dependenciesAny/dependenciesSec.generated.js';
278
281
  export { sechDependencies } from './dependenciesAny/dependenciesSech.generated.js';
279
282
  export { secondRadiationDependencies } from './dependenciesAny/dependenciesSecondRadiation.generated.js';
@@ -317,6 +320,7 @@ export { subsetTransformDependencies } from './dependenciesAny/dependenciesSubse
317
320
  export { subtractDependencies } from './dependenciesAny/dependenciesSubtract.generated.js';
318
321
  export { sumDependencies } from './dependenciesAny/dependenciesSum.generated.js';
319
322
  export { sumTransformDependencies } from './dependenciesAny/dependenciesSumTransform.generated.js';
323
+ export { sylvesterDependencies } from './dependenciesAny/dependenciesSylvester.generated.js';
320
324
  export { SymbolNodeDependencies } from './dependenciesAny/dependenciesSymbolNode.generated.js';
321
325
  export { symbolicEqualDependencies } from './dependenciesAny/dependenciesSymbolicEqual.generated.js';
322
326
  export { tanDependencies } from './dependenciesAny/dependenciesTan.generated.js';
@@ -4,10 +4,10 @@ import _extends from "@babel/runtime/helpers/extends";
4
4
  * DON'T MAKE CHANGES HERE
5
5
  */
6
6
  import { config } from './configReadonly.js';
7
- import { createNode, createObjectNode, createOperatorNode, createParenthesisNode, createRelationalNode, createArrayNode, createBlockNode, createConditionalNode, createConstantNode, createRangeNode, createReviver, createChainClass, createFunctionAssignmentNode, createChain, createAccessorNode, createAssignmentNode, createIndexNode, createSymbolNode, createFunctionNode, createParse, createResolve, createSimplifyConstant, createCompile, createHelpClass, createLeafCount, createSimplifyCore, createEvaluate, createHelp, createParserClass, createParser, createSimplify, createSymbolicEqual, createDerivative, createRationalize, createFilterTransform, createForEachTransform, createMapTransform, createApplyTransform, createDiffTransform, createSubsetTransform, createConcatTransform, createMaxTransform, createMinTransform, createRangeTransform, createSumTransform, createCumSumTransform, createRowTransform, createColumnTransform, createIndexTransform, createMeanTransform, createVarianceTransform, createStdTransform } from '../factoriesAny.js';
7
+ import { createNode, createObjectNode, createOperatorNode, createParenthesisNode, createRelationalNode, createArrayNode, createBlockNode, createConditionalNode, createConstantNode, createRangeNode, createReviver, createChainClass, createFunctionAssignmentNode, createChain, createAccessorNode, createAssignmentNode, createIndexNode, createSymbolNode, createFunctionNode, createParse, createResolve, createSimplifyConstant, createCompile, createHelpClass, createLeafCount, createSimplifyCore, createEvaluate, createHelp, createParserClass, createSimplify, createSymbolicEqual, createDerivative, createParser, createRationalize, createFilterTransform, createForEachTransform, createMapTransform, createApplyTransform, createDiffTransform, createSubsetTransform, createConcatTransform, createMaxTransform, createMinTransform, createRangeTransform, createSumTransform, createCumSumTransform, createRowTransform, createColumnTransform, createIndexTransform, createMeanTransform, createVarianceTransform, createStdTransform } from '../factoriesAny.js';
8
8
  import { BigNumber, Complex, e, _false, fineStructure, Fraction, i, _Infinity, LN10, LOG10E, Matrix, _NaN, _null, phi, Range, ResultSet, SQRT1_2,
9
9
  // eslint-disable-line camelcase
10
- sackurTetrode, tau, _true, version, DenseMatrix, efimovFactor, LN2, pi, replacer, SQRT2, typed, unaryPlus, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bignumber, bitNot, boolean, clone, combinations, complex, conj, cosh, coth, csc, cube, equalScalar, erf, exp, expm1, filter, forEach, format, getMatrixDataType, hex, im, isInteger, isNegative, isPositive, isZero, LOG2E, lgamma, log10, log2, map, multiplyScalar, not, number, oct, pickRandom, print, random, re, sec, sign, sin, SparseMatrix, splitUnit, square, string, tan, typeOf, acosh, acsch, apply, asec, bin, combinationsWithRep, cos, csch, isNaN, isPrime, randomInt, sech, sinh, sparse, sqrt, tanh, unaryMinus, acoth, cot, fraction, isNumeric, matrix, matrixFromFunction, mod, nthRoot, numeric, or, prod, reshape, size, smaller, squeeze, subset, subtract, to, transpose, xgcd, zeros, and, bitAnd, bitXor, cbrt, compare, compareText, concat, count, ctranspose, diag, divideScalar, dotDivide, equal, fft, flatten, gcd, hasNumericValue, hypot, ifft, kron, largerEq, leftShift, lsolve, matrixFromColumns, min, mode, nthRoots, ones, partitionSelect, resize, rightArithShift, round, smallerEq, unequal, usolve, xor, add, atan2, bitOr, catalan, compareNatural, cumsum, deepEqual, diff, dot, equalText, floor, identity, invmod, larger, log, lsolveAll, matrixFromRows, multiply, qr, range, rightLogShift, setSize, slu, sum, trace, usolveAll, asin, ceil, composition, cross, det, distance, dotMultiply, FibonacciHeap, fix, ImmutableDenseMatrix, Index, intersect, lcm, log1p, max, quantileSeq, row, setCartesian, setDistinct, setIsSubset, setPowerset, sort, column, index, inv, pinv, pow, setDifference, setMultiplicity, Spa, sqrtm, Unit, vacuumImpedance, wienDisplacement, atomicMass, bohrMagneton, boltzmann, conductanceQuantum, createUnit, deuteronMass, dotPow, electricConstant, elementaryCharge, expm, faraday, firstRadiation, gamma, gravitationConstant, hartreeEnergy, klitzing, loschmidt, magneticConstant, molarMass, molarPlanckConstant, neutronMass, nuclearMagneton, planckCharge, planckLength, planckTemperature, protonMass, reducedPlanckConstant, rydberg, setIntersect, speedOfLight, stefanBoltzmann, thomsonCrossSection, avogadro, bohrRadius, coulomb, divide, electronMass, factorial, gravity, inverseConductanceQuantum, lup, magneticFluxQuantum, molarMassC12, multinomial, permutations, planckMass, quantumOfCirculation, secondRadiation, stirlingS2, unit, bellNumbers, eigs, fermiCoupling, mean, molarVolume, planckConstant, setSymDifference, variance, classicalElectronRadius, lusolve, median, setUnion, std, gasConstant, mad, norm, rotationMatrix, kldivergence, rotate, planckTime } from './pureFunctionsAny.generated.js';
10
+ sackurTetrode, tau, _true, version, DenseMatrix, efimovFactor, LN2, pi, replacer, SQRT2, typed, unaryPlus, weakMixingAngle, abs, acos, acot, acsc, addScalar, arg, asech, asinh, atan, atanh, bignumber, bitNot, boolean, clone, combinations, complex, conj, cosh, coth, csc, cube, equalScalar, erf, exp, expm1, filter, forEach, format, getMatrixDataType, hex, im, isInteger, isNegative, isPositive, isZero, LOG2E, lgamma, log10, log2, map, multiplyScalar, not, number, oct, pickRandom, print, random, re, sec, sign, sin, SparseMatrix, splitUnit, square, string, tan, typeOf, acosh, acsch, apply, asec, bin, combinationsWithRep, cos, csch, isNaN, isPrime, randomInt, sech, sinh, sparse, sqrt, tanh, unaryMinus, acoth, cot, fraction, isNumeric, matrix, matrixFromFunction, mod, nthRoot, numeric, or, prod, reshape, size, smaller, squeeze, subset, subtract, to, transpose, xgcd, zeros, and, bitAnd, bitXor, cbrt, compare, compareText, concat, count, ctranspose, diag, divideScalar, dotDivide, equal, fft, flatten, gcd, hasNumericValue, hypot, ifft, kron, largerEq, leftShift, lsolve, matrixFromColumns, min, mode, nthRoots, ones, partitionSelect, resize, rightArithShift, round, smallerEq, unequal, usolve, xor, add, atan2, bitOr, catalan, compareNatural, cumsum, deepEqual, diff, dot, equalText, floor, identity, invmod, larger, log, lsolveAll, matrixFromRows, multiply, qr, range, rightLogShift, setSize, slu, sum, trace, usolveAll, asin, ceil, composition, cross, det, distance, dotMultiply, FibonacciHeap, fix, ImmutableDenseMatrix, Index, intersect, lcm, log1p, max, quantileSeq, row, setCartesian, setDistinct, setIsSubset, setPowerset, sort, column, index, inv, pinv, pow, setDifference, setMultiplicity, Spa, sqrtm, Unit, vacuumImpedance, wienDisplacement, atomicMass, bohrMagneton, boltzmann, conductanceQuantum, createUnit, deuteronMass, dotPow, electricConstant, elementaryCharge, expm, faraday, firstRadiation, gamma, gravitationConstant, hartreeEnergy, klitzing, loschmidt, magneticConstant, molarMass, molarPlanckConstant, neutronMass, nuclearMagneton, planckCharge, planckLength, planckTemperature, protonMass, reducedPlanckConstant, rydberg, secondRadiation, setSymDifference, speedOfLight, stefanBoltzmann, thomsonCrossSection, avogadro, bohrRadius, coulomb, divide, electronMass, factorial, gravity, inverseConductanceQuantum, lup, magneticFluxQuantum, molarMassC12, multinomial, permutations, planckMass, polynomialRoot, setIntersect, stirlingS2, unit, bellNumbers, eigs, fermiCoupling, mean, molarVolume, planckConstant, quantumOfCirculation, setUnion, variance, classicalElectronRadius, lusolve, median, kldivergence, mad, std, gasConstant, norm, rotationMatrix, planckTime, schur, rotate, sylvester, lyap } from './pureFunctionsAny.generated.js';
11
11
  var math = {}; // NOT pure!
12
12
  var mathWithTransform = {}; // NOT pure!
13
13
  var classes = {}; // NOT pure!
@@ -169,10 +169,6 @@ export var help = createHelp({
169
169
  export var Parser = createParserClass({
170
170
  evaluate
171
171
  });
172
- export var parser = createParser({
173
- Parser,
174
- typed
175
- });
176
172
  export var simplify = createSimplify({
177
173
  bignumber,
178
174
  fraction,
@@ -221,6 +217,10 @@ export var derivative = createDerivative({
221
217
  simplify,
222
218
  typed
223
219
  });
220
+ export var parser = createParser({
221
+ Parser,
222
+ typed
223
+ });
224
224
  export var rationalize = createRationalize({
225
225
  bignumber,
226
226
  fraction,
@@ -490,7 +490,8 @@ _extends(math, {
490
490
  protonMass,
491
491
  reducedPlanckConstant,
492
492
  rydberg,
493
- setIntersect,
493
+ secondRadiation,
494
+ setSymDifference,
494
495
  speedOfLight,
495
496
  stefanBoltzmann,
496
497
  thomsonCrossSection,
@@ -509,9 +510,9 @@ _extends(math, {
509
510
  parse,
510
511
  permutations,
511
512
  planckMass,
512
- quantumOfCirculation,
513
+ polynomialRoot,
513
514
  resolve,
514
- secondRadiation,
515
+ setIntersect,
515
516
  simplifyConstant,
516
517
  stirlingS2,
517
518
  unit,
@@ -523,7 +524,8 @@ _extends(math, {
523
524
  mean,
524
525
  molarVolume,
525
526
  planckConstant,
526
- setSymDifference,
527
+ quantumOfCirculation,
528
+ setUnion,
527
529
  simplifyCore,
528
530
  variance,
529
531
  classicalElectronRadius,
@@ -531,20 +533,22 @@ _extends(math, {
531
533
  help,
532
534
  lusolve,
533
535
  median,
534
- setUnion,
535
- std,
536
- gasConstant,
537
- mad,
538
- parser,
539
536
  simplify,
540
537
  symbolicEqual,
541
538
  derivative,
542
- norm,
539
+ kldivergence,
540
+ mad,
541
+ parser,
543
542
  rationalize,
543
+ std,
544
+ gasConstant,
545
+ norm,
544
546
  rotationMatrix,
545
- kldivergence,
546
- rotate,
547
547
  planckTime,
548
+ schur,
549
+ rotate,
550
+ sylvester,
551
+ lyap,
548
552
  config
549
553
  });
550
554
  _extends(mathWithTransform, math, {
@@ -5,7 +5,7 @@
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,
7
7
  // eslint-disable-line camelcase
8
- 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, createVariance, createClassicalElectronRadius, createLusolve, createMedian, createSetUnion, createStd, createGasConstant, createMad, createNorm, createRotationMatrix, createKldivergence, createRotate, createPlanckTime } from '../factoriesAny.js';
8
+ 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, createSecondRadiation, createSetSymDifference, createSpeedOfLight, createStefanBoltzmann, createThomsonCrossSection, createAvogadro, createBohrRadius, createCoulomb, createDivide, createElectronMass, createFactorial, createGravity, createInverseConductanceQuantum, createLup, createMagneticFluxQuantum, createMolarMassC12, createMultinomial, createPermutations, createPlanckMass, createPolynomialRoot, createSetIntersect, createStirlingS2, createUnitFunction, createBellNumbers, createEigs, createFermiCoupling, createMean, createMolarVolume, createPlanckConstant, createQuantumOfCirculation, createSetUnion, createVariance, createClassicalElectronRadius, createLusolve, createMedian, createKldivergence, createMad, createStd, createGasConstant, createNorm, createRotationMatrix, createPlanckTime, createSchur, createRotate, createSylvester, createLyap } from '../factoriesAny.js';
9
9
  export var BigNumber = /* #__PURE__ */createBigNumberClass({
10
10
  config
11
11
  });
@@ -1308,10 +1308,15 @@ export var rydberg = /* #__PURE__ */createRydberg({
1308
1308
  Unit,
1309
1309
  config
1310
1310
  });
1311
- export var setIntersect = /* #__PURE__ */createSetIntersect({
1312
- DenseMatrix,
1311
+ export var secondRadiation = /* #__PURE__ */createSecondRadiation({
1312
+ BigNumber,
1313
+ Unit,
1314
+ config
1315
+ });
1316
+ export var setSymDifference = /* #__PURE__ */createSetSymDifference({
1313
1317
  Index,
1314
- compareNatural,
1318
+ concat,
1319
+ setDifference,
1315
1320
  size,
1316
1321
  subset,
1317
1322
  typed
@@ -1416,15 +1421,28 @@ export var planckMass = /* #__PURE__ */createPlanckMass({
1416
1421
  Unit,
1417
1422
  config
1418
1423
  });
1419
- export var quantumOfCirculation = /* #__PURE__ */createQuantumOfCirculation({
1420
- BigNumber,
1421
- Unit,
1422
- config
1424
+ export var polynomialRoot = /* #__PURE__ */createPolynomialRoot({
1425
+ add,
1426
+ cbrt,
1427
+ divide,
1428
+ equalScalar,
1429
+ im,
1430
+ isZero,
1431
+ multiply,
1432
+ re,
1433
+ sqrt,
1434
+ subtract,
1435
+ typeOf,
1436
+ typed,
1437
+ unaryMinus
1423
1438
  });
1424
- export var secondRadiation = /* #__PURE__ */createSecondRadiation({
1425
- BigNumber,
1426
- Unit,
1427
- config
1439
+ export var setIntersect = /* #__PURE__ */createSetIntersect({
1440
+ DenseMatrix,
1441
+ Index,
1442
+ compareNatural,
1443
+ size,
1444
+ subset,
1445
+ typed
1428
1446
  });
1429
1447
  export var stirlingS2 = /* #__PURE__ */createStirlingS2({
1430
1448
  bignumber,
@@ -1505,10 +1523,16 @@ export var planckConstant = /* #__PURE__ */createPlanckConstant({
1505
1523
  Unit,
1506
1524
  config
1507
1525
  });
1508
- export var setSymDifference = /* #__PURE__ */createSetSymDifference({
1526
+ export var quantumOfCirculation = /* #__PURE__ */createQuantumOfCirculation({
1527
+ BigNumber,
1528
+ Unit,
1529
+ config
1530
+ });
1531
+ export var setUnion = /* #__PURE__ */createSetUnion({
1509
1532
  Index,
1510
1533
  concat,
1511
- setDifference,
1534
+ setIntersect,
1535
+ setSymDifference,
1512
1536
  size,
1513
1537
  subset,
1514
1538
  typed
@@ -1543,13 +1567,22 @@ export var median = /* #__PURE__ */createMedian({
1543
1567
  partitionSelect,
1544
1568
  typed
1545
1569
  });
1546
- export var setUnion = /* #__PURE__ */createSetUnion({
1547
- Index,
1548
- concat,
1549
- setIntersect,
1550
- setSymDifference,
1551
- size,
1552
- subset,
1570
+ export var kldivergence = /* #__PURE__ */createKldivergence({
1571
+ divide,
1572
+ dotDivide,
1573
+ isNumeric,
1574
+ log,
1575
+ map,
1576
+ matrix,
1577
+ multiply,
1578
+ sum,
1579
+ typed
1580
+ });
1581
+ export var mad = /* #__PURE__ */createMad({
1582
+ abs,
1583
+ map,
1584
+ median,
1585
+ subtract,
1553
1586
  typed
1554
1587
  });
1555
1588
  export var std = /* #__PURE__ */createStd({
@@ -1563,13 +1596,6 @@ export var gasConstant = /* #__PURE__ */createGasConstant({
1563
1596
  Unit,
1564
1597
  config
1565
1598
  });
1566
- export var mad = /* #__PURE__ */createMad({
1567
- abs,
1568
- map,
1569
- median,
1570
- subtract,
1571
- typed
1572
- });
1573
1599
  export var norm = /* #__PURE__ */createNorm({
1574
1600
  abs,
1575
1601
  add,
@@ -1599,15 +1625,18 @@ export var rotationMatrix = /* #__PURE__ */createRotationMatrix({
1599
1625
  typed,
1600
1626
  unaryMinus
1601
1627
  });
1602
- export var kldivergence = /* #__PURE__ */createKldivergence({
1603
- divide,
1604
- dotDivide,
1605
- isNumeric,
1606
- log,
1607
- map,
1628
+ export var planckTime = /* #__PURE__ */createPlanckTime({
1629
+ BigNumber,
1630
+ Unit,
1631
+ config
1632
+ });
1633
+ export var schur = /* #__PURE__ */createSchur({
1634
+ identity,
1608
1635
  matrix,
1609
1636
  multiply,
1610
- sum,
1637
+ norm,
1638
+ qr,
1639
+ subtract,
1611
1640
  typed
1612
1641
  });
1613
1642
  export var rotate = /* #__PURE__ */createRotate({
@@ -1615,8 +1644,27 @@ export var rotate = /* #__PURE__ */createRotate({
1615
1644
  rotationMatrix,
1616
1645
  typed
1617
1646
  });
1618
- export var planckTime = /* #__PURE__ */createPlanckTime({
1619
- BigNumber,
1620
- Unit,
1621
- config
1647
+ export var sylvester = /* #__PURE__ */createSylvester({
1648
+ abs,
1649
+ add,
1650
+ concat,
1651
+ identity,
1652
+ index,
1653
+ lusolve,
1654
+ matrix,
1655
+ matrixFromColumns,
1656
+ multiply,
1657
+ range,
1658
+ schur,
1659
+ subset,
1660
+ subtract,
1661
+ transpose,
1662
+ typed
1663
+ });
1664
+ export var lyap = /* #__PURE__ */createLyap({
1665
+ matrix,
1666
+ multiply,
1667
+ sylvester,
1668
+ transpose,
1669
+ typed
1622
1670
  });
@@ -36,6 +36,7 @@ import { lsolveDocs } from './function/algebra/lsolve.js';
36
36
  import { lsolveAllDocs } from './function/algebra/lsolveAll.js';
37
37
  import { lupDocs } from './function/algebra/lup.js';
38
38
  import { lusolveDocs } from './function/algebra/lusolve.js';
39
+ import { polynomialRootDocs } from './function/algebra/polynomialRoot.js';
39
40
  import { qrDocs } from './function/algebra/qr.js';
40
41
  import { rationalizeDocs } from './function/algebra/rationalize.js';
41
42
  import { resolveDocs } from './function/algebra/resolve.js';
@@ -78,6 +79,9 @@ import { roundDocs } from './function/arithmetic/round.js';
78
79
  import { signDocs } from './function/arithmetic/sign.js';
79
80
  import { sqrtDocs } from './function/arithmetic/sqrt.js';
80
81
  import { sqrtmDocs } from './function/arithmetic/sqrtm.js';
82
+ import { sylvesterDocs } from './function/matrix/sylvester.js';
83
+ import { schurDocs } from './function/matrix/schur.js';
84
+ import { lyapDocs } from './function/matrix/lyap.js';
81
85
  import { squareDocs } from './function/arithmetic/square.js';
82
86
  import { subtractDocs } from './function/arithmetic/subtract.js';
83
87
  import { unaryMinusDocs } from './function/arithmetic/unaryMinus.js';
@@ -478,6 +482,7 @@ export var embeddedDocs = {
478
482
  lup: lupDocs,
479
483
  lusolve: lusolveDocs,
480
484
  leafCount: leafCountDocs,
485
+ polynomialRoot: polynomialRootDocs,
481
486
  resolve: resolveDocs,
482
487
  simplify: simplifyDocs,
483
488
  simplifyConstant: simplifyConstantDocs,
@@ -599,6 +604,9 @@ export var embeddedDocs = {
599
604
  zeros: zerosDocs,
600
605
  fft: fftDocs,
601
606
  ifft: ifftDocs,
607
+ sylvester: sylvesterDocs,
608
+ schur: schurDocs,
609
+ lyap: lyapDocs,
602
610
  // functions - probability
603
611
  combinations: combinationsDocs,
604
612
  combinationsWithRep: combinationsWithRepDocs,
@@ -0,0 +1,8 @@
1
+ export var polynomialRootDocs = {
2
+ name: 'polynomialRoot',
3
+ category: 'Algebra',
4
+ syntax: ['x=polynomialRoot(-6, 3)', 'x=polynomialRoot(4, -4, 1)', 'x=polynomialRoot(-8, 12, -6, 1)'],
5
+ description: 'Finds the roots of a univariate polynomial given by its coefficients starting from constant, linear, and so on, increasing in degree.',
6
+ examples: ['a = polynomialRoot(-6, 11, -6 1)'],
7
+ seealso: ['cbrt', 'sqrt']
8
+ };
@@ -0,0 +1,8 @@
1
+ export var lyapDocs = {
2
+ name: 'lyap',
3
+ category: 'Matrix',
4
+ syntax: ['lyap(A,Q)'],
5
+ description: 'Solves the Continuous-time Lyapunov equation AP+PA\'+Q=0 for P',
6
+ examples: ['lyap([[-2, 0], [1, -4]], [[3, 1], [1, 3]])', 'lyap(A,Q)'],
7
+ seealso: ['schur', 'sylvester']
8
+ };
@@ -3,6 +3,6 @@ export var reshapeDocs = {
3
3
  category: 'Matrix',
4
4
  syntax: ['reshape(x, sizes)'],
5
5
  description: 'Reshape a multi dimensional array to fit the specified dimensions.',
6
- examples: ['reshape([1, 2, 3, 4, 5, 6], [2, 3])', 'reshape([[1, 2], [3, 4]], [1, 4])', 'reshape([[1, 2], [3, 4]], [4])'],
6
+ examples: ['reshape([1, 2, 3, 4, 5, 6], [2, 3])', 'reshape([[1, 2], [3, 4]], [1, 4])', 'reshape([[1, 2], [3, 4]], [4])', 'reshape([1, 2, 3, 4], [-1, 2])'],
7
7
  seealso: ['size', 'squeeze', 'resize']
8
8
  };
@@ -0,0 +1,8 @@
1
+ export var schurDocs = {
2
+ name: 'schur',
3
+ category: 'Matrix',
4
+ syntax: ['schur(A)'],
5
+ description: 'Performs a real Schur decomposition of the real matrix A = UTU\'',
6
+ examples: ['schur([[1, 0], [-4, 3]])', 'schur(A)'],
7
+ seealso: ['lyap', 'sylvester']
8
+ };
@@ -0,0 +1,8 @@
1
+ export var sylvesterDocs = {
2
+ name: 'sylvester',
3
+ category: 'Matrix',
4
+ syntax: ['sylvester(A,B,C)'],
5
+ description: 'Solves the real-valued Sylvester equation AX+XB=C for X',
6
+ examples: ['sylvester([[-1, -2], [1, 1]], [[-2, 1], [-1, 2]], [[-3, 2], [3, 0]])', 'sylvester(A,B,C)'],
7
+ seealso: ['schur', 'lyap']
8
+ };
@@ -210,6 +210,7 @@ export { createLup } from './function/algebra/decomposition/lup.js';
210
210
  export { createQr } from './function/algebra/decomposition/qr.js';
211
211
  export { createSlu } from './function/algebra/decomposition/slu.js';
212
212
  export { createLusolve } from './function/algebra/solver/lusolve.js';
213
+ export { createPolynomialRoot } from './function/algebra/polynomialRoot.js';
213
214
  export { createHelpClass } from './expression/Help.js';
214
215
  export { createChainClass } from './type/chain/Chain.js';
215
216
  export { createHelp } from './expression/function/help.js';
@@ -220,6 +221,9 @@ export { createPinv } from './function/matrix/pinv.js';
220
221
  export { createEigs } from './function/matrix/eigs.js';
221
222
  export { createExpm } from './function/matrix/expm.js';
222
223
  export { createSqrtm } from './function/matrix/sqrtm.js';
224
+ export { createSylvester } from './function/algebra/sylvester.js';
225
+ export { createSchur } from './function/algebra/decomposition/schur.js';
226
+ export { createLyap } from './function/algebra/lyap.js';
223
227
  export { createDivide } from './function/arithmetic/divide.js';
224
228
  export { createDistance } from './function/geometry/distance.js';
225
229
  export { createIntersect } from './function/geometry/intersect.js';
@@ -0,0 +1,70 @@
1
+ import { factory } from '../../../utils/factory.js';
2
+ var name = 'schur';
3
+ var dependencies = ['typed', 'matrix', 'identity', 'multiply', 'qr', 'norm', 'subtract'];
4
+ export var createSchur = /* #__PURE__ */factory(name, dependencies, _ref => {
5
+ var {
6
+ typed,
7
+ matrix,
8
+ identity,
9
+ multiply,
10
+ qr,
11
+ norm,
12
+ subtract
13
+ } = _ref;
14
+ /**
15
+ *
16
+ * Performs a real Schur decomposition of the real matrix A = UTU' where U is orthogonal
17
+ * and T is upper quasi-triangular.
18
+ * https://en.wikipedia.org/wiki/Schur_decomposition
19
+ *
20
+ * Syntax:
21
+ *
22
+ * math.schur(A)
23
+ *
24
+ * Examples:
25
+ *
26
+ * const A = [[1, 0], [-4, 3]]
27
+ * math.schur(A) // returns {T: [[3, 4], [0, 1]], R: [[0, 1], [-1, 0]]}
28
+ *
29
+ * See also:
30
+ *
31
+ * sylvester, lyap, qr
32
+ *
33
+ * @param {Array | Matrix} A Matrix A
34
+ * @return {{U: Array | Matrix, T: Array | Matrix}} Object containing both matrix U and T of the Schur Decomposition A=UTU'
35
+ */
36
+ return typed(name, {
37
+ Array: function Array(X) {
38
+ var r = _schur(matrix(X));
39
+ return {
40
+ U: r.U.valueOf(),
41
+ T: r.T.valueOf()
42
+ };
43
+ },
44
+ Matrix: function Matrix(X) {
45
+ return _schur(X);
46
+ }
47
+ });
48
+ function _schur(X) {
49
+ var n = X.size()[0];
50
+ var A = X;
51
+ var U = identity(n);
52
+ var k = 0;
53
+ var A0;
54
+ do {
55
+ A0 = A;
56
+ var QR = qr(A);
57
+ var Q = QR.Q;
58
+ var R = QR.R;
59
+ A = multiply(R, Q);
60
+ U = multiply(U, Q);
61
+ if (k++ > 100) {
62
+ break;
63
+ }
64
+ } while (norm(subtract(A, A0)) > 1e-4);
65
+ return {
66
+ U,
67
+ T: A
68
+ };
69
+ }
70
+ });
@@ -0,0 +1,52 @@
1
+ import { factory } from '../../utils/factory.js';
2
+ var name = 'lyap';
3
+ var dependencies = ['typed', 'matrix', 'sylvester', 'multiply', 'transpose'];
4
+ export var createLyap = /* #__PURE__ */factory(name, dependencies, _ref => {
5
+ var {
6
+ typed,
7
+ matrix,
8
+ sylvester,
9
+ multiply,
10
+ transpose
11
+ } = _ref;
12
+ /**
13
+ *
14
+ * Solves the Continuous-time Lyapunov equation AP+PA'+Q=0 for P, where
15
+ * Q is an input matrix. When Q is symmetric, P is also symmetric. Notice
16
+ * that different equivalent definitions exist for the Continuous-time
17
+ * Lyapunov equation.
18
+ * https://en.wikipedia.org/wiki/Lyapunov_equation
19
+ *
20
+ * Syntax:
21
+ *
22
+ * math.lyap(A, Q)
23
+ *
24
+ * Examples:
25
+ *
26
+ * const A = [[-2, 0], [1, -4]]
27
+ * const Q = [[3, 1], [1, 3]]
28
+ * const P = math.lyap(A, Q)
29
+ *
30
+ * See also:
31
+ *
32
+ * sylvester, schur
33
+ *
34
+ * @param {Matrix | Array} A Matrix A
35
+ * @param {Matrix | Array} Q Matrix Q
36
+ * @return {Matrix | Array} Matrix P solution to the Continuous-time Lyapunov equation AP+PA'=Q
37
+ */
38
+ return typed(name, {
39
+ 'Matrix, Matrix': function MatrixMatrix(A, Q) {
40
+ return sylvester(A, transpose(A), multiply(-1, Q));
41
+ },
42
+ 'Array, Matrix': function ArrayMatrix(A, Q) {
43
+ return sylvester(matrix(A), transpose(matrix(A)), multiply(-1, Q));
44
+ },
45
+ 'Matrix, Array': function MatrixArray(A, Q) {
46
+ return sylvester(A, transpose(matrix(A)), matrix(multiply(-1, Q)));
47
+ },
48
+ 'Array, Array': function ArrayArray(A, Q) {
49
+ return sylvester(matrix(A), transpose(matrix(A)), matrix(multiply(-1, Q))).toArray();
50
+ }
51
+ });
52
+ });