CMULTIPLY etc Instructions |
CMULTIPLY( options ) cseries1 cseries2 start end newcseries newstart
CADD cseries1 cseries2 start end newcseries newstart
CDIVIDE cseries1 cseries2 start end newcseries newstart
CSUBTRACT cseries1 cseries2 start end newcseries newstart
The last three add, divide, and subtract a pair of complex series, respectively. The most important of the instructions is CMULTIPLY which multiplies one complex series by the complex conjugate of another. Typically, it is applied to Fourier transformed series to construct the periodogram or cross-periodogram.
Parameters
|
cseries1, cseries2 |
source series |
|
start, end |
range to transform, by default maximum common range of cseries1 and cseries2 |
|
newcseries |
result series, by default, cseries1 |
|
newstart |
start for newcseries, by default start |
Option (CMULTIPLY only)
SCALE=real expression [unused]
Multiplies newcseries by a scalar. Usually 1./(2\(\pi\)*number of observations) when computing spectral density estimates.
Notes
CMULTIPLY is the instruction generally used to convert a Fourier transform into a spectrum and cross-spectrum. The proper scaling factor for spectral estimates is SCALE=1./(2*%PI*N), where N is the number of actual data points and not the padded length. If you use a taper, you should use the %SCALETAP variable defined by TAPER instead of N.
Examples
cmult(scale=1./(2*%pi*nobs)) 1 1
cmult 1 2 / 3
The first replaces series 1 by its squared absolute value (series 1 times its complex conjugate), divided by \(2\pi \text{NOBS}\). The second sets 3 equal to the product of 1 and the conjugate of 2.
Copyright © 2026 Thomas A. Doan