#
Fortran Wiki

product

## Description

Multiplies the elements of `array`

along dimension `dim`

if the corresponding element in `mask`

is `true`

.

## Standard

Fortran 95 and later

## Class

Transformational function

## Syntax

`result = product(array[, mask])`

`result = product(array, dim[, mask])`

## Arguments

`array`

- Shall be an array of type `integer`

, `real`

or `complex`

.
`dim`

- (Optional) shall be a scalar of type `integer`

with a value in the range from 1 to n, where n equals the rank of `array`

.
`mask`

- (Optional) shall be of type `logical`

and either be a scalar or an array of the same shape as `array`

.

## Return value

The result is of the same type as `array`

.

If `dim`

is absent, a scalar with the product of all elements in `array`

is returned. Otherwise, an array of rank n-1, where n equals the rank of `array`

, and a shape similar to that of `array`

with dimension `dim`

dropped is returned.

## Example

```
program test_product
integer :: x(5) = (/ 1, 2, 3, 4 ,5 /)
print *, product(x)
print *, product(x, mask=mod(x, 2)==1)
end program
```

## See also

sum, note that an element by element multiplication is done directly using the star character.

Revised on September 4, 2010 09:25:48
by

Jason Blevins
(174.101.53.244)
(1320 characters / 0.0 pages)