Purpose
To compute the general product of K complex scalars trying to avoid over- and underflow.Specification
SUBROUTINE MA01BZ( BASE, K, S, A, INCA, ALPHA, BETA, SCAL )
C .. Scalar Arguments ..
INTEGER INCA, K, SCAL
DOUBLE PRECISION BASE
COMPLEX*16 ALPHA, BETA
C .. Array Arguments ..
INTEGER S(*)
COMPLEX*16 A(*)
Arguments
Input/Output Parameters
BASE (input) DOUBLE PRECISION
Machine base.
K (input) INTEGER
The number of scalars. K >= 1.
S (input) INTEGER array, dimension (K)
The signature array. Each entry of S must be 1 or -1.
A (input) COMPLEX*16 array, dimension (K)
Vector of complex scalars.
INCA (input) INTEGER
Increment for the array A. INCA <> 0.
ALPHA (output) COMPLEX*16
ALPHA is a complex scalar with ABS(ALPHA) = 0, or
1.0 <= ABS(ALPHA) < BASE, such that
ALPHA / BETA * BASE**(SCAL)
is the general product of the scalars in the array A.
BETA (output) COMPLEX*16
BETA is either 0.0 or 1.0.
See also the description of ALPHA.
SCAL (output) INTEGER
Scaling factor exponent, see ALPHA.
Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None