ミンミンの日記

o108minminの近況や感想など

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

今期はMATLAB(Octave)で作業する時間が多かったので、すぐプロットしたりプレビューできる環境にハマってしまった。そこでpythonを用いて、似たようなものが作れないかとやってみる。

目指すべき特徴

  • python3.4.3をサポート
    • RaspberryPi上で動けば完璧だが、ARMかつ、32bitな環境でどこまでいけるか不明。
  • matplotlibのplotへの容易な受け渡し
    • spyderにも対応したいが、spyderでpython3.4.3が動くのか謎。ggってみたら、ubuntuではできるらしい。

というかmatplotlibのplotに簡単に渡せればそれで良い。

基本的なもの

interval型

  • 数値 inf
  • 数値 sup
    • todo:アクセサーをどうするか考える
      • GetInf(),GetSup()
      • lower(),upper()

interval型の四則演算

  • 関数 __add__ 和
  • 関数 __sub__ 差
  • 関数 __div__ 積
  • 関数 __mul__ 除

ここらへんはオーバーロードする関数

出力関係

  • 関数 __repr__
  • 関数 __str__

ここまでを4-5日以内に終わらせる。
やるべきことはわかっているものの、pythonに慣れていないので時間がかかりそうだ。

数学関数関連

todo:python標準のmathライブラリーをすべてオーバーロードすべきか考える。

丸め関連

これが一番の鬼門になる。単純なSuccPredで実装しても良いが、もう少し精度の良い方法を闇を見てでも採用したい。今のところtwosum,twoproductを用いる方法が良いようだ。

今後実装したい(すべき)もの

  • interval関連のユーティリティ
    • whole( )などの区間演算用の関数を作る
  • 将来的にはDockerで簡単に導入できるようにして、レンタル鯖借りれば数値解析が簡単に数値計算が可能になると嬉しい