関数multiply_matrix マニュアル

(The documentation of function multiply_matrix)

Last Update: 2021/12/6


◆機能・用途(Purpose)

2つの行列の積を計算する。
Calculate the product of two matrices.


◆形式(Format)

#define MULTIPLY_MATRIX_VERBOSE 0 //→進行状況を表示したくない場合 (To suppress displaying the progress)
#include <matrix/operation.h>
inline struct matrix multiply_matrix
(const struct matrix A,const struct matrix B)


◆引数(Arguments)

A 積の計算に用いる1つ目の行列\(\myvector{A}\)。
The first matrix \(\myvector{A}\) used in the calculation of the product.
B 積の計算に用いる2つ目の行列\(\myvector{B}\)。 行数は\(\myvector{A}\)の列数と等しくなければならない。
The second matrix \(\myvector{B}\) used in the calculation of the product. The number of rows of \(\myvector{B}\) must be equal to the number of columns of \(\myvector{A}\).


◆戻り値(Return value)

行列\(\myvector{A}\myvector{B}\)を表す構造体。 戻り値のメンバの値は以下のようになる。
A structure which represents a matrix \(\myvector{A}\myvector{B}\). The values of members of the return value are as follows.

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

Value
rowmax A.rowmax
columnmax B.columnmax
各\(i\), \(j\)に対するmain[i][j]
main[i][j] for each \(i\) and \(j\)
\(\sum_k\) A.main[i][k]∗B.main[k][j]
allocated ’y’


◆使用例(Example)

struct matrix A,B;
struct matrix C=multiply_matrix(A,B);


◆補足(Additional notes)

行列の積の計算は時間がかかるのでデフォルトで進行状況を表示する仕様にしている。 進行状況を表示したくない場合はプログラムの冒頭に 「#define MULTIPLY_MATRIX_VERBOSE 0」と書く。
Since it takes time to compute the product of matrices, its progress is displayed by default. To suppress displaying the progress, write “#define MULTIPLY_MATRIX_VERBOSE 0” at the top of the program.