dotPow.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.createDotPow = void 0;
  6. var _factory = require("../../utils/factory.js");
  7. var _matAlgo03xDSf = require("../../type/matrix/utils/matAlgo03xDSf.js");
  8. var _matAlgo07xSSf = require("../../type/matrix/utils/matAlgo07xSSf.js");
  9. var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
  10. var _matAlgo12xSfs = require("../../type/matrix/utils/matAlgo12xSfs.js");
  11. var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
  12. var name = 'dotPow';
  13. var dependencies = ['typed', 'equalScalar', 'matrix', 'pow', 'DenseMatrix', 'concat'];
  14. var createDotPow = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
  15. var typed = _ref.typed,
  16. equalScalar = _ref.equalScalar,
  17. matrix = _ref.matrix,
  18. pow = _ref.pow,
  19. DenseMatrix = _ref.DenseMatrix,
  20. concat = _ref.concat;
  21. var matAlgo03xDSf = (0, _matAlgo03xDSf.createMatAlgo03xDSf)({
  22. typed: typed
  23. });
  24. var matAlgo07xSSf = (0, _matAlgo07xSSf.createMatAlgo07xSSf)({
  25. typed: typed,
  26. DenseMatrix: DenseMatrix
  27. });
  28. var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
  29. typed: typed,
  30. equalScalar: equalScalar
  31. });
  32. var matAlgo12xSfs = (0, _matAlgo12xSfs.createMatAlgo12xSfs)({
  33. typed: typed,
  34. DenseMatrix: DenseMatrix
  35. });
  36. var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
  37. typed: typed,
  38. matrix: matrix,
  39. concat: concat
  40. });
  41. var powScalarSignatures = {};
  42. for (var signature in pow.signatures) {
  43. if (Object.prototype.hasOwnProperty.call(pow.signatures, signature)) {
  44. if (!signature.includes('Matrix') && !signature.includes('Array')) {
  45. powScalarSignatures[signature] = pow.signatures[signature];
  46. }
  47. }
  48. }
  49. var powScalar = typed(powScalarSignatures);
  50. /**
  51. * Calculates the power of x to y element wise.
  52. *
  53. * Syntax:
  54. *
  55. * math.dotPow(x, y)
  56. *
  57. * Examples:
  58. *
  59. * math.dotPow(2, 3) // returns number 8
  60. *
  61. * const a = [[1, 2], [4, 3]]
  62. * math.dotPow(a, 2) // returns Array [[1, 4], [16, 9]]
  63. * math.pow(a, 2) // returns Array [[9, 8], [16, 17]]
  64. *
  65. * See also:
  66. *
  67. * pow, sqrt, multiply
  68. *
  69. * @param {number | BigNumber | Complex | Unit | Array | Matrix} x The base
  70. * @param {number | BigNumber | Complex | Unit | Array | Matrix} y The exponent
  71. * @return {number | BigNumber | Complex | Unit | Array | Matrix} The value of `x` to the power `y`
  72. */
  73. return typed(name, matrixAlgorithmSuite({
  74. elop: powScalar,
  75. SS: matAlgo07xSSf,
  76. DS: matAlgo03xDSf,
  77. Ss: matAlgo11xS0s,
  78. sS: matAlgo12xSfs
  79. }));
  80. });
  81. exports.createDotPow = createDotPow;