関数cut_matrix マニュアル

(The documentation of function cut_matrix)

Last Update: 2021/12/6


◆機能・用途(Purpose)

行列の一部を切り出す。
Extract a part of a matrix.


◆形式(Format)

#include <matrix/operation.h>
inline struct matrix cut_matrix
(const struct matrix A,const int rowmin,const int rowmax,
 const int columnmin,const int columnmax)


◆引数(Arguments)

A 切り出す前のもともとの行列。
The original matrix before the extraction.
rowmin 切り出す行番号範囲の下限。 1
The lower limit of the row index range to extract. 1
rowmax 切り出す行番号範囲の上限。 1
The upper limit of the row index range to extract. 1
columnmin 切り出す列番号範囲の下限。 1
The lower limit of the column index range to extract. 1
columnmax 切り出す列番号範囲の上限。 1
The upper limit of the column index range to extract. 1

  1. 行番号、列番号は1を開始値とする。
    The row and column indices are defined to start from 1.


◆戻り値(Return value)

Aの(rowmin, columnmin)成分から(rowmax, columnmax)成分までの範囲を切り出した 部分行列を表す構造体。 戻り値のメンバの値は以下のようになる。
A structure which represents a partial matrix of A from (rowmin, columnmin) to (rowmax, columnmax) components. The values of members of the return value are as follows.

戻り値のメンバ
Member of the return value

Value
rowmax rowmax\(-\)rowmin\(+1\)
columnmax columnmax\(-\)columnmin\(+1\)
各\((i,j)\)に対するmain[i][j]
main[i][j] for each \((i,j)\)
A.main[rowmin-1+i][columnmin-1+j]
allocated ’y’


◆使用例(Example)

struct matrix A;
struct matrix B=cut_matrix(A,2,4,3,5);

この例において例えば \[\begin{equation} \myvector{A}= \begin{pmatrix} 1 & 2 & 3 & 4 & 5 & 6 \\ 7 & 8 & 9 & 10 & 11 & 12 \\ 13 & 14 & 15 & 16 & 17 & 18 \\ 19 & 20 & 21 & 22 & 23 & 24 \\ 25 & 26 & 27 & 28 & 29 & 30 \\ 31 & 32 & 33 & 34 & 35 & 36 \end{pmatrix} \label{eq.A} \end{equation}\] とすると、この第2行から第4行まで、第3列から第5列までを抜き出すのであるから \[\begin{equation} \myvector{B}= \begin{pmatrix} 9 & 10 & 11 \\ 15 & 16 & 17 \\ 21 & 22 & 23 \end{pmatrix} \label{eq.B} \end{equation}\] となる。
In the example above, assume that A is given by eq. (\ref{eq.A}). Then the matrix B, obtained by extracting from 2nd to 4th rows and from 3rd to 5th columns of A, reduces to eq. (\ref{eq.B}).