dotMultiply.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.createDotMultiply = void 0;
  6. var _factory = require("../../utils/factory.js");
  7. var _matAlgo02xDS = require("../../type/matrix/utils/matAlgo02xDS0.js");
  8. var _matAlgo09xS0Sf = require("../../type/matrix/utils/matAlgo09xS0Sf.js");
  9. var _matAlgo11xS0s = require("../../type/matrix/utils/matAlgo11xS0s.js");
  10. var _matrixAlgorithmSuite = require("../../type/matrix/utils/matrixAlgorithmSuite.js");
  11. var name = 'dotMultiply';
  12. var dependencies = ['typed', 'matrix', 'equalScalar', 'multiplyScalar', 'concat'];
  13. var createDotMultiply = /* #__PURE__ */(0, _factory.factory)(name, dependencies, function (_ref) {
  14. var typed = _ref.typed,
  15. matrix = _ref.matrix,
  16. equalScalar = _ref.equalScalar,
  17. multiplyScalar = _ref.multiplyScalar,
  18. concat = _ref.concat;
  19. var matAlgo02xDS0 = (0, _matAlgo02xDS.createMatAlgo02xDS0)({
  20. typed: typed,
  21. equalScalar: equalScalar
  22. });
  23. var matAlgo09xS0Sf = (0, _matAlgo09xS0Sf.createMatAlgo09xS0Sf)({
  24. typed: typed,
  25. equalScalar: equalScalar
  26. });
  27. var matAlgo11xS0s = (0, _matAlgo11xS0s.createMatAlgo11xS0s)({
  28. typed: typed,
  29. equalScalar: equalScalar
  30. });
  31. var matrixAlgorithmSuite = (0, _matrixAlgorithmSuite.createMatrixAlgorithmSuite)({
  32. typed: typed,
  33. matrix: matrix,
  34. concat: concat
  35. });
  36. /**
  37. * Multiply two matrices element wise. The function accepts both matrices and
  38. * scalar values.
  39. *
  40. * Syntax:
  41. *
  42. * math.dotMultiply(x, y)
  43. *
  44. * Examples:
  45. *
  46. * math.dotMultiply(2, 4) // returns 8
  47. *
  48. * a = [[9, 5], [6, 1]]
  49. * b = [[3, 2], [5, 2]]
  50. *
  51. * math.dotMultiply(a, b) // returns [[27, 10], [30, 2]]
  52. * math.multiply(a, b) // returns [[52, 28], [23, 14]]
  53. *
  54. * See also:
  55. *
  56. * multiply, divide, dotDivide
  57. *
  58. * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x Left hand value
  59. * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Right hand value
  60. * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Multiplication of `x` and `y`
  61. */
  62. return typed(name, matrixAlgorithmSuite({
  63. elop: multiplyScalar,
  64. SS: matAlgo09xS0Sf,
  65. DS: matAlgo02xDS0,
  66. Ss: matAlgo11xS0s
  67. }));
  68. });
  69. exports.createDotMultiply = createDotMultiply;