Skip to contents

Multiplies tensor elements along the specified dimensions.

Usage

nvl_reduce_prod(operand, dims, drop = TRUE)

Arguments

operand

(tensorish)
Tensorish value of any data type.

dims

(integer())
Dimensions to reduce over.

drop

(logical(1))
Whether to drop the reduced dimensions from the output shape. If TRUE, the reduced dimensions are removed. If FALSE, the reduced dimensions are set to 1.

Value

tensorish
Has the same data type as the input. When drop = TRUE, the shape is that of operand with dims removed. When drop = FALSE, the shape is that of operand with dims set to 1. It is ambiguous if the input is ambiguous.

Implemented Rules

  • stablehlo

  • backward

StableHLO

Lowers to stablehlo::hlo_reduce() with stablehlo::hlo_multiply() as the reducer.

See also

Examples

jit_eval({
  x <- nv_tensor(matrix(1:6, nrow = 2))
  nvl_reduce_prod(x, dims = 1L)
})
#> AnvilTensor
#>   2
#>  12
#>  30
#> [ CPUi32{3} ]