\HeaderA{prod}{Product of Vector Elements}{prod}
\keyword{arith}{prod}
\begin{Description}\relax
\code{prod} returns the product of all the values
present in its arguments.
\end{Description}
\begin{Usage}
\begin{verbatim}
prod(..., na.rm = FALSE)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{...}] numeric or complex or logical vectors.
\item[\code{na.rm}] logical.  Should missing values be removed?
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
If \code{na.rm} is \code{FALSE} an \code{NA}
value in any of the arguments will cause
a value of \code{NA} to be returned, otherwise
\code{NA} values are ignored.

This is a generic function: methods can be defined for it
directly or via the \code{\LinkA{Summary}{Summary}} group generic.
For this to work properly, the arguments \code{...} should be
unnamed, and dispatch is on the first argument.

Logical true values are regarded as one, false values as zero.
For historical reasons, \code{NULL} is accepted and treated as if it
were \code{numeric(0)}.
\end{Details}
\begin{Value}
The product, a numeric (of type \code{"double"}) or complex vector of length one.
\strong{NB:} the product of an empty set is one, by definition.
\end{Value}
\begin{Section}{S4 methods}
This is part of the S4 \code{\LinkA{Summary}{Summary}}
group generic.  Methods for it must use the signature
\code{x, ..., na.rm}.
\end{Section}
\begin{References}\relax
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
\emph{The New S Language}.
Wadsworth \& Brooks/Cole.
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{sum}{sum}},
\code{\LinkA{cumprod}{cumprod}}, \code{\LinkA{cumsum}{cumsum}}.

\sQuote{\LinkA{plotmath}{plotmath}} for the use of \code{prod} in plot annotation.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
print(prod(1:7)) == print(gamma(8))
\end{ExampleCode}
\end{Examples}

