スカラー・行列間の四則演算について

数学では、スカラー・行列間の四則演算は、乗算以外定義されていません。 しかし、 LILIB では利便性のため、以下の演算を実装しています。 これらの演算では、行列の各要素に対してスカラー演算が行われます。

実装されている演算

  • スカラー + 行列
  • スカラー - 行列
  • スカラー * 行列
  • スカラー / 行列
  • 行列 + スカラー
  • 行列 - スカラー
  • 行列 * スカラー
  • 行列 / スカラー
  • 行列 += スカラー
  • 行列 -= スカラー
  • 行列 *= スカラー
  • 行列 /= スカラー

サンプルプログラム

ソースコード

  1. #include <iostream>
  2. #include "lilib.h"
  3. using namespace std;
  4. int main(){
  5. lilib::setPrecision(100);
  6. LongMatrix a(2, 2);
  7. a[0][0] = 1;
  8. a[0][1] = 2;
  9. a[1][0] = 3;
  10. a[1][1] = 4;
  11. cout << "a =" << endl << a << endl;
  12. cout << "a + 5 =" << endl << a + 5 << endl;
  13. cout << "1 / a =" << endl << 1 / a << endl;
  14. return 0;
  15. }

実行結果

  1. a =
  2. 1.000000 2.000000
  3. 3.000000 4.000000
  4. a + 5 =
  5. 6.000000 7.000000
  6. 8.000000 9.000000
  7. 1 / a =
  8. 1.000000 5.000000e-1
  9. 3.333333e-1 2.500000e-1