あまりよくわかってませんが、浮動小数点数の規格であるところの IEEE754 には、無効操作ってものが定義されてるようです。例えば Inf - Inf だとか NaN > 0 だとか sqrt(-1) だとかですね。 で、 x87 の FPU ではなんか、これはたいていの場合ほっとくと QNaN を返す状態になってるみたいです。たいていの場合ってのはうちの Linux および Windows の場合、というわけなのですが。で、これ嬉しいかというとあんまりゲームとかでは嬉しくなくて、ゲームで QNaN なんて出てきたらそれはもうものすごい勢いで即日落ちて欲しいんです。 ところが D 言語では float だの double の初期値は QNaN でして、 OpenGL は QNaN の座標とかを示されても特に騒ぐこともなく単に描画してくれない。だから変数の初期化忘れるとなんか画面に色々出ない
海野です。 自然言語処理などで機械学習を行おうとすると、非常に疎なベクトル表現を使いたくなります。疎、というのはほとんどの要素が0である、という意味です。前々から疎ベクトルライブラリのパフォーマンスに関して気になっていたので、幾つか調べてみました。 Jubatus Workshopでも話したとおり、機械学習を適用しようとすると、普通は対象のデータをベクトル表現に落とします。特に言語データの場合は、それぞれの単語や文字などを特徴次元とするため、非常に疎なベクトルとなってしまいます。純粋な配列(C++で言えばstd::vector)を使ってしまうと、大量にメモリを食ってしまうため疎ベクトル専用の表現を使うのが普通です。 今日は様々な疎ベクトルライブラリのパフォーマンス比較を行おうと思います。比較したライブラリは以下のとおり。真の意味で、疎ベクトルのライブラリは、Eigenとublasだけで、残
id:naoya さんのLatent Semantic Indexing の記事に触発されて、ここ1週間ほどちょくちょく見ている行列の近似計算手法について書いてみる。ここでやりたいのは単語-文書行列(どの単語がどの文書に出てきたかの共起行列)や購入者-アイテム行列(どの人がどの本を買ったかとか、推薦エンジンで使う行列)、ページ-リンク行列(どのページからどのページにリンクが出ているか、もしくはリンクをもらっているか。PageRank などページのランキングの計算に使う)、といったような行列を計算するとき、大規模行列だと計算量・記憶スペースともに膨大なので、事前にある程度計算しておけるのであれば、できるだけ小さくしておきたい(そして可能ならば精度も上げたい)、という手法である。 行列の圧縮には元の行列を A (m行n列)とすると A = USV^T というように3つに分解することが多いが、も
理論の研究の道具として、数値計算は大変有用であるので、僕は、院生の間に大きな数値計算をすることを推奨している。ところで、数値計算にはバグとか誤差がつきものである。数値計算を始めると、かなりの時間を、バグや誤差との戦いに費やすことになるのが普通である。 数値計算は、僕自身、数値繰り込み(A. Shimizu, H. Aoki and H. Kamimura, J. Phys. C19, 725-738 (1986))とか、 会社にいた頃にやったかなり複雑なデバイスシミュレーション(A. Shimizu and T. Hara, IEEE J. Quantum Electron. QE-23, 293 (1987)) の経験があるものの、それ以外はたいした数値計算をしていないので、専門家ではない。しかし、何人かの人の数値計算を見て来て気付いたのは、僕が犯しそうなミスとは違うパターンの、似たよう
この上限の値を超過すると数値計算上は無限大と扱われてInfとなります. (上記の記述はSun Forte Developerのマニュアルの「数値計算ガイド」を参考にしました.) (発生場所の特定方法) InfやNaNが発生する場所を特定したい. 演算の結果が上記のInfやNaNとなる時の検出のために SigFPE(Floating Point Exception, 日本語では演算例外もしくは浮動小数点例外) というシグナルがあるのですが,数値計算を行う上では不合理なことに, デフォルトでは演算例外が起こってもSigFPEを発生せずに計算が続行されます. そのため,InfやNanの発生場所の特定のためには, 演算例外でこのSigFPEが発生するようにすればよいことになります. (すると,Kernel側でシグナルを検出してプログラムが停止します.) しかし,デバッグのためにプログラムをわざわざ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く