数値解析日記

数値解析関係のネタ帳。C++,pythonなど

Unite 2017に行ってきたよ

Unite 2017に行ってきたよ 見たセッションとかメモとか Day1 「魔法使いプリキュア!」EDでのUnity映像表現の詳細解説 非公開なのでおおまか。 導入前後での作業フローの比較など。グラフィック寄りの話で素敵なシェーダーの話など。途中で抜けてしまったが…

n=5000兆でヤコブ・ベルヌーイのeの定義は使えるか?

n=5000兆でヤコブ・ベルヌーイのeの定義は使えるか? https://twitter.com/nrmti/status/868980739047530496 の検証 見づらかったら、ここ見てね 素のコード jupyter ipynb 言語はPythonです。 import decimal decimal.Context() Context(prec=28, rounding=…

武蔵野アブラ学会の美味しいトッピング

武蔵野アブラ学会の美味しいトッピング 一番槍再び。 この記事はみす裏アドベントカレンダーの一日目です。 テーマなんぞ与えられてないので好きに書きます。 武蔵野アブラ學会というお店をご存じでしょうか? 公式サイト 油そばの専門店でここ数年虜になって…

nextafter関数の使い方

nextafter関数の使い方 import numpy as np numpyのnextafter関数を使っていたらこんな事態に遭遇した。 nextafter(x1, x2[, out]) Return the next floating-point value after x1 towards x2, element-wise. np.nextafter(2, 1) 1.9999999999999998 え? x2…

JuliaのFloatとRoundingの奇妙な挙動[追記]

JuliaのFloatとRoundingの奇妙な挙動 with_rounding(Float64, RoundNearest) do exp(-0.999) end 0.36824750461366296 with_rounding(Float64, RoundUp) do exp(-0.999) end 0.3682475046136629 with_rounding(Float64, RoundDown) do exp(-0.999) end 0.368…

numpyを使って、行列に対するtwosum, twoproductを高速化する

柏木先生の考案された改良型twosum, twoproductを行列に適用し、それをnumpy流にベクトル化し、高速化した。 コードと結果は以下 github.com github.com 環境は Mac Book Pro 2012 mid (ただし、メモリを16GBに増やしている) anaconda 4.0.8 (以下anaconda内…

分数区間を用いた、浮動小数点数の区間包含についてのアイデア

分数区間を用いた、浮動小数点数の区間包含について python 3.5.1で動作を確認 区間演算の実装について(2)をpython上解決する場合のアイデア。 いろいろと検証が足りていないが公開はする。 jupyter notebook用のコードもアップロードした。 import pint as …

pythonの区間演算ライブラリ進捗2016-01-05

実は大体できた(唐突)。 今回はvmathクラスの紹介 github.com import pint as pn from pint import vmath a = 2. itv_a = pn.interval(a) print(itv_a) [2.0,2.0] vmath.sqrt(a) 1.4142135623730951 floatを代入するとfloatが返ってくる vmath.sqrt(itv_a) […

メモ:as_interger_ratio()では正確に元の分数には戻せない

as_interger_ratio()では正確に元の分数には戻せない a = 0.1 を区間型に代入する際にうまく包含できないので、色々実験してみた。 何が問題なのか? import pint as pn x=pn.interval(0.1) と、2進数小数で表現不可能な数字なので下限と上限は format(x.inf,…

メモ:twosumアルゴリズムの研究

twosumアルゴリズムの研究 from pint import roundfloat as rf from pint import roundmode as rdm a=0.1 b=0.2 誤差が発生するパターン rf.rdadd(a, b, rdm.nearest) 0.30000000000000004 最近点丸め rf.rdadd(a, b, rdm.up) 0.30000000000000004 上方向丸…

pythonの区間演算ライブラリ進捗2015-11-16

成果 github.com ソースコードが長くなりそうだったので分離した。 本当は一つのファイルで行きたかったけど、管理や読み込みなどを考えたら分離せざるを得なくなった。 github.com github.com list型を継承したinterval型も入る便利な配列を作る。 に該当す…

pythonの区間演算ライブラリ進捗2015-10-25

成果 PEP8に対応した。 Githubにコードを公開した。 github.com 反省 PEP8対応のため、手動で途中まで直したが、autopep8コマンドで十分だった。(勉強にはなったけど) 今後の方針 list型を継承したinterval型も入る便利な配列を作る。 標準のmathを継承し、i…

pythonの区間演算ライブラリ進捗2015-10-13

成果 numpyのndarray型に対して、numpyのndarrayの加減乗っぽく計算する、仮想丸め方向付き計算クラスroundarrayを実装 反省 ndarrayの除算っぽい計算が実装できなかった(数値計算にとって必要なのかもよくわからない……) double型の行列に対してtwosum,twopr…

ブラウザで動くIDE codenvyで遊ぶ

なんか他に書くこと溜まってるような気がするけど、便利そうだったので書いておく。 codenvy.com 数年前にニュースサイトで目にしたのでお気に入りに放り込んでおいてたが、全く使っていなかった。 お気に入りの整理をしている最中に目についたので、アクセ…

pythonの区間演算ライブラリ進捗2015-09-22

成果 interval型の配列をplotする plotinfsup,plotlengthを作成した。 反省 しかし、実装がとても汚いので、公開には遠い 理想はplotinfsup(x,y)でplotできるようにすること とある場所で進捗を発表したら、フィードバックがあったので。 今後の方針 行列の…

pythonの区間演算ライブラリ進捗2015-09-09

interval型の四則演算は加減乗まで完成。 丸め方向問題は柏木雅英先生の無誤差変換を用いた方向付き丸めのエミュレートを利用することにした。クラス roundfloat型の中に丸め方向を指定した加算乗除の計算関数を実装。 str( )などの関数は未実装 肝心要のplo…

pythonの区間演算ライブラリで実装したいものリスト

今期はMATLAB(Octave)で作業する時間が多かったので、すぐプロットしたりプレビューできる環境にハマってしまった。そこでpythonを用いて、似たようなものが作れないかとやってみる。 目指すべき特徴 python3.4.3をサポート RaspberryPi上で動けば完璧だが、…