pythonの区間演算ライブラリ進捗2015-09-22
成果
- interval型の配列をplotする plotinfsup,plotlengthを作成した。
反省
- しかし、実装がとても汚いので、公開には遠い
- 理想はplotinfsup(x,y)でplotできるようにすること
とある場所で進捗を発表したら、フィードバックがあったので。
今後の方針
行列の実装
plotinfsup(x,y)やplotlength(x,y)を実装するにしても、他のことをやるにしても、行列の実装は避けられない。
しかし、高速に行列演算を実行するnumpyのndarrayクラスは、あらかじめ決められた型でしか利用することができない。
自分でBLASを使って書くことは不可能に近いので、ndarrayクラスを利用して書いていくことになる。改善案として、以下の2つを考えた。
- 新しいinterval型arrayクラスを作成し、内部にndarrayクラスの行列を格納する。
内部にintervalarray.infarray,intervalarray.suparrayという、double型のndarray配列を用意し、格納する。
しかし、以下のような問題が発生する。
- 確保するメモリの最適化
infarray,suparrayのように二つに分割すると、連続したメモリ領域を確保することができない。大きく配列を確保して、分割する方法でも可能だが、 - 計算順序の複雑化
悪夢