LILIB (20151213) | 2015-12-13 20:00 |
多倍長行列クラスです。 int, LongFloat, LongMatrix, LongInterval, LongIntervalMatrix と、相互に四則演算・比較演算・代入演算が行えます。 ただし、数学的に不可能な計算(スカラーに行列を代入するなど)は行えません。
4 行 3 列の行列を作る場合、以下のように宣言します。
行列 a の 2 行 1 列目の要素には、以下のようにアクセスできます。 行数・列数が 0 から始まっていることに注意してください。
LongMatrix() | 1 行 1 列の行列。値は不定。 |
LongMatrix(int rows, int columns) | rows 行 columns 列の行列。値は不定。 |
LongMatrix(const LongMatrix &x) | x で初期化する。 |
void resize(int rows, int columns) | サイズを rows 行 columns 列 にする。値は不定になる。 |
int rows() | 行数を取得する。 |
int columns() | 列数を取得する。 |
std::string getString() | 値を表す文字列を取得する。 |
LongMatrix abs(const LongMatrix &a) | 各要素が a の各要素の絶対値となる行列を取得する。 |
LongMatrix sqrt(const LongMatrix &a) | 各要素が a の各要素の平方根となる行列を取得する。 |
LongMatrix trans(const LongMatrix &a) | a の転置行列を取得する。 |
LongMatrix zeros(int rows, int columns) | rows 行 columns 列 の全要素が 0 の行列を取得する。 |
LongMatrix ones(int rows, int columns) | rows 行 columns 列 の全要素が 1 の行列を取得する。 |
LongMatrix eye(int size) | size 行 size 列 の単位行列を取得する。 |
void qr(LongMatrix &q, LongMatrix &r, const LongMatrix &a) | a を QR 分解し、結果を q, r に代入する。簡易的な実装であり、精度は低い。 |