bmatrix Struct Reference

#include <bmatrix.h>

List of all members.

Public Member Functions

 bmatrix (const bmatrix &mat)
 copy constructor
 bmatrix (long m, long n)
 default constructor
 bmatrix ()
long gen_indices ()
 generates global indices vectors
void give_locid (long ti, long tj, long &i, long &j, long &k, long &l) const
 returns local indices from the given total indices
void give_totid (long i, long j, long k, long l, long &ti, long &tj) const
 returns total indices from the given local indices
long give_totm () const
 returns total number of rows
long give_totn () const
 returns total number of columns
double & operator() (long i, long j, long k, long l) const
matrixoperator() (long i, long j) const
matrixoperator[] (long i) const
 ~bmatrix ()
 destructor

Public Attributes

matrixa
 pointer to onedimensional array with block matrices elements stored in rows
ivector col
 vector of column indices
long m
 number of rows of block matrices
long n
 number of columns of block matrices
ivector row
 vector of row indices
long tm
long tn
 total number of double elements in rows and columns

Detailed Description

This file declares struct bmatrix, which implements matrix with block structure and with elements type of double. It can be used as a fourth order tensor or default matrix. There are also declarations of the functions for the basic matrix operations

Definition at line 15 of file bmatrix.h.


Constructor & Destructor Documentation

bmatrix (  )  [inline]

Definition at line 29 of file bmatrix.h.

References a, m, and n.

bmatrix ( long  m,
long  n 
)

default constructor

allocating constructor

The constructor allocates memory form the heap to the member array a.

Parameters:
m is the number of rows
n is the number of columns

created 29.5.2000, Tomas Koudelka, koudelka@cml.fsv.cvut.cz

Definition at line 17 of file bmatrix.cpp.

References a, m, memset(), n, and print_err().

bmatrix ( const bmatrix mat  ) 

copy constructor

The copy constructor creates copy of the object given by the constant reference parameter.

Parameters:
v is reference to the object of the vector which should be copied

created 16.10.2003 by Tomas Koudelka, koudelka@cml.fsv.cvut.cz

Definition at line 39 of file bmatrix.cpp.

References a, col, if(), m, ivector::n, n, print_err(), print_warning(), and row.

~bmatrix (  ) 

destructor

The destructor deallocates the memory occupied by the member array a.

created 29.5.2000, Tomas Koudelka, koudelka@cml.fsv.cvut.cz modified 9.5.2001, Tomas Koudelka, koudelka@cml.fsv.cvut.cz

Definition at line 72 of file bmatrix.cpp.

References a, m, and n.


Member Function Documentation

long gen_indices (  ) 

generates global indices vectors

Function checks all block matrices in rows and columns of bmatrix for dimension consistency and generates vector of global indices in rows and columns.

Return values:
0 - on success
1 - error in rows
2 - error in columns

Definition at line 94 of file bmatrix.cpp.

References a, allocv(), col, matrix::m, m, matrix::n, n, print_err(), row, tm, and tn.

Referenced by anisodam::tmatstiff().

void give_locid ( long  ti,
long  tj,
long &  i,
long &  j,
long &  k,
long &  l 
) const

returns local indices from the given total indices

Function computes the total index of double element from indices of block (i,j) and element indices (k,l).

Parameters:
i - row index of block matrix
j - column index of block matrix
k - row index of element in block(i,j)
k - column index of element in block(i,j)
ti - total row index of element - output parameter
tj - total column index of element - output parameter
Return values:
The total indices are returned via parameters ti and tj

Definition at line 235 of file bmatrix.cpp.

References a, col, give_totm(), give_totn(), matrix::m, m, matrix::n, n, ivector::n, print_err(), row, tm, and tn.

Referenced by addm(), mxm(), and subm().

void give_totid ( long  i,
long  j,
long  k,
long  l,
long &  ti,
long &  tj 
) const

returns total indices from the given local indices

Function computes the total index of double element from indices of block (i,j) and element indices (k,l).

Parameters:
i - row index of block matrix
j - column index of block matrix
k - row index of element in block(i,j)
k - column index of element in block(i,j)
ti - total row index of element - output parameter
tj - total column index of element - output parameter
Return values:
The total indices are returned via parameters ti and tj

Definition at line 193 of file bmatrix.cpp.

References a, col, m, ivector::n, n, print_err(), and row.

Referenced by addm(), and subm().

long give_totm (  )  const

returns total number of rows

Function computes the total number of rows in block matrix.

Return values:
The function returns total number of rows.

Definition at line 157 of file bmatrix.cpp.

References a, m, and n.

Referenced by give_locid().

long give_totn (  )  const

returns total number of columns

Function computes the total number of columns in block matrix.

Return values:
The function returns total number of columns.

Definition at line 172 of file bmatrix.cpp.

References a, and n.

Referenced by give_locid().

double& operator() ( long  i,
long  j,
long  k,
long  l 
) const [inline]

The operator enables access to the elements of the member array a.

Parameters:
i is the index of row
j is the index of column

created 29.5.2000, Tomas Koudelka, koudelka@cml.fsv.cvut.cz modified 9.5.2001, Tomas Koudelka, koudelka@cml.fsv.cvut.cz

Definition at line 85 of file bmatrix.h.

References a, m, n, and print_err().

matrix& operator() ( long  i,
long  j 
) const [inline]

The operator enables access to the elements of the member array a.

Parameters:
i is the index of row
j is the index of column

created 29.5.2000, Tomas Koudelka, koudelka@cml.fsv.cvut.cz modified 9.5.2001, Tomas Koudelka, koudelka@cml.fsv.cvut.cz

Definition at line 62 of file bmatrix.h.

References a, m, n, and print_err().

matrix* operator[] ( long  i  )  const [inline]

The operator enables access to the rows of elements of the member array a.

Parameters:
i is the number of row

created 29.5.2000, Tomas Koudelka, koudelka@cml.fsv.cvut.cz modified 9.5.2001, Tomas Koudelka, koudelka@cml.fsv.cvut.cz

Definition at line 41 of file bmatrix.h.

References a, m, n, and print_err().


Member Data Documentation

pointer to onedimensional array with block matrices elements stored in rows

Definition at line 25 of file bmatrix.h.

Referenced by allocm(), bmatrix(), destrm(), gen_indices(), give_locid(), give_totid(), give_totm(), give_totn(), operator()(), operator[](), and ~bmatrix().

vector of column indices

Definition at line 27 of file bmatrix.h.

Referenced by bmatrix(), copym(), gen_indices(), give_locid(), and give_totid().

long m

number of rows of block matrices

Definition at line 22 of file bmatrix.h.

Referenced by addm(), allocm(), bmatrix(), cmulm(), copym(), destrm(), fillm(), gen_indices(), give_locid(), give_totid(), give_totm(), operator()(), operator[](), subm(), and ~bmatrix().

long n

number of columns of block matrices

Definition at line 23 of file bmatrix.h.

Referenced by addm(), allocm(), bmatrix(), cmulm(), copym(), destrm(), fillm(), gen_indices(), give_locid(), give_totid(), give_totm(), give_totn(), operator()(), operator[](), subm(), and ~bmatrix().

vector of row indices

Definition at line 26 of file bmatrix.h.

Referenced by bmatrix(), copym(), gen_indices(), give_locid(), and give_totid().

long tm

Definition at line 24 of file bmatrix.h.

Referenced by addm(), gen_indices(), give_locid(), mxm(), and subm().

long tn

total number of double elements in rows and columns

Definition at line 24 of file bmatrix.h.

Referenced by addm(), gen_indices(), give_locid(), mxm(), and subm().


The documentation for this struct was generated from the following files:

Generated by  doxygen 1.6.2