LongMatrix

多倍長行列クラスです。 int, LongFloat, LongMatrix, LongInterval, LongIntervalMatrix と、相互に四則演算・比較演算・代入演算が行えます。 ただし、数学的に不可能な計算(スカラーに行列を代入するなど)は行えません。

行列要素へのアクセス例

4 行 3 列の行列を作る場合、以下のように宣言します。

  1. LongMatrix a(4, 3);

行列 a の 2 行 1 列目の要素には、以下のようにアクセスできます。 行数・列数が 0 から始まっていることに注意してください。

  1. a[1, 0] = 1;
  2. a[1, 0] /= 3;
  3. std::cout << a[1, 0] << std::endl;

コンストラクタ

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 に代入する。簡易的な実装であり、精度は低い。