SHC_INNER_PRODUCT(3)
NAME
shc_inner_product: The inner product of an array of data
vectors with an array of function value masks, specifically
designed for estimation of spherical harmonic coefficients.
Syntax
#include <soi_sds.h>
#include <soi_error.h>
int shc_inner_product (even_real, even_imag, odd_real, odd_imag, masks,
l_min, l_max, delta_m, double d_m, ip_real, ip_imag)
SDS *even_real, *even_imag, *odd_real, *odd_imag;
SDS *masks;
int l_min, l_max, delta_m;
double d_m;
SDS *ip_real, *ip_imag;
DESCRIPTION
Input to the program are pointers to SDS typedefs for the
folded data from a Fourier transform along rows of remapped
data. The folded data consist of even and odd "parity."
This parity corresponds to that of l+m, where l is the
degree and m the order of the spherical harmonic correspond-
ing to the associated Legendre function mask data. Real and
imaginary components are used. Also input in an SDS dataset
are the mask elements.
Outputs are SDS data members for the real and imaginary com-
ponents of the resultant inner product.
The input data are considered K sets of vectors of length N
the inner product of which with a set of "masks" of the
same length.
For N elements, the equations for an inner product are
2N-1
---
z = \ x . y , j = 0, 1, ..., J-1
j / nj nj
---
n = 0
J < = K.
j' = round(d_m . m)
K is the number of columns of data and J the number of
masks.
Because the masks are either symmetric or antisymmetric for
spherical harmonics, the equations implemented for N ele-
ments each vector.
N-1
---
z = \ x' . y , j = 0, 1, ..., J-1
k / nj nj
---
n = 0
x' = x + x for use with symmetric spherical harmonics
nj nj N-1-n j
x' = x - x for use with antisymmetric spherical harmonics
nj nj N-1-n j
KEYWORDS
Input parameters:
data_cols Width of input array
masks_cols Height of input array = columns in each mask.
l_min Minimum degree
l_max Maximum degree
delta_m Interval between values of order used
d_m The ratio of the data column to be used to
m.
RESTRICTIONS
Every l from minimum to maximum is assumed to be used. Max-
imum m is assumed to be equal to maximum l.
BUGS
The program was tested in another directory using the old
soi_sds.h. It compiles with the latest (1993 October 1)
version of soi_sds.h.
HSITORY
1993.11.24 lyle bacon Created for SOI V.0.7.
1993.02.08 lyle bacon Verion 0.8