LongIntervalMatrix

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

行列要素へのアクセス例

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

  1. LongIntervalMatrix 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;

コンストラクタ

LongIntervalMatrix()1 行 1 列の行列。値は不定。
LongIntervalMatrix(int rows, int columns)rows 行 columns 列の行列。値は不定。
LongIntervalMatrix(LongMatrix x)
LongIntervalMatrix(LongIntervalMatrix x)
x で初期化する。

メンバ関数

void resize(int rows, int columns)サイズを rows 行 columns 列 にする。値は不定になる。
int rows()行数を取得する。
int columns()列数を取得する。
std::string getMidRad()中心値と半径を表す文字列を取得する。
std::string getInfSup()下端と上端を表す文字列を取得する。
LongMatrix mid()中心値を取得する。
LongMatrix rad()半径を取得する。
LongMatrix diam()直径を取得する。
LongMatrix inf()下端を取得する。
LongMatrix sup()上端を取得する。
LongMatrix mig()最小絶対値を取得する。
LongMatrix mag()最大絶対値を取得する。

非メンバ関数

LongIntervalMatrix sqrt(const LongIntervalMatrix &a)各要素が a の各要素の平方根となる行列を取得する。
LongIntervalMatrix trans(const LongIntervalMatrix &a)a の転置行列を取得する。