Main Page | Namespace List | Class List | File List | Namespace Members | Class Members | File Members

matinv_aprx_par.cpp File Reference

#include <vector>
#include <iterator>
#include <algorithm>
#include "cxsc_mpicomm_templ.hpp"
#include "vectoroperations.hpp"
#include "matinv_aprx_par.hpp"

Functions

void ColumnDistribution (rmatrix &A, rmatrix &MyA, vector< int > &mycolumns, int lb1, int ub1, int lb2, int ub2, intvector &mycol, int procs, int mypid, int &commerrc)
void MatInv (rmatrix &A, rmatrix &R, rmatrix &MyA, vector< int > &mycolumns, intvector &mycol, bool distribute, int procs, int mypid, int &errc, int &commerrc, ofstream &ausg)
void MatInv (rmatrix &A, rmatrix &R, int procs, int mypid, int &errc, int &commerrc, ofstream &ausg)
void MatInv (rmatrix &A, rmatrix &R, int &errc, int &commerrc, ofstream &ausg)

Detailed Description

ILSS_PAR Parallel Interval Linear System Solver Approximate matrix inversion module.

Copyright (C) 2004-2007 Markus Grimmer

Parallel approximate matrix inversion using LU decomposition and forward-backward substitution, column distribution, pivoting and send ahead


Function Documentation

void ColumnDistribution rmatrix &  A,
rmatrix &  MyA,
vector< int > &  mycolumns,
int  lb1,
int  ub1,
int  lb2,
int  ub2,
intvector &  mycol,
int  procs,
int  mypid,
int &  commerrc
 

Distributes columns among the involved processes.

Parameters:
[in] A The input matrix
[out] MyA Distributed matrix columns
[out] mycolumns Local column subset
[in] lb1 Matrix index bound
[in] ub1 Matrix index bound
[in] lb2 Matrix index bound
[in] ub2 Matrix index bound
[out] mycol Local to global column mapping
[in] procs Number of parallel processes
[in] mypid Process ID
[out] commerrc Error code

void MatInv rmatrix &  A,
rmatrix &  R,
int &  errc,
int &  commerrc,
ofstream &  ausg
 

Matrix inversion function.

This version: Does not includes parameters for already distributed data or parallel environment -> Column distribution and parallel environment initialization inside the function.

Parameters:
[in,out] A The input matrix (Remark: which will be overwritten with the LU factorization)
[out] R Approximate inverse
[out] errc Error code
[out] commerrc Error code
[in,out] ausg Output file stream

void MatInv rmatrix &  A,
rmatrix &  R,
int  procs,
int  mypid,
int &  errc,
int &  commerrc,
ofstream &  ausg
 

Matrix inversion function.

This version: Does not includes parameters for already distributed data -> Column distribution inside the function. Includes parameters for already initialized parallel environment.

Parameters:
[in,out] A The input matrix (Remark: which will be overwritten with the LU factorization)
[out] R Approximate inverse
[in] procs Number of parallel processes
[in] mypid Process ID
[out] errc Error code
[out] commerrc Error code
[in,out] ausg Output file stream

void MatInv rmatrix &  A,
rmatrix &  R,
rmatrix &  MyA,
vector< int > &  mycolumns,
intvector &  mycol,
bool  distribute,
int  procs,
int  mypid,
int &  errc,
int &  commerrc,
ofstream &  ausg
 

Matrix inversion function.

This version: Includes parameters for already distributed data (matrix columns) and already initialized parallel environment

Parameters:
[in,out] A The input matrix (Remark: which will be overwritten with the LU factorization)
[out] R Approximate inverse
[in] MyA Distributed matrix columns
[in] mycolumns Local column subset
[in] mycol Local to global column mapping
[in] distribute Distribution of columns necessary?
[in] procs Number of parallel processes
[in] mypid Process ID
[out] errc Error code
[out] commerrc Error code
[in,out] ausg Output file stream


Generated on Tue Feb 27 21:19:13 2007 for VFIS by  doxygen 1.4.4