Manpage of invNMatrixMult
Section: User Commands (1)
Return to Main Contents
void invNMatrixMult( char *todFileName, char *noiseCovFileName, int numPix, int filterLength, int bandWidth, int8 maxMemoryPerProc, flt8 *input, flt8 *output, int memoryFlag, MPI_Comm );
This function computes the inverse noise correlation matrix
doted with a pixel or time domain vector. The output is in the
pixel domain. This operation is done in the time domain. The
pointing information is read in from a time ordered data file. The inverse
time time noise correlation files are read in order to derive the inverse
time time noise correlation matrix. For more information about the
format of the time ordered data file or the inverse time time noise
correlation files see NMatrixMult.h or MADmap(1).
This function takes the following input:
A string which contains the name of the time ordered data
file. See NMatrixMult.h or MADmap(1) for more information
about the format of this file. If input is
NULL then the input will be the time domain vector stored
in the time ordered data file. If input is not NULL then
this file will be read only for pointing information.
A string which contains the root of the names of the
inverse time-time noise correlation files. See
NMatrixMult.h or MADmap(1) for information about the
format of these files. If noiseCovFileName were
"inv_tt_noise" then the inverse time time noise
correlation files would be "inv_tt_noise.0", "inv_tt_noise.1", etc.
The number of pixels in the map.
The size chunk that the FFT's will be done in. This
should be a power of two for best performance. Note that
filterLength must be larger than 2*bandWidth, and can be
much longer. For optimum performance filterLength should
be the smallest power of two such that
filterLength / (ln(filterLength) + 1) >= bandWidth - 1.
But note that for best performance filterLength should not
be longer than the stationary time scale of the the noise.
The width of the non-zero band along the diagonal of inv(N).
note that this is 2*c + 1 where c is the maximum inverse
time time noise correlation length.
The maximum number of bytes which each processor will be
allowed to allocate.
Maximum number of iterations in PCG routine to compute the
action of inv(inv(N)).
Maximum relative error allowed in PCG routine to compute
the action of inv(inv(N)).
Input pixel vector to operate on. If we were computing inv(N)*x = b,
input is "x". If input is NULL then the time vector in the
time ordered data file will be used instead.
Output pixel vector to compute. If we were computing inv(N)*x = b,
output is b.
The MPI communicator on which the computation should be done.
Copyright (C) 2002 Christopher M. Cantalupo
invNMatrixMult is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Christopher Cantalupo <email@example.com>
Send bug reports or comments to the above address.
MADmap, NMatrixMult, filterVector, fftw, rfftw.
- SEE ALSO
This document was created by
using the manual pages.
Time: 20:11:22 GMT, October 23, 2002