MIDAPACK - MIcrowave Data Analysis PACKage  1.1b
Parallel software tools for high performance CMB DA analysis
 All Data Structures Files Functions Variables Typedefs Groups Pages
toeplitz_utils.c File Reference

Contains a set of utilitaries routines for Toeplitz algebra. More...

Go to the source code of this file.

Functions

int defineTpltz (Tpltz *Nm1, int64_t nrow, int m_cw, int m_rw, Block *tpltzblocks, int nb_blocks_loc, int nb_blocks_tot, int64_t idp, int local_V_size, Flag flag_stgy, MPI_Comm comm)
int defineBlocks_avg (Block *tpltzblocks, double *T, int nb_blocks_loc, int n_block_avg, int lambda_block_avg, int64_t id0)
int createRandomT (double *T, int Tsize)
int createTbasic1 (double *T, int Tsize)
int createTbasic2 (double *T, int Tsize)
int createTbasic3 (double *T, int Tsize)
int createTfrominvtt (double *T, int Tsize)

Variables

int PRINT_RANK

Detailed Description

Contains a set of utilitaries routines for Toeplitz algebra.

version 1.2b, July 2012

Author:
Frederic Dauvergne

Project: Midapack library, ANR MIDAS'09 - Toeplitz Algebra module Purpose: Provide Toeplitz algebra tools suitable for Cosmic Microwave Background (CMB) data analysis.

Note:
Copyright (c) 2010-2012 APC CNRS Université Paris Diderot
This program is free software; you can redistribute it and/or modify it under the terms
of the GNU Lesser General Public License as published by the Free Software Foundation;
either version 3 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this
program; if not, see http://www.gnu.org/licenses/lgpl.html
For more information about ANR MIDAS'09 project see :
http://www.apc.univ-paris7.fr/APC_CS/Recherche/Adamis/MIDAS09/index.html
ACKNOWLEDGMENT: This work has been supported in part by the French National Research
Agency (ANR) through COSINUS program (project MIDAS no. ANR-09-COSI-009).

Log: toeplitz*.c

Revision 1.0b 2012/05/07 Frederic Dauvergne (APC) Official release 1.0beta. The first installement of the library is the Toeplitz algebra module.

Revision 1.1b 2012/07/- Frederic Dauvergne (APC)

  • mpi_stbmm allows now rowi-wise order per process datas and no-blocking communications.
  • OMP improvment for optimal cpu time.
  • bug fixed for OMP in the stmm_basic routine.
  • distcorrmin is used to communicate only lambda-1 datas when it is needed.
  • new reshaping routines using transformation functions in stmm. Thus, only one copy at most is needed.
  • tpltz_init improvement using define_nfft and define_blocksize routines.
  • add Block struture to define each Toeplitz block.
  • add Flag structure and preprocessing parameters to define the computational strategy. All the flag parameters are then available directly from the API.

Definition in file toeplitz_utils.c.


Function Documentation

int defineTpltz ( Tpltz Nm1,
int64_t  nrow,
int  m_cw,
int  m_rw,
Block tpltzblocks,
int  nb_blocks_loc,
int  nb_blocks_tot,
int64_t  idp,
int  local_V_size,
Flag  flag_stgy,
MPI_Comm  comm 
)

Definition at line 55 of file toeplitz_utils.c.

int defineBlocks_avg ( Block tpltzblocks,
double *  T,
int  nb_blocks_loc,
int  n_block_avg,
int  lambda_block_avg,
int64_t  id0 
)

Definition at line 75 of file toeplitz_utils.c.

int createRandomT ( double *  T,
int  Tsize 
)

Definition at line 103 of file toeplitz_utils.c.

int createTbasic1 ( double *  T,
int  Tsize 
)

Definition at line 118 of file toeplitz_utils.c.

int createTbasic2 ( double *  T,
int  Tsize 
)

Definition at line 133 of file toeplitz_utils.c.

int createTbasic3 ( double *  T,
int  Tsize 
)

Definition at line 155 of file toeplitz_utils.c.

int createTfrominvtt ( double *  T,
int  Tsize 
)

Definition at line 178 of file toeplitz_utils.c.


Variable Documentation

int PRINT_RANK

Definition at line 82 of file toeplitz.c.