dotDivide.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import { factory } from '../../utils/factory.js';
  2. import { createMatAlgo02xDS0 } from '../../type/matrix/utils/matAlgo02xDS0.js';
  3. import { createMatAlgo03xDSf } from '../../type/matrix/utils/matAlgo03xDSf.js';
  4. import { createMatAlgo07xSSf } from '../../type/matrix/utils/matAlgo07xSSf.js';
  5. import { createMatAlgo11xS0s } from '../../type/matrix/utils/matAlgo11xS0s.js';
  6. import { createMatAlgo12xSfs } from '../../type/matrix/utils/matAlgo12xSfs.js';
  7. import { createMatrixAlgorithmSuite } from '../../type/matrix/utils/matrixAlgorithmSuite.js';
  8. var name = 'dotDivide';
  9. var dependencies = ['typed', 'matrix', 'equalScalar', 'divideScalar', 'DenseMatrix'];
  10. export var createDotDivide = /* #__PURE__ */factory(name, dependencies, _ref => {
  11. var {
  12. typed,
  13. matrix,
  14. equalScalar,
  15. divideScalar,
  16. DenseMatrix
  17. } = _ref;
  18. var matAlgo02xDS0 = createMatAlgo02xDS0({
  19. typed,
  20. equalScalar
  21. });
  22. var matAlgo03xDSf = createMatAlgo03xDSf({
  23. typed
  24. });
  25. var matAlgo07xSSf = createMatAlgo07xSSf({
  26. typed,
  27. DenseMatrix
  28. });
  29. var matAlgo11xS0s = createMatAlgo11xS0s({
  30. typed,
  31. equalScalar
  32. });
  33. var matAlgo12xSfs = createMatAlgo12xSfs({
  34. typed,
  35. DenseMatrix
  36. });
  37. var matrixAlgorithmSuite = createMatrixAlgorithmSuite({
  38. typed,
  39. matrix
  40. });
  41. /**
  42. * Divide two matrices element wise. The function accepts both matrices and
  43. * scalar values.
  44. *
  45. * Syntax:
  46. *
  47. * math.dotDivide(x, y)
  48. *
  49. * Examples:
  50. *
  51. * math.dotDivide(2, 4) // returns 0.5
  52. *
  53. * a = [[9, 5], [6, 1]]
  54. * b = [[3, 2], [5, 2]]
  55. *
  56. * math.dotDivide(a, b) // returns [[3, 2.5], [1.2, 0.5]]
  57. * math.divide(a, b) // returns [[1.75, 0.75], [-1.75, 2.25]]
  58. *
  59. * See also:
  60. *
  61. * divide, multiply, dotMultiply
  62. *
  63. * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} x Numerator
  64. * @param {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} y Denominator
  65. * @return {number | BigNumber | Fraction | Complex | Unit | Array | Matrix} Quotient, `x ./ y`
  66. */
  67. return typed(name, matrixAlgorithmSuite({
  68. elop: divideScalar,
  69. SS: matAlgo07xSSf,
  70. DS: matAlgo03xDSf,
  71. SD: matAlgo02xDS0,
  72. Ss: matAlgo11xS0s,
  73. sS: matAlgo12xSfs
  74. }));
  75. });