Iterative map-making methods for Cosmic Microwave Background data analysis
Xavier Dupac
The map-making process of Cosmic Microwave Background data involves linear inversion problems which cannot be performed by a brute force approach for the large timelines of most modern experiments. We present optimal iterative map-making methods, both COBE and Wiener, and apply these methods on simulated data. They produce very well restored maps, by removing nearly completely the correlated noise that appears as intense stripes on the simply pixel-averaged maps.
aipcheck.tex
%
% $Id: aipcheck.tex,v 1.4 2001/01/31 20:46:55 latex3 Exp $
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Testing for potential problems with this class
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\newif\ifproblem
\newif\iftimesok

\typeout{***********************************************}
\typeout{*}
\typeout{* Testing if all files required for the aipproc}
\typeout{* class are available ...}
\typeout{*}
\typeout{***********************************************}

\typeout{*}
\typeout{* Looking for LaTeX2e ... }
\ifx\documentclass\undefined
 \typeout{*}
 \typeout{* Sorry this is a fatal error:}
 \typeout{*}
 \typeout{* The aipproc class can only be used with LaTeX2e which is}
 \typeout{* the standard LaTeX since 1994!}
 \typeout{*}
 \typeout{* Please make sure that your version of LaTeX is up-to-date}
 \typeout{* before attempting to use this class.}
 \typeout{*}
 \expandafter\stop
\else
 \typeout{* ... ok }
\fi

\typeout{*}
\typeout{* Looking for aipproc.cls ... }
\IfFileExists{aipproc.cls}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* Before you can use the aipproc class you have to unpack}
     \typeout{* it from the documented source.}
     \typeout{*}
     \typeout{* Run LaTeX on the file 'aipproc.ins', e.g.,}
     \typeout{*}
     \typeout{* \space\space latex aipproc.ins}
     \typeout{*}
     \typeout{* or whatever is necessary on your installation to process}
     \typeout{* a file with LaTeX. This should unpack a number of files for you:}
     \typeout{*}
     \typeout{* aipproc.cls \space and \space aip-*.clo}
     \typeout{*}
     \typeout{* After that retry processing this guide.}
     \typeout{*}
     \stop
}

\typeout{*}
\typeout{* Looking for fixltx2e.sty ... }
\IfFileExists{fixltx2e.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found, trying fix2col.sty instead ... }
     \typeout{*}
     \IfFileExists{fix2col.sty}
	 {
	  \typeout{* ... ok }
	 }
	 {
	  \typeout{* ... not found! }
	  \typeout{*}
	  \typeout{* Sorry this is a fatal error:}
	  \typeout{*}
	  \typeout{* Your LaTeX distribution contains neither fixltx2e.sty}
	  \typeout{* nor fix2col.sty.}
	  \typeout{*}
	  \typeout{* This means that it is either too old or incompletely}
	  \typeout{* installed.}
	  \typeout{*}
	  \typeout{* fixltx2e.sty is part of the standard LaTeX distribution}
	  \typeout{* since 1999; fix2col.sty is an earlier version of this}
	  \typeout{* package.}
	  \typeout{*}
	  \typeout{* Best solution is to get the latest LaTeX distribution.}
	  \typeout{* If this is impossible for you, download fix2col.sty.}
	  \typeout{* You can get this software from a CTAN host.}
          \typeout{* Refer to http://www.tug.org to find such an archive on}
          \typeout{* the net.}
	  \typeout{*}
	  \typeout{* After you have updated your LaTeX distribution}
	  \typeout{* retry processing this guide.}
	  \stop
     }
}

\typeout{*}
\typeout{* Looking for fontenc.sty ... }
\IfFileExists{fontenc.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* The fontenc package, which is part of standard LaTeX}
     \typeout{* (base distribution) has to be installed at the site to}
     \typeout{* run the aipproc class.}
     \typeout{*}
     \typeout{* The fact that it cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* improperly.}
     \typeout{*}
     \typeout{* Please make sure that your version of LaTeX is okay}
     \typeout{* before attempting to use this class. The LaTeX distribution}
     \typeout{* contains the file "ltxcheck.tex" which can be used to}
     \typeout{* test the basic functionality and integrity of your installation.}
     \typeout{*}
     \stop
    }

\typeout{*}
\typeout{* Looking for calc.sty ... }
\IfFileExists{calc.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Sorry this is a fatal error:}
     \typeout{*}
     \typeout{* The calc package, which is part of standard LaTeX}
     \typeout{* (tool distribution) has to be installed at the site}
     \typeout{* to run the aipproc class.}
     \typeout{*}
     \typeout{* The fact that it cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts.}
     \typeout{*}
     \typeout{* Please make sure that the tools distribution of LaTeX}
     \typeout{* is installed before attempting to use this class.}
     \typeout{*}
     \typeout{* (You might be able to get calc.sty separately for your}
     \typeout{* installation if you are unable to upgrade to a recent}
     \typeout{* distribution for some reason.)}
     \typeout{*}
     \stop
    }

\typeout{*}
\typeout{* Looking for varioref.sty ... }
\IfFileExists{varioref.sty}
    {
     \typeout{* ... ok }
     \gdef\variorefoptionifavailable{varioref,}
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Problem detected:}
     \typeout{*}
     \typeout{* The varioref package, which is part of standard LaTeX}
     \typeout{* (tool distribution) is not installed at this site.}
     \typeout{*}
     \typeout{* The fact that it cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts.}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you cannot make use of the options "varioref" or "nonvarioref".}
     \typeout{*}
     \typeout{* Please also note that the aipguide.tex documentation}
     \typeout{* normally uses the "varioref" option to show its}
     \typeout{* effects (which  will now fail).}
     \typeout{*}
     \typein{* Type <return> to continue ...}
     \problemtrue
     \gdef\variorefoptionifavailable{}
     \let\vpageref\pageref
     \let\vref\ref
    }

\typeout{*}
\typeout{* Looking for times.sty ... }
\IfFileExists{times.sty}
    {
     \begingroup
% load times and forget it immediately again
       \RequirePackage{times}
       \global\expandafter\let\csname ver@times.sty\endcsname\relax    
       \long\def\next{ptm}
       \ifx\rmdefault\next
         \typeout{* ... ok }
         \gdef\psnfssproblemoption{}
         \endgroup
         \timesoktrue
       \else
         \endgroup
     \typeout{* ... obsolete! }
     \typeout{*}
     \typeout{* Serious problem detected:}
     \typeout{*}
     \typeout{* The times package, which is part of standard LaTeX}
     \typeout{* (psnfss distribution) is obsolete at this site.}
     \typeout{*}
     \typeout{* The fact that it contains incorrect code either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts with old files remaining!}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but}
     \typeout{* you have to specify the option "cmfonts" which result in}
     \typeout{* documents which are not conforming to the AIP layout specification!}
     \typeout{*}
     \typeout{* You can also try using the class in the following way:}
     \typeout{*}
     \typeout{* \space\space \string\documentclass[cmfonts]{aipproc}}
     \typeout{* \space\space \string\usepackage{times}}
     \typeout{* \space\space ...}
     \typeout{*}
     \typeout{* With luck this will result in Times Roman output but chances}
     \typeout{* are that you will get a larger number of error messages in}
     \typeout{* which case you have to remove the \string\usepackage declaration.}
     \typeout{*}
     \typein{* Type <return> to continue ...}
          \problemtrue
          \gdef\psnfssproblemoption{cmfonts}
          \def\textdegree{$^\circ$}            % used below but now
                                               % not setup
       \fi
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Serious problem detected:}
     \typeout{*}
     \typeout{* The times package, which is part of standard LaTeX}
     \typeout{* (psnfss distribution) can not be found.}
     \typeout{*}
     \typeout{* The fact that this package cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts!}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you have to specify the option "cmfonts" which result in}
     \typeout{* documents which are not conforming to the AIP layout specification!}
     \typeout{*}
     \typein{* Type <return> to continue ...}
     \problemtrue
     \gdef\psnfssproblemoption{cmfonts,}
    }

\iftimesok % don't bother testing other font options if times already
           % bad

\typeout{*}
\typeout{* Looking for t1ptm.fd or T1ptm.fd ... }
\IfFileExists{t1ptm.fd}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found, trying T1ptm.fd ... }
     \IfFileExists{T1ptm.fd}
          {
           \typeout{* ... ok }
          }
          {
           \typeout{* ... not found}
           \typeout{* Serious problem detected:}
           \typeout{*}
           \typeout{* The times package, which is part of standard LaTeX}
           \typeout{* (psnfss distribution) is available but the corresponding}
           \typeout{* .fd file (defining how to load Times Roman) is missing.}
           \typeout{*}
           \typeout{* The fact that this package is only partially installed}
           \typeout{* means that you LaTeX installation is unable to use Times}
           \typeout{* Roman fonts!}
           \typeout{*}
           \typeout{* You can use the aipproc class without this package but }
           \typeout{* you have to specify the option "cmfonts" which result in}
           \typeout{* documents which are not conforming to the AIP layout}
           \typeout{* specification!}
           \typeout{*}
           \typein{* Type <return> to continue ...}
           \problemtrue
           \timesokfalse
           \gdef\psnfssproblemoption{cmfonts,}
          }
    }

\fi


\newcommand\CheckFDFile[3]{%
  \typeout{*}
  \typeout{* Looking for #1#3.fd or #2#3.fd ... }
  \IfFileExists{#1#3.fd}
    {
     \typeout{* ... ok }
    }
    {
     \IfFileExists{#2#3.fd}
      {
       \typeout{* ... ok }
      }
      {\problemtrue
       \typeout{* ... not found! }
      }
    }
}

\iftimesok % don't bother testing other font options if Times already bad

\typeout{*}
\typeout{* Looking for mathptm.sty ... }
\IfFileExists{mathptm.sty}
    {
     \typeout{* ... ok }
     \CheckFDFile{ot1}{OT1}{ptmcm}
     \CheckFDFile{oml}{OML}{ptmcm}
     \CheckFDFile{oms}{OMS}{pzccm}
     \CheckFDFile{omx}{OMX}{psycm}
     \ifproblem
      \typeout{*}
      \typeout{* Problem detected:}
      \typeout{*}
      \typeout{* The mathptm package, which is part of standard LaTeX}
      \typeout{* (psnfss distribution) was found but some or all of its}
      \typeout{* support files describing which fonts to load are missing!}
      \typeout{*}
      \typeout{*}
      \typeout{* The fact that this package is only partially installed}
      \typeout{* means that the mathptm package cannot be used!}
      \typeout{*}
      \typeout{* You can use the aipproc class without this package but }
      \typeout{* you have to specify the option "nomathfonts" so that}
      \typeout{* math formulas will be typeset using Computer Modern.}
      \typeout{*}
      \typein{* Type <return> to continue ...}
      \problemtrue
      \gdef\psnfssproblemoption{nomathfonts,}
     \fi
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Problem detected:}
     \typeout{*}
     \typeout{* The mathptm package, which is part of standard LaTeX}
     \typeout{* (psnfss distribution) can not be found.}
     \typeout{*}
     \typeout{* The fact that this package cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts!}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you have to specify the option "nomathfonts" so that}
     \typeout{* math formulas will be typeset using Computer Modern.}
     \typeout{*}
     \typein{* Type <return> to continue ...}
     \problemtrue
     \gdef\psnfssproblemoption{nomathfonts,}
    }

\typeout{*}
\typeout{* Looking for mathtime.sty ... }
\IfFileExists{mathtime.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* The mathime package can not be found.}
     \typeout{*}
     \typeout{* This is not a serious problem because this package is}
     \typeout{* only of interest if you own the commerical MathTime fonts.}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you cannot use the "mathtime" option of the class.}
     \typeout{*}
     \typein{* Type <return> to continue ...}
     \problemtrue
    }
\else
\fi % iftimesok

\typeout{*}
\typeout{* Looking for graphicx.sty ... }
\IfFileExists{graphicx.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Problem detected:}
     \typeout{*}
     \typeout{* The graphics package, which is part of standard LaTeX}
     \typeout{* (graphics distribution) can not be found.}
     \typeout{*}
     \typeout{* The fact that this package cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts!}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you cannot use commands like \protect\includegraphics
                or \protect\resizebox}
     \typeout{* in this case.}
     \typeout{*}
     \typeout{* Please note that you will get a further error message below}
     \typeout{* about: "graphicx.sty not found" because the class will try}
     \typeout{* to load this package! Type return in response to that error.}
     \typeout{*}
     \typeout{* As a result the illustrations in aipguide will look strange.}
     \typeout{*}
     \typein{* Type <return> to continue ...}

     \gdef\resizebox##1##2{}
     \gdef\includegraphics{\textbf{graphics package missing:}}
     \problemtrue
    }

\typeout{*}
\typeout{* Looking for textcomp.sty ... }
\IfFileExists{textcomp.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Problem detected:}
     \typeout{*}
     \typeout{* The textcomp package, which is part of standard LaTeX}
     \typeout{* (base distribution) can not be found.}
     \typeout{*}
     \typeout{* The fact that this package cannot be found either means that}
     \typeout{* this LaTeX release is too old or that it was installed}
     \typeout{* only in parts!}
     \typeout{*}
     \typeout{* You can use the aipproc class without this package but }
     \typeout{* you will always get the error: "textcomp.sty not found"}
     \typeout{* because the class will try to load this package!}
     \typeout{* Type return in response to that error.}
     \typeout{*}
     \typein{* Type <return> to continue ...}

     \def\textdegree{$^\circ$}         % used below but now
                                       % not set up
     \problemtrue
    }


\typeout{*}
\typeout{* Looking for url.sty ... }
\IfFileExists{url.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Problem detected:}
     \typeout{*}
     \typeout{* The url package, which should be part of a good LaTeX}
     \typeout{* distribution, can not be found.}
     \typeout{*}
     \typeout{* Without this package you will not be able to use the \string\url}
     \typeout{* command. Try to download this package from a CTAN  host.}
     \typeout{* Refer to http://www.tug.org to find such an archive on}
     \typeout{* the net.}
     \typeout{*}
     \typein{* Type <return> to continue ...}

     \problemtrue
    }



\typeout{*}
\typeout{* Looking for natbib.sty ... }
\IfFileExists{natbib.sty}
    {
     \typeout{* ... ok }
    }
    {
     \typeout{* ... not found! }
     \typeout{*}
     \typeout{* Serious problem detected:}
     \typeout{*}
     \typeout{* The natbib package, which should be part of a good LaTeX}
     \typeout{* distribution, can not be found.}
     \typeout{*}
     \typeout{* Without this package you will not be able to use certain}
     \typeout{* citation styles. See the aipguide documentation!}
     \typeout{*}
     \typeout{* Especially the layout for ARLO requires this package!}
     \typeout{*}
     \typeout{* Try to download this package from a CTAN  host.}
     \typeout{* Refer to http://www.tug.org to find such an archive on}
     \typeout{* the net.}
     \typeout{*}
     \typein{* Type <return> to continue ...}

     \problemtrue
    }


\typeout{*}
\typeout{* ... finished testing}
\typeout{*}
\ifproblem
\typeout{* The tests have reveiled some problems in your TeX installation.}
\typeout{*}
\typeout{* Please review the above comments carefully and read the file}
\typeout{* README for further information.}
\typeout{*}
\typeout{*****************************************************************}
\typein{* Type <return> to continue ...}
\else
\typeout{****************************************************************}
\typeout{*}
\typeout{* The tests have reveiled no problems in your TeX installation.}
\typeout{*}
\typeout{****************************************************************}
\fi


% if this file is run standalone stop otherwise continue
\def\next{aipcheck}
\edef\currjob{\jobname}
\edef\next{\meaning\next}
\edef\currjob{\meaning\currjob}
\ifx\currjob\next
  \expandafter\stop
\fi

\endinput

proccervinia.tex
% PROCEEDING BREUIL-CERVINIA 2001
% X. DUPAC

\input{aipcheck.tex}

\typeout{}
\typeout{**********************************************}
\typeout{*}
\typeout{* Here you can type in any options for the class.}
\typeout{* A full list of supported options is described in}
\typeout{* the aipguide documentation.}
\typeout{*}
\typeout{* Or you may simply press the <RETURN> key in which}
\typeout{* case the file is processed with the standard settings.}
\typeout{*}
\typeout{**********************************************}
\typeout{}
%\typein[\selectedoptions]{Any options to the class?}
\ifx\empty\selectedoptions
  \def\selectedoptions{final}
\fi

\documentclass[
%   \selectedoptions
  ]
  {aipproc}

\layoutstyle{8s}

\SetInternalRegister\hbadness{8000} % pseudo latin isn't breaking very well :-)


% We need something to show special stuff for ARLO only.
%
\newcommand\doingARLO[2][]{%
  \ifx\mmref\undefined #1\else #2\fi
}
  

% Personal aliases
\def\etal{{\it et al.} }
\def\astpart{{\it Astrop. Physics}}
\def\araa{{\it Ann.\ Rev.\ Astron.\ Ap.}}
\def\aplet{{\it Ap.\ Letters}}
\def\aj{{\it Astron.\ J.}}
\def\apj{{\it ApJ}}
\def\apjl{{\it ApJ Lett.}}
\def\apjs{{\it ApJ Suppl.}}
\def\aas{{\it Astron.\ Astrophys.\ Suppl.}}
\def\aa{{\it A\&A}}
\def\mnras{{\it MNRAS}}
\def\newa{{\it New Astr.}}
\def\nature{{\it Nature}}
\def\aasm{{\it Amer. Astron. Soc. Meeting}}
\def\pasa{{\it Proc.\ Astr.\ Soc.\ Aust.}}
\def\pasp{{\it P.\ A.\ S.\ P.}}
\def\pasj{{\it PASJ}}
\def\pre{{\it Preprint}}
\def\aph{{\it Astro-ph}}
\def\sovlet{{\it Sov. Astron. Lett.}}
\def\adspr{{\it Adv. Space. Res.}}
\def\expas{{\it Experimental Astron.}}
\def\ssr{{\it Space Sci. Rev.}}
\def\ar{{\it Astronomy Reports}}
\def\inpress{{\it in press}}
%\def\souspresse{sous presse}
\def\inprep{{\it in preparation}}
%\def\enprep{en pr\'eparation}
\def\submit{{\it submitted}}
%\def\soumis{soumis}

\def\ap{$\approx$ }
\def\mjysr{MJy/sr }
\def\inu{{I_{\nu}}}
\def\inufit{I_{\nu fit}}
\def\fnu{{F_{\nu}}}
\def\bnu{{B_{\nu}}}
\def\msol{{M$_{\odot}$}}
\def\mic{{{\mu}m}}
\def\uk{{{\mu}K}}
\def\cm2{$cm^{-2}$}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\begin{document}

\title 
      []
      {Iterative map-making methods for Cosmic Microwave Background data analysis}

%\classification{43.35.Ei, 78.60.Mq}
\keywords{cosmology: Cosmic Microwave Background --- methods: data analysis}

\author{Xavier Dupac}{
  address={Centre d'\'Etude Spatiale des Rayonnements,
9, avenue du Colonel Roche,
BP 4346,
F-31028 Toulouse cedex 4,
France,
dupac@cesr.fr}
}

\copyrightyear  {2001}


\begin{abstract}
The map-making process of Cosmic Microwave Background data involves
linear inversion problems which cannot be performed by a brute force approach
for the large timelines of most modern experiments.
We present optimal iterative map-making methods, both COBE and
Wiener, and apply these methods on simulated data.
They
produce very well restored maps, by removing nearly completely the correlated
noise that appears as intense stripes on the simply pixel-averaged maps.
\end{abstract}


\date{\today}


\maketitle

\section{Introduction}
The Cosmic Microwave Background (CMB hereafter) is being extensively studied nowadays,
thanks to the improvement of instrument and detector
performances.
Since the COBE experiment (Smoot \etal 1992), which performed the first detection of CMB
anisotropies, the size of time-ordered information (TOI hereafter) has been widely increased.
The data processing and analysis is thus still a
challenge for large timeline data, already in processing or still to
come.
The Cosmic Microwave Background data analysis is usually performed
in three steps, the first being the map-making process, the second the $C_{l}$
estimation from the maps and the noise covariance matrices, the third the
cosmological parameters estimation from the $C_{l}$ power spectrum.
In this article, we focus on the map-making step, which, in the context of large timelines, cannot be performed by a
brute-force approach, which would imply the manipulation and inversion of
tera-element large matrices.
Non optimal map-making methods have been developed, such as destriping using the scan
intercepts (see Delabrouille 1998 and Dupac \& Giard 2001).
We aim in this paper to apply the optimal methods to large timelines,
developing algorithms to avoid computation trouble.
The map-making methods for CMB are known to be optimal when following
desirable properties.
These are linear map-making methods, well known as the COBE method (Janssen
\& Gulkis 1992) and
the Wiener filter (Wiener 1949).
The matrix expressions of these optimal methods can be found, e.g., in Tegmark
(1997).

Applying these optimal methods to large timelines is not
straightforward, because of computer limitations.
The several tens or hundreds of mega-elements in a bolometer timeline
have to be processed by vector-only methods, that we aim to present in this
paper.
We mean by "vector-only methods" computations in which one never needs to
compute or even to store any large matrix.


\section{Observation strategy}
We present here a large-coverage observation strategy,
simulated from simple and usual technical requirements.
We simulate balloon-borne CMB experiments, required to scan the sky making
constant elevation circles at a rather constant rotation speed (as do
Archeops: Beno\^\i t \etal 2001, and TopHat: http://topweb.gsfc.nasa.gov).
This allows to observe a large area on the sky, thanks to the rotation of the
Earth (and, eventually, to the moving of the balloon on the Earth).
We have simulated a balloon-borne experiment timeline with a constant
scanning elevation of 35 degrees above the horizon, a sampling frequency of
100 Hz and a rotation speed of the gondola of 2 rpm.
The flight is 24 hours long, launched from a polar place (Kiruna for instance).
The winter time in this region provides polar nights allowing to make 24 hours
flight avoiding contamination from the sun.
The coverage for this polar flight is 35 \% of the sky.




\section{Simulation process}
We have made our simulated skies from three components: the CMB
fluctuations, the dipole, and the Galaxy, at 2 mm wavelength.
The simulated Universe we have simulated is $\Lambda$ dominated, with
$\Omega_\Lambda = 0.7$, $\Omega_{CDM} = 0.25$, $\Omega_{bar} = 0.05$, $H_0 = 50 $
and a scalar spectral index of the fluctuations equal to 1.
The $C_l$ simulated spectrum (with no cosmic variance) is made thanks
to the CMBFAST software (Seljak \& Zaldarriaga 1996).
The sky gaussian random field (i.e. a realization of a Universe with
the cosmological parameters we chose) is then simulated with the
SYNFAST tool of the HEALPix package (http://www.eso.org/science/healpix).
The dipole is added thanks to its COBE/DMR determination
(Lineweaver \etal 1996), and the Galaxy at 2 mm wavelength is extrapolated from
the composite 100 $\mic$ IRAS-COBE/DIRBE all sky dataset (Schlegel \etal 1998).
The noise we introduce in our simulated timelines can be characterized by its
statistical power spectrum which follows a 1/f law: $l_{inf} . (1 +
(f_c/f)^n)$, where $l_{inf}$ is the level of white noise (i.e. the only noise
at high frequency), $f_c$ the cut frequency and n the power index.
The noise we introduced is characterized by $n = 1$, $f_c = 0.1$ Hz and $l_{inf} = 100$ $\uk_{CMB}$ rms.
This white noise rms is approximatively the level expected for Planck
(Tauber 2000) bolometers with a 100 Hz sampling rate.
Of course this
quite low value is the level of the non-correlated noise in the
timelines,
but the total amount of noise introduced is much larger.



\section{Map-making methods applied on large timelines}

We use the HEALPix pixel scheme (http://www.eso.org/science/healpix) to make
our maps.
Reprojecting timelines on maps is not only a domain to domain
transform, but the simplest way to estimate the true map of the sky,
by averaging the samples of a same pixel on the sky. The noise is
therefore reduced by a factor square root of the number of samples in the
pixel (the weight).
We will not investigate the beam deconvolution in this article, and therefore
consider only 1-and-0 point-spread matrices.

The optimal map-making methods use the noise (N) and sky (S) covariance matrices:
these are impossible to invert or even to store for such large
timelines.
However, if the noise is stationary in the time domain, as it is the case for 1/f
noise and white noise (usual bolometer noises), the noise correlation matrix
in the time domain is circulant, i.e. multiplying a vector by this matrix is a
convolution, which is
filtering in the Fourier domain.
The sky covariance matrix is stationary in the map domain, as far as the Cosmic
Microwave Background is a gaussian random field (for timelines without the Galaxy).
In this case the sky covariance matrix in the map domain is circulant.

The COBE equation: \~x = $[A^{t} N^{-1} A]^{-1} A^{t} N^{-1} y$, cannot be directly applied with vector-only algorithms,
because of the matrix inversions needed.
(A is the point-spread matrix, N the noise covariance amtrix in the time
domain, y the data timeline and \~x the optimal reconstructed sky map.)
Thus the trick is to solve rather:

$[A^{t} N^{-1} A]$ \~x = $A^{t} N^{-1}$ y

This form prevents from the heavy inversion, but needs an iterative scheme.
The general iterative scheme for this equation is:

$\alpha$ \~x$_{n+1}$ = $\alpha$ \~x$_n$ + $A^{t} N^{-1}$ y - $[A^{t} N^{-1} A]$ \~x$_n$

where $\alpha$ is any linear operator on a vector, that is, any square matrix.
We have tested this algorithm on simulations and real data from the Archeops
experiment (Beno\^\i t \etal 2001), with $\alpha$ being a scalar.
By testing the method with different $\alpha$, we find that the identity is
the best iterator.

Another scheme can be developed, by making the noise map converge instead of
the sky map, as mentioned by Prunet (2001).
This can be better, as the signal can be more tricky than the instrumental
noise for the stability of the iterative scheme: hot galactic points for example
may induce stripes on the maps.
The noise-iterating scheme works with the following trick:
we change the variable \~x to \v{x} = $[A^tA]^{-1} A^t$ y - \~x.
It is straightforward to show that this is the noise map plus the
reconstruction error.
It leads to:

$\alpha$ \v{x}$_{n+1}$ = $\alpha$ \v{x}$_n$ + $A^{t} N^{-1}$ z - $[A^{t} N^{-1} A]$ \v{x}$_n$

where z = $A[A^tA]^{-1}A^t$ y - y.
If this algorithm converges, then the converging limit is exactly the optimal
solution of the map-making problem.
The case of $\alpha$ = I is actually the simplest iterator one can imagine,
but works well on the simulations and real data that we have processed.

The iterative scheme that we have developed for the Wiener method is close to the COBE one:

$\alpha$ \v{x}$_{n+1}$ = $\alpha$ \v{x}$_n$ + u - $[S^{-1} + A^{t} N^{-1} A]$
\v{x}$_n$

where u = $A^tN^{-1}[A[A^tA]^{-1}A^ty - y] + S^{-1}[A^tA]^{-1}A^ty$.
As we have shown for the COBE iterative method, here the converging limit is the
exact solution of the Wiener map-making equation.
This iterative scheme needs to handle both the N matrix, noise covariance
matrix in the timeline, that we process as a filter in the Fourier domain
like we do for the COBE iterative method, and the S matrix, sky covariance
matrix in the map domain.
Handling this as a matrix is not possible for a small scale pixelization that
we need for CMB experiments of today, thus we have to process it as a filter
in Fourier space, like we do for filtering timelines.
The HEALPix RING scheme is stationary with respect to the sphere, because it
pixelizes it making a ring around the sphere from the north pole to the south
pole, with equal pixel surfaces.
So filtering a HEALPix vector (i.e. a map) in Fourier space is optimal, to the
condition that there must not be large holes in the map, that would harm the
stationarity of the sky in the HEALPix scheme.



\section{Results and conclusion}

We have applied these methods to the polar flight simulated data:
the method reaches the residual noise at about 50 iterations, and this
residual is about 21.6 $\uk_{CMB}$ rms.
We can check that we have reached the convergence by observing the evolution
of the global residual noise rms, but also the evolution for some individual pixels, the map
aspect and the $C_l$ power spectrum.
We have to compare this result to the white noise amount in the map: the rms level of white noise in the polar flight map is 21.06 $\uk_{CMB}$ rms,
which is very close to the residual noise amount.
This shows how good the reconstruction is, as it is clear that the correlated
noise is significantly removed from the map.
The reconstructed map exhibits no visible difference with the true map.
The noise spectrum is nearly the one of a white noise above about l=50, but
exhibits some weak residual correlation at lower scales.
Even if the residual noise amount is very low, this deviation from the flat
spectrum could have to be taken into account for very precise measurements of
the low l.

This kind of vector-only methods seems to us unavoidable to make optimal maps
from CMB experiments of today, or still to come.
The reduction of the information in CMB data is a heavy work, from gigabytes of
rawdata to essentially 12 cosmological numbers with their error bars.
Since the computer facilities are limited and unsufficient for brute force
approaches (and it will be still the case for Planck data reduction), it is
an interesting challenge to process each step of this reduction work without
losing information.
Using stationarity properties of a signal in a given domain (sphere, map,
timeline...) to transform a matrix inversion problem into a vector-only
solution, could be probably also developed for other CMB reduction steps, such
as the component separation.


\section{Acknowledgements}
We would like to thank K.M. G\'orski and his collaborators for their so
useful HEALPix package.


\begin{thebibliography}{}

Beno\^\i t, A., \etal: 2001, \astpart, \inpress \\

Delabrouille, J.: 1998, \aas, 127: 555 \\

Dupac, X., Giard, M.: 2001, {\it Proc. of the "Mining the Sky" 2000 Colloq. in
  Garching} \\

Janssen, M.A., Gulkis, S.: 1992,
  {\it Proc. of the NATO adv. study inst., Les Houches} \\

Lineweaver, C.H., Tenorio, L., Smoot, G.F., Keegstra, P., Banday, A.J., Lubin,
P.: 1996, \apj, 470: 38 \\

Prunet, S.: 2001, {\it Proc. of the Moriond
    2000 Colloq.} \\

Schlegel, D.J., Finkbeiner, D.P.,
  Davis, M.: 1998, \apj, 500: 525 \\

Seljak, U., Zaldarriaga, M.: 1996, \apj, 469: 437 \\

Smoot, G.F., \etal: 1992, \apjl, 396: L1 \\

Tauber, J.: 2000, {\it IAU Symposium 204 in Manchester} \\

Tegmark, M.: 1997, \apj, 480: L87 \\

Wiener, N.: 1949, {\it Extrapolation and Smoothing of Stationary Time Series}, NY: Wiley

\end{thebibliography}

\end{document}




astro-ph0109509.extracted_bib
\begin{thebibliography}{}

Beno\^\i t, A., \etal: 2001, \astpart, \inpress \\

Delabrouille, J.: 1998, \aas, 127: 555 \\

Dupac, X., Giard, M.: 2001, {\it Proc. of the "Mining the Sky" 2000 Colloq. in
  Garching} \\

Janssen, M.A., Gulkis, S.: 1992,
  {\it Proc. of the NATO adv. study inst., Les Houches} \\

Lineweaver, C.H., Tenorio, L., Smoot, G.F., Keegstra, P., Banday, A.J., Lubin,
P.: 1996, \apj, 470: 38 \\

Prunet, S.: 2001, {\it Proc. of the Moriond
    2000 Colloq.} \\

Schlegel, D.J., Finkbeiner, D.P.,
  Davis, M.: 1998, \apj, 500: 525 \\

Seljak, U., Zaldarriaga, M.: 1996, \apj, 469: 437 \\

Smoot, G.F., \etal: 1992, \apjl, 396: L1 \\

Tauber, J.: 2000, {\it IAU Symposium 204 in Manchester} \\

Tegmark, M.: 1997, \apj, 480: L87 \\

Wiener, N.: 1949, {\it Extrapolation and Smoothing of Stationary Time Series}, NY: Wiley

\end{thebibliography}