Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Essential Math Module User's Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

4.3 Transforms of Even and Odd Sequences

If the original sequence is an even or odd sequence, there is an additional symmetry that can be exploited. Consider a cosine wave:

This is an example of an even sequence, V(j) = V(–j) = V(N–j). It is possible to transform an N-point even or odd real sequence as an N/4-point complex sequence. This is the approach DoubleCosineServer takes. Instead of feeding the server the full N-point real sequence, you give the DoubleCosineServer only the lower half of it, V(j), j=0, ..., N/2, a total of only N/2+1 points.

Here's an example:

Program output (exact results depend on machine precision):

Note that the results are real: the transform of a real even (or odd) sequence is a real even (or odd) sequence. Also note that the DoubleCosineServer returns only the lower half of that sequence. The global function expandEven() could be used to expand it into the full real sequence. See the RWMathVec description in the SourcePro C++ API Reference Guide.



Previous fileTop of DocumentContentsNo linkNext file

Copyright © Rogue Wave Software, Inc. All Rights Reserved.

The Rogue Wave name and logo, and SourcePro, are registered trademarks of Rogue Wave Software. All other trademarks are the property of their respective owners.
Provide feedback to Rogue Wave about its documentation.