matrix/structure.h マニュアル

(The documentation of matrix/structure.h)

Last Update: 2021/12/6


matrix/structure.hでは matrixヘッダファイルパッケージで主に用いる構造体が定義されている。 各構造体の定義を以下に示す。
Structures mainly used in matrix header file package are defined in matrix/structure.h. Definitions of individual structures are shown below.

◆目次(Table of contents)



◆struct matrix型構造体 (A struct matrix-type structure)

行列を表現するための構造体である。以下のメンバから成る。
A structure to represent a matrix. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int rowmax 行列の行数。
The number of rows of the matrix.
int columnmax 行列の列数。
The number of columns of the matrix.
double ∗∗ main 行列の成分の値を並べた2次元配列。 行列の\((i,j)\)成分をmain[i-1][j-1]で表す (ここで\(i\), \(j\)は1から開始するものとする)。
A 2-D array composed of the values of components of the matrix. The \((i,j)\) component of the matrix is represented by main[i-1][j-1], where \(i\) and \(j\) start with 1.
char allocated メンバmainの配列の動的メモリを確保済みか否かを示すフラグ。 確保済みならば’y’、未確保ならば’n’とする。
A flag indicating whether the dynamic memory for the array of member main was allocated or not; ’y’ is allocated, ’n’ otherwise.


◆struct diagonal_matrix型構造体 (A struct diagonal_matrix-type structure)

対角行列を表現するための構造体である。 特異値分解にも利用できるよう、正方形でない対角行列も扱えるようにしている。 以下のメンバから成る。
A structure to represent a diagonal matrix. To enable this structure to be used for a singular value decomposition, this structure can treat a diagonal matrix that is not a square matrix. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int rowmax 行列の行数。
The number of rows of the matrix.
int columnmax 行列の列数。
The number of columns of the matrix.
int size 行数と列数のうちの小さい方。
The smaller one of the numbers of rows and columns of the matrix.
int rank ノンゼロ成分の個数(行列のランク)。
The number of non-zero components, which represent the rank of the matrix.
double ∗ main 行列の対角成分の値を並べた配列。 行列の\((i,i)\)成分をmain[i-1][i-1]で表す (ここで\(i\)は1から開始するものとする)。
An array composed of the values of diagonal components of the matrix. The \((i,i)\) component of the matrix is represented by main[i-1][i-1], where \(i\) starts with 1.
char allocated メンバmainの配列の動的メモリを確保済みか否かを示すフラグ。 確保済みならば’y’、未確保ならば’n’とする。
A flag indicating whether the dynamic memory for the array of member main was allocated or not; ’y’ is allocated, ’n’ otherwise.


◆struct rowvector型構造体 (A struct rowvector-type structure)

行ベクトル(行数が1の行列)を表現するための構造体である。 以下のメンバから成る。
A structure to represent a row vector, i.e., a matrix which has only one row. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int size 行列の列数。
The number of columns of the matrix.
double ∗ main 行列の成分の値を並べた配列。 行列の\((1,i)\)成分をmain[i-1]で表す (ここで\(i\)は1から開始するものとする)。
An array composed of the values of components of the matrix. The \((1,i)\) component of the matrix is represented by main[i-1], where \(i\) starts with 1.
char allocated メンバmainの配列の動的メモリを確保済みか否かを示すフラグ。 確保済みならば’y’、未確保ならば’n’とする。
A flag indicating whether the dynamic memory for the array of member main was allocated or not; ’y’ is allocated, ’n’ otherwise.


◆struct columnvector型構造体 (A struct columnvector-type structure)

列ベクトル(列数が1の行列)を表現するための構造体である。 以下のメンバから成る。
A structure to represent a column vector, i.e., a matrix which has only one column. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int size 行列の行数。
The number of rows of the matrix.
double ∗ main 行列の成分の値を並べた配列。 行列の\((i,1)\)成分をmain[i-1]で表す (ここで\(i\)は1から開始するものとする)。
An array composed of the values of components of the matrix. The \((i,1)\) component of the matrix is represented by main[i-1], where \(i\) starts with 1.
char allocated メンバmainの配列の動的メモリを確保済みか否かを示すフラグ。 確保済みならば’y’、未確保ならば’n’とする。
A flag indicating whether the dynamic memory for the array of member main was allocated or not; ’y’ is allocated, ’n’ otherwise.


◆struct cmatrix型構造体 (A struct cmatrix-type structure)

成分が複素数の行列を表現するための構造体である。 以下のメンバから成る。
A structure to represent a matrix whose components are complex numbers. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int rowmax 行列の行数。
The number of rows of the matrix.
int columnmax 行列の列数。
The number of columns of the matrix.
double complex ∗∗ main 行列の成分の値を並べた2次元配列。 行列の\((i,j)\)成分をmain[i-1][j-1]で表す (ここで\(i\), \(j\)は1から開始するものとする)。
A 2-D array composed of the values of components of the matrix. The \((i,j)\) component of the matrix is represented by main[i-1][j-1], where \(i\) and \(j\) start with 1.
char allocated メンバmainの配列の動的メモリを確保済みか否かを示すフラグ。 確保済みならば’y’、未確保ならば’n’とする。
A flag indicating whether the dynamic memory for the array of member main was allocated or not; ’y’ is allocated, ’n’ otherwise.


◆struct matcontents型構造体 (A struct matcontents-type structure)

行列の1つの成分を表現するための構造体である。 以下のメンバから成る。
A structure to represent a component of a matrix. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
int row 扱う行列成分の行番号。1から開始するものとする。
The row index of the component to treat, which starts with 1.
int column 扱う行列成分の列番号。1から開始するものとする。
The column index of the component to treat, which starts with 1.
double value 行列の(row,column)成分の値。
The value of the (row, column) component of the matrix


◆struct LU型構造体 (A struct LU-type structure)

行列のLU分解の結果を表現するための構造体である。 以下のメンバから成る。
A structure to represent the result of the LU decomposition of a matrix. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
struct matrix L 下三角行列。
The lower triangular matrix.
struct matrix U 上三角行列。
The upper triangular matrix.
int ∗ pivot LU分解の際に行ったピボット選択(行の交換)の記録。 行交換後の第\(i\)行成分がもともと存在していた行をpivot[i]で表す。
The record of pivot selections (swapping the rows) conducted during the LU decomposition, expressed in a way that the \(i\)th row after the decomposition was originally located at the pivot[i]th row before the swapping.


◆struct cLU型構造体 (A struct cLU-type structure)

行列のLU分解の結果を表現するための構造体(値が複素数の行列用)である。 以下のメンバから成る。
A structure to represent the result of the LU decomposition of a matrix whose values are complex numbers. This structure is composed of the following members.


Type
メンバ名
Name of member
メンバの意味
Meaning of member
struct cmatrix L 下三角行列。
The lower triangular matrix.
struct cmatrix U 上三角行列。
The upper triangular matrix.
int ∗ pivot LU分解の際に行ったピボット選択(行の交換)の記録。 行交換後の第\(i\)行成分がもともと存在していた行をpivot[i]で表す。
The record of pivot selections (swapping the rows) conducted during the LU decomposition, expressed in a way that the \(i\)th row after the decomposition was originally located at the pivot[i]th row before the swapping.