タグ

アルゴリズムと数値計算に関するkenichiiceのブックマーク (6)

  • 行列積計算を高速化してみる|やまもと

    機種名   :MacBook Pro CPU    :Dual-Core Intel Core i5 動作周波数 :2.9GHz プロセッサ数:1 コア数   :2 SMT    :有効 L1キャッシュ:32KB L2キャッシュ:コアあたり256KB L3キャッシュ:4MB明示されていませんが、購入時期から考えて、CPUのマイクロアーキテクチャはSkylake Microarchitecture(最新資料だと、Skylake Client Microarchitecture)だと思われます。 動作周波数は、CPUIDの情報だと基が2.9GHz、最大が3.3GHzに設定されていました。CPU使用量が増加すると、Tarbo Boost テクノロジーによって、自動的に動作周波数が上がる可能性があります。 コア数は2個ありますが、まずは1コア性能を向上させたいと思います。SMT(ハイパー・スレッ

    行列積計算を高速化してみる|やまもと
  • カハンの加算アルゴリズム - Wikipedia

    カハンの加算アルゴリズム(英語: Kahan summation algorithm、直訳するとカハンの総和アルゴリズム)とは、有限精度の浮動小数点数列の総和を計算する際の誤差を改善する計算手法・アルゴリズム。計算機において精度に制限のある計算をする場合[1]に、計算の途中の誤差を保持することで補正する。Compensated summation(補正加算)とも呼ぶ[2]。 単純に n 個の数値の総和を計算すると、n に比例して誤差が増えていくという最悪のケースがありうる。また、無作為な入力では二乗平均平方根の誤差すなわち に比例する誤差が生じる(丸め誤差はランダムウォークを形成する)[3]。補正加算では最悪の場合の誤り限界 (error bound) は n とは独立なので、多数の数値を合計しても、誤差は使用する浮動小数点数の精度に依存するだけとなる[3]。 このアルゴリズムの名は考案し

    kenichiice
    kenichiice 2016/04/20
    「総和を計算する際の誤差を最小化する数値解析のアルゴリズム」
  • Square root of a matrix - Wikipedia

    In mathematics, the square root of a matrix extends the notion of square root from numbers to matrices. A matrix B is said to be a square root of A if the matrix product BB is equal to A.[1] Some authors use the name square root or the notation A1/2 only for the specific case when A is positive semidefinite, to denote the unique matrix B that is positive semidefinite and such that BB = BTB = A (fo

  • Numerical Computation as Software

    Numerical Computation as Software ソフトウェアとしての数値計算 Last Update: 2007-10-21 お断り&言い訳 [2007-10-21] 「今後の当面の方針」について [2007-10-13] Version 1.0.3.2公開。 内容 [Bug] 表紙 目次 初めに 数値計算のための予備知識 数学ソフトウェアの現状と数値計算の役割について 数の体系,コンピュータ,浮動小数点数 浮動小数点数と丸め誤差 多倍長計算 計算量について 初等関数の計算 連立一次方程式の解法1-- 直接法 ノルム,条件数,連立一次方程式の誤差解析 連立一次方程式の解法2 -- 反復法 連立一次方程式の解法3 -- Krylov部分空間法 行列の固有値・固有ベクトル計算 非線型方程式の解法 代数方程式の解法 補間と最小二乗法 数値微分と数値積分 常微分方程式の初期値問

    kenichiice
    kenichiice 2011/11/02
    書籍の体裁。good。「ソフトウェアとしての数値計算」
  • 浮動小数点数の比較

    浮動小数点数の比較アルゴリズム ホーム イントロダクション 許容値の選び方 close_at_toleranceアルゴリズム 編集 謝辞 参考 イントロダクション とても大きな数値は小さな数値では、abs(f1-f2) <= eというシンプルな解放では浮動小数点数の 等値チェックはうまくいかないことがある。そのため、operator=(...)の使用はふさわしくないと言える。 この浮動小数点数比較アルゴリズムはより信頼性の高い、Knuthの[1]の文献で紹介されている方法を元にしている。 不動小数点数 u と v 、許容値 e が与えられたとする。

  • FLP35-C. 浮動小数点数値を比較する際には精度を考慮する

    FLP35-C. 浮動小数点数値を比較する際には精度を考慮する C の浮動小数点演算は正確ではない。特に、浮動小数点数を比較する際は、可搬性があり計算結果が同じになる方法で行う必要がある。 違反コード c と a / b の比較の結果は、あらかじめ予測することはできず、実行するマシンやコンパイラ、最適化レベルの違いによって変わる可能性がある。 float a = 3.0; float b = 7.0; float c = a / b; if (c == a / b) { printf("Comparison succeeds\n"); } else { printf("Unexpected result\n"); } 処理系固有の詳細 このコードを、IA-32 Linux 上の GCC 3.4.4 で最適化レベル 1 以上、あるいは IA-32 Windows XP 上の Microsof

  • 1