MADmap(2)                                                            MADmap(2)




NAME

       MADmap version 2- CMB maximum likelihood map solver


SYNOPSIS

       MADmap -r runConfig.xml | -R runConfig.xml.bin [options]


DESCRIPTION

       MADmap  is  a maximum likelihood map making routine for converting time
       ordered data sets into pixelized sky maps.

       MADmap evaluates the following equation:

          m = inv(A'*inv(N)*A)*A'*inv(N)*d

       where A is the pointing matrix (and A' is A transpose), N is  the  time
       time noise covariance matrix (and inv(N) is the inverse of N), d is the
       time ordered data vector, and m is the  maximum  likelihood  pixel  map
       vector given N and d.

       This  calculation  is done by assuming that inv(N) is band diagonal and
       Toeplitz (note that because N is a covariance matrix, N and inv(N)  are
       symmetric  and  positive definite).  That is to say that we assume that
       the operation of inv(N) is equivalent to a convolution with a band lim-
       ited  kernel  (i.e. a kernel which is zero beyond some band width which
       is shorter than the length of the observation).   This  convolution  is
       done  in  the  Fourier domain by way of the convolution theorem, so the
       operation of inv(N) can be done in O(n_t ln( n_b )) calculations  where
       n_b  is the band width of inv(N)'s diagonal (i.e. the width of the ker-
       nel).

       Given that we can calculate the operation of inv(N)  on  a  vector,  we
       still need to evaluate the following linear operator:

         inv(A'*inv(N)*A)

       This  is  done  by preconditioned conjugate gradient method, where each
       iteration of the conjugate gradient routine involves the inv(N)  opera-
       tor  which  we calculate as described above.  The preconditioner is the
       pixel domain diagonal matrix with the one over the number  of  observa-
       tions  in  each  pixel along the diagonal.  For most CMB data sets this
       converges with a relative residual of 1e-5 in approximately  30  itera-
       tions.

       MADmap includes the capability to solve for a column of the pixel pixel
       noise covariance matrix.  This operation is optional, and  is  done  in
       the place of map makeing.


OPTIONS

       -r runConfig.xml
              The run configuration file.

       -R runConfig.xml.bin
              The  run configuration file in binary form as output by testRun-
              Config.

       -e maxRelErrorPCG
              Maximum relative error allowed in PCG  routine  to  compute  the
              action of inv(inv(N)).  The default value for this is 1e-6.  For
              a guess at the final map m, the time stream d, the noise  corre-
              lation matrix N and the pointing matrix A, the relative residual
              is defined as follows:
                    | (A'*inv(N)) * (A*m - d) |
                e = ---------------------------
                        | (A'*inv(N)) * d |
              Not e that * is the dot product, x' means x transpose, and | x |
              is the Euclidean norm of the vector x ( i.e. sqrt(x'*x) ).

       -i maxItsPCG
              Specifies  the  Maximum  number  of iterations in PCG routine to
              compute the action of inv(inv(N)).  The default value  for  this
              is 50.

       -m mapSuffix
              The  run  configuration  file  specifies the base names for each
              class of pixels.  The mapSuffix will be  appended  to  the  base
              names for this particular run.  The default value is ".out".

       -n noiseSuffix
              If  this  option  is given, then MADmap will compute a column of
              the noise correlation matrix, and will  not  make  a  map.   The
              parameter  given with this option specifies the suffix that will
              be appended to the class base names for the  output  correlation
              maps.   If this option is given then -c and -p options must also
              be specified.

       -c className
              This option specifies the name of the class  of  the  pixel  for
              which the correlations will be computed.

       -p pixelNumber
              This  option  specifies  the pixel number of the pixel for which
              the correlations will be computed.

       -s     Restart from checkpoint files created  by  a  previous  call  to
              MADmap.

       -l     Run in low memory mode, by default high memory mode is used.

       -l+    Run in extremely low memory mode, by default high memory mode is
              used.

       -ds    Run in the stacked data distribution the default is the concati-
              nated distribution.

       -dc    Run in the concatinated data distribution this is the default.

       -dm stride
              Run  in  the  multi-stacked  data  distribution  with the stride
              given.

       -q     Run in quiet mode (does not output  set  intervals  to  standard
              output).



ENVIRONMENT VARIABLES

       Environment variables that impact how MADmap runs.


       MM_FFT_LENGTH
              Fixes the length of all FFT's performed overriding the option to
              optimize the length.

       MM_CHECKPOINT_FREQ
              Determines the number of PCG iterations  between  the  write  of
              each checkpoint to disk.  The default value is 20.

       M3_DISK_BUFFER_SIZE
              The M3 environment variable that controls the size of the buffer
              used in buffered reads from disk.

       M3_MPI_BUFFER_SIZE
              The M3 environment variable that controls the size of the buffer
              used in buffered MPI calls.


SEE ALSO

       fftw(1)

       More  extensive  html  documentation  should have been distributed with
       this software.  This html documentation can also be found on the web at
       http://www.nersc.gov/~cmc/MADmap/doc




COPYRIGHT

       Copyright (C) 2004  Christopher M. Cantalupo

       MADmap 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 MER-
       CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  General
       Public License for more details.

       Christopher Cantalupo <cmc@nersc.gov>

       Send bug reports or comments to the above address.



                                 June 5, 2009                        MADmap(2)

Man(1) output converted with man2html