[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 11:17 / Filesize : 345 KB / Number-of Response : 955
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

データ解析ツールoctaveを語ろう



1 名前:名無しさん@お腹いっぱい。 [04/06/01 00:13]
知る人ぞ知る強力なデータ解析ツール octave ...

unixを科学研究で使っている香具師には非常に心強い味方のはずだ。

matlab互換を主張しながら、微妙にバージョンアップを続ける
octaveについて語ろう。



703 名前:octave for windowsメモの筆者 [2009/01/26(月) 19:31:40 ]
octave3.0.4のソースのRC2が出ました。

ttp://www-old.cae.wisc.edu/pipermail/octave-maintainers/2009-January/010310.html

octave3.0.4ももうじきです。
一応3.0シリーズのラストと位置づけられているようで,
octave 3.2シリーズの準備がoctave 3.1で行われています。

704 名前:octave for windowsメモの筆者 [2009/01/27(火) 08:36:09 ]
>>703
しかし,3.0になるときも,次は3.0とでながらかなり細かいバージョンアップを続けた経緯があるのでどうなるかは。分かりませんが。

705 名前:octave for windowsメモの筆者 [2009/01/28(水) 07:54:39 ]
cygwin版のoctave-3.0.3がでました。ただし,パッケージングミスがあり,
mkoctfileが動きません。/usr/lib/octaveのlibctave.dll.a(oが抜けている)
をliboctave.dll.aにすれば動きました。報告をして,Macroさんが確認された
ので数日中にはfixされるでしょう。

706 名前:名無しさん@お腹いっぱい。 [2009/02/01(日) 00:21:14 ]
output_precision=16って入力して表示桁数を変えようと思ったら,
output_precision is no longer a built-in variable
と出ました。
その後output_precition=16となりましたが数値の表示桁数が変わりませんでした。
どうすればよいのでしょうか

707 名前:octave for windowsの筆者 [2009/02/01(日) 18:03:15 ]
>>706
output_precision(16)としてください。octaveはver3から殆この手のものは=ではなくて、()で設定します。

708 名前:octave for windowsの筆者 [2009/02/01(日) 18:05:12 ]
>>706
output_precision(16)としてください。octaveはver3から殆この手のものは=ではなくて、()で設定します。


709 名前:octave for windowsの筆者 [2009/02/01(日) 18:05:36 ]
>>706
output_precision(16)としてください。octaveはver3から殆この手のものは=ではなくて、()で設定します。


710 名前:octave for windowsの筆者 [2009/02/01(日) 18:06:06 ]
>>706
output_precision(16)としてください。octaveはver3から殆この手のものは=ではなくて、()で設定します。


711 名前:octave for windowsの筆者 [2009/02/01(日) 18:08:53 ]
携帯から書込みしたら重複投稿してしまいました。ごめんなさい。m(_ _)m



712 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/02(月) 17:07:41 ]
octaveでシミュレーションをやっているんですがどうしても下のようなエラーが出てしまいます
先生や先輩に聞いてもなぜかよくわからないというしまつ・・・orz
どなたか教えていただけないでしょうか?よろしくお願いします

octave:2> test2
error: invalid column index = 2001
error: evaluating binary operator `+' near line 72, column 28
error: evaluating assignment expression near line 72, column 17
error: evaluating for command near line 67, column 1
error: near line 73 of file `/home/soturon/test2.m'


ソース→www.uploda.org/uporg1984631.tex.html

713 名前:octave for windowsメモの筆者 [2009/02/03(火) 10:48:16 ]
712 ソースの場所に行ってみましたが見れませんでした^^;

714 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 10:54:34 ]
めでたしめでたし

715 名前:712 mailto:sage [2009/02/03(火) 11:36:10 ]
すいませんでした!
次こそ大丈夫なはずです

ソース→ultraup.net/man/src/u_man2312.zip.html
パス:test

716 名前:名無しさん@お腹いっぱい。 [2009/02/03(火) 12:25:39 ]
>>715 Get Files Thank youとでますが,どこに落ちたかわからん。
サイトがサイトだけに,落ちないのかも,octave for windowsメモで
Googleれば私のサイトは見つかるのでそこのアドレスに添付で
送ってください。



717 名前:名無しさん@お腹いっぱい。 [2009/02/03(火) 12:26:31 ]
>>715 Get Files Thank youとでますが,どこに落ちたかわからん。
サイトがサイトだけに,落ちないのかも,octave for windowsメモで
Googleれば私のサイトは見つかるのでそこのメアドに添付で
送ってください。



718 名前:octave for windowsメモの筆者 [2009/02/03(火) 12:28:23 ]
>>716
m(__)m
そこのアドレス==>そこに記載のメールアドレス 

719 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 13:32:15 ]
メール欄にsageと入れよう!

720 名前:octave for windowsメモの筆者 mailto:sage [2009/02/03(火) 13:40:12 ]
>>719 入れましたがどのような意味で? おじさんはワカラナイ??

721 名前:712 mailto:sage [2009/02/03(火) 13:50:48 ]
たびたび申し訳ないです><
メールで添付しときました!よろしくです

つーかアップローダーはどこがいいんだろ・・・
うpろだとか有名なとこはすぐ消えちゃうし



722 名前:octave for windowsメモの筆者 mailto:sage [2009/02/03(火) 14:06:50 ]
>>721
メールとどきましたこれから見ます。

Uploaderではなく,Yahooのアカウントをお持ちなら,YahooのGeocitiesをフリーで
広告付きだけど50Mbyteのweb spaceを借りれますよ。
私は,自分のドメインと1Gbyteのスペースと持ちたいから
有料の契約してますが,普段使う分には50Mbyteあればいいでしょう。

723 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 14:13:21 ]
>>722
Geocities?ブリーフケースのこと??

724 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 14:15:17 ]
>>720
メール欄にsageと入れると書き込みをしてもスレッド一覧の最上位にいちいち浮上しません。
sageと入れないと一部の人からくどく思われる場合がありますので、普通はsageと入れます。
ちなみにsageは日本語の「下げ」をローマ字で書いたものです。他言語のsageの意味はありません。

725 名前:octave for windowsメモの筆者 mailto:sage [2009/02/03(火) 14:21:16 ]
>>724 m(__)m ありがとうございます。

726 名前:octave for windowsメモの筆者 mailto:sage [2009/02/03(火) 14:22:03 ]
>>724 m(__)m ありがとうございます。

727 名前:octave for windowsメモの筆者 mailto:sage [2009/02/03(火) 14:36:30 ]
>>712 error: invalid column index = 2001ですね。

66行目 b(:,1)=[0;0];によって
octave:3> size(b)
ans 2 1
で1行2列の行列になってしまうわけです。

66行目 b=zeros(2,2001);
とすれば大丈夫です。
しかし,For Loopの塊ですね。
octaveでは,遅くなりますね。
漸化式likeなので
スパース行列を使えば高速化できるかも知れませんね。
ttp://www.nuce.nagoya-u.ac.jp/e8/Matsuoka/07OctaveNum/07OctaveNum.html
偏微分方程式なのでまともにやったら2重ループなのですが,遅くなるので,
漸化式を係数行列にしてスパースを使って高速化してます。

古い資料なので,octaveのバージョンが古いですが,基本は同じから
参考にしてください。
でもいまのままでも,答えは少し待てば出るので,まあ,
現状でいいかもしれませんがこういうテクニックも
あることもしっておくといいですよ。



728 名前:octave for windowsメモの筆者 mailto:sage [2009/02/03(火) 14:41:57 ]
>>723 ブリーフケースではありません。Webをおけるスペースです。
まあ,Yahooにいってみてください。
webがおけるのでファイルもおけて,
<html>
<a href='test2.m'>test2.m</a>
</html>
とでもして,index.htmlをつくり同じフォルダーに
test2.mをいれとけばいいです。



729 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 14:48:34 ]
日本のyahooの利用規約では公開目的ではなく単にファイルを置くだけなのは禁止されているはず。
国内で利用するんだったらwww.axfc.net/uploader/が良いかもしれないね。
流れてしまう速度はそんなに速くないはずだから。

730 名前:octave for windowsメモの筆者 mailto:sage [2009/02/03(火) 14:48:32 ]
>>727 おっとこの講義資料の最後の回のものです。



731 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/03(火) 14:55:26 ]
ほんとループが長い!まだ回ってる・・・

>>728,>>729
つまりヤッホーのほうは利用しないで>>729のほうがいいってことですかね??
なにはともあれありがとうございます

>>730
是非拝見させていただきます



732 名前:octave for windowsメモの筆者 mailto:sage [2009/02/03(火) 15:07:17 ]
>>729 あっとそうでしたね。

<html>
<body>
<P>数値計算ソフトのソースの例(octave)
<a href='test2.m'>test2.m</a>
</body>
</html>

とでもしとかなきゃだめでしたね。
こうすれば,一応公開目的なのでおけますよね。
ただし,パスワードがかけられませんからね。
まあ,見られてもいい(つまり公開)であればいいのですよね。



733 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/04(水) 15:14:49 ]
グラフを印刷する時、軸のラベルの文字の大きさを変えるのはどうするんですか?

print "hoge.eps" -deps -color -F:20

ってやると、目盛の数字は大きくなるけど、ラベルは小さい文字のままになりま
す。




734 名前:octave for windowsメモの筆者 mailto:sage [2009/02/04(水) 16:20:56 ]
>>733
xlabel('{\fontsize{25} x}');

735 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/04(水) 16:31:14 ]
使ってるプロットツールによると思うんだけど
文字はそのままでグラフを小さく出力すると印刷時には相対的に文字が大きくなる
例えば俺はgnuplot使ってるから
__gnuplot_set__ size 0.4 0.4;
とかやって全体的に文字サイズを変えてしまうのはどうだろう

736 名前:octave for windowsメモの筆者 mailto:sage [2009/02/04(水) 16:40:56 ]
__gnuplot_set__ size 0.4 0.4;
この設定は3.0からは使えません。

ttp://www.gnu.org/software/octave/NEWS-3.The following plot commands are now considered obsolete and will be removed from a future version of Octave:

__gnuplot_set__
__gnuplot_show__
__gnuplot_plot__
__gnuplot_splot__
__gnuplot_replot__
Additionally, these functions no longer have any effect on plots created with the Matlab-style plot commands (plot, line, mesh, semilogx, etc.).html より


The following plot commands are now considered obsolete and will be removed from a future version of Octave:
__gnuplot_set__
__gnuplot_show__
__gnuplot_plot__
__gnuplot_splot__
__gnuplot_replot__
Additionally, these functions no longer have any effect on plots created with the Matlab-style plot commands (plot, line, mesh, semilogx, etc.).


737 名前:octave for windowsメモの筆者 mailto:sage [2009/02/04(水) 16:49:14 ]
>>736 すいません。m(__)m。また,確認ミス。
とろろで「この設定は3.0からは使えません。」は使えませんはうそで,
正しくは,plot関数などによるplotには影響せず,__gnuplot_set__などは
あくまでも,別のルーチンでgnuplotのコマンドをダイレクトに使用する描画
にのみ影響する。

が正しいです。

といいのは,octaveの次のバージョンから独自のgraphicsエンジンを
使うという構想があり,このようのgnuplotの直接命令は,plotなどの
関数に影響を与えないように変更されています。


738 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/04(水) 17:27:26 ]
今プログラムを作ってるんですが下のようなエラーがどうしても消えません
どこがおかしいのでしょうか?

error: invalid column index = 0
error: evaluating binary operator `*' near line 35, column 14
error: evaluating binary operator `+' near line 35, column 12
error: evaluating assignment expression near line 35, column 4
error: evaluating for command near line 33, column 2
error: evaluating for command near line 29, column 1
error: near line 42 of file `/home/tse550u/soturon/ndynamicsg.m'


ソース:www1.axfc.net/uploader/He/so/190986


739 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/04(水) 17:29:18 ]
すいません、>>738のやつパスはdwです

740 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/04(水) 17:35:28 ]
新しいOctave入ってるPCで見てみたらマジだ
昔gset sizeでやってた頃に「これは使えなくなるから__gnuplot_set__ でやれ」
ってOctaveに怒られた時からいつかこうなるとは思ってたけど

741 名前:octave for windowsメモの筆者 mailto:sage [2009/02/04(水) 18:00:14 ]
>>738
error: invalid column index = 0
が怪しい。行列やベクトルは最初に現れたsizeで初期化されますから,
sizeを指定したいときは,
A=zeros(N,M);
などであらかじめ指定してください。





742 名前:octave for windowsメモの筆者 mailto:sage [2009/02/04(水) 18:06:08 ]
>>740
今は,JhandleというMATLABそっくりな図を描くグラフィックバックエンドも
ありますしね。MATLAB互換路線になっていますから,まあ仕方ないでしょう。
私は,データ吐き出して,
gnuplotで直接図描きますから関係あまりないのですが^^;。

ところで,jhandleは,epsはファイル形式は,postscriptのみだったと
思います。
emfなどはpstoeditをつかって変換するしかないでしょう。

743 名前:octave for windowsメモの筆者 mailto:sage [2009/02/05(木) 09:44:33 ]
>>741 error: invalid column index = 0
おっと octaveはindexが1から始まるからでたエラーですねm(__)m。

744 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/05(木) 18:07:53 ]
>>734-737 ありがとうございました。

自前のグラフィックスですかあ。私はgnuplotが結構好きなんで、微妙だなあ。
なんかOctave全体が重くなるのもいやだし。

745 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/06(金) 10:43:06 ]
筆者さん、Octaveの授業もやってるんですね。わたしも筆者さんと同じ分野の人
間です。授業でOctave使おうとしたことがあるんですが、他の教員から「そんな
ブラックボックス使わせても教育にならん」と反対されました。かといって、現
行の授業でやってるようにC言語だと、病的な文法の瑣末なところで引っ掛る学生
がいっぱいいて、シミュレーションそのものを体感させるところまで行かないん
ですよね。

"プログラミング演習"の例題をOctaveで解かせるのは、研究室の学生にさせたこ
とがあります。"プログラミング演習"は過去におそらく3種類出版されているかと
思いますが、わたしは80 年代末に出たBasic版が一番のお気に入りでした。基本
算法の解説が一番詳しかったように記憶しています。現在はFORTRAN版もBasic版
も入手困難なようですね。FORTRAN版は手元にあるんですが、BASIC版はどっか行っ
ちゃいましたorz。今出まわってる改訂版は、うーん、解説は適当だし、Cと
FORTRAN両方のコード載せるのも場所の無駄だし、おまけに今時FORTRAN77だし。





746 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/06(金) 11:12:37 ]
いきなりOctaveやらせると感動がないじゃん
「スゲーこの言語スゲー!!俺こんなに手抜いちゃって良いの?」
っていう感じで

747 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/06(金) 13:12:13 ]
FORTRANでもいいんじゃね

748 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/06(金) 13:26:18 ]
Matlab/Octaveの醍醐味は初級プログラミングのレベルではなくて
普通にループを回すと何時間も何日もかかるループ処理が
行列演算で1発で出るという所なので
Excelで済む程度のデータなら必要無いでしょうね

逆に例えばモンテカルロ計算なんかだと、
一般的なプログラムではループ10万回ぐらい回して
そのループの中で乱数を発生させて、関数に入れて結果を見る事になりますが

Matlab/Octaveでは最初に、10万個の乱数配列を作り
行列演算化した関数に入れて1発で結果が出るみたいな感じなので
発想を根本的に変えないといけません

749 名前:octave for windowsメモの筆者 mailto:sage [2009/02/06(金) 18:05:40 ]
>>748
そうですね。いかに,行列で問題を記述するかにかかってて,
偏微分の差分法の陰解法では良くガウスザイデル法とかつかいますが,
Octaveなら行列で方程式書いて左除算で済ませる。

係数行列は疎行列だからsparseを使って高速化するとか
発想が違いますよね。

まあ,ブラックボックスっいう方いますが,硬い微分方程式なんぞ
ルンゲクッタで解こうとすると大変で,lsode使うとあっという間に
解けますよね。

適応的自動積分でも同じだとおもいます。

シンプソン公式を自分でCで書いて使うような時代ではないと思ってます。

ブラップボックスでもいいから,数値計算ができることの意味を分からせる
のが大事だとおもいます。



750 名前:octave for windowsメモの筆者 mailto:sage [2009/02/10(火) 09:42:13 ]
開発版octave 3.1.52がでました。
ttp://www.nabble.com/Octave-3.1.52-available-for-ftp-to21923205.html#a21923205

Octaveの次のMajor Version Upはver 3.2であり,octave-3.1.xxは開発版です。
その3.1.52がでました。

gnuplotは一応defaultのgraphic backendでopenglによるgraphic backend
を機能させるためにはいろいろライブラリィが必要なようです。

詳しくは以下を
ttp://www.nabble.com/Octave-3.1.52-available-for-ftp-to21923205.html#a21923205



751 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/10(火) 11:39:01 ]
そういえば新パソにFreeBSD7.1を入れて、
pkg_add -vr octave-devel
とインストールしたら
GNU Octave, version 3.1.51
でした。leasqrが入って無いのでoctave-forge-optimを入れてないような気がする。
バージョンごとに何が良くなったのか、見えにくいのが何とも…

そういえば、何語なのかわからないけど(チェコ語?)
Octave/Matlabのグラフィックスの例題があります
enacit1.epfl.ch/cours_matlab/graphiques.html
gnuplotは置いておいて、jhandleならかなりMatlabに近い事が出来ました



752 名前:octave for windowsメモの筆者 mailto:sage [2009/02/10(火) 14:57:02 ]
>>751 3.1.xx はdevelopment branchなので,octave-forgeは多分
自分でpkg installで行う必要があると思います。
しかも,octave-forgeは3.0.x用に作られているので結構苦労する可能性は
あると思います。

一般的なものは3.0.xxです。現在3.0.3が,最新版で3.0.4はもうすぐ出るのだと
思います。

(独り言)3.0.4RC3が出てからだいぶたつけど,いつになったら3.0.4の
正式リリース出るんだろう。



753 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/10(火) 15:52:50 ]
>>752
その後に、octave-forge-optimを入れたらOctave 3.0.2に上書きされました

754 名前:octave for windowsメモの筆者 mailto:sage [2009/02/12(木) 07:59:06 ]
>>753 3.0.2でいいと思いますよ。

755 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/14(土) 23:15:47 ]
ここを見て気になったので試してみました
ttp://hiyokoz.blogspot.com/2008/04/octave.html
ベンチの内容は
n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
だけ
内容は2000の大きさの乱数配列を2個用意してベクトル積するだけです

手持ちの機種で比べると
Intel Core2Duo 2.1GHz, WinXP
 MSVC, Octave 3.0.1  2.05 GFLOPS 
 Cygwin, Octave 3.0.3  0.99 GFLOPS
Intel Pentium M 1.6GHz, WinXP
 MSVC, Octave 3.0.0  0.81 GFLOPS 
 Cygwin, Octave 3.0.3  0.18 GFLOPS
Intel Atom N270 1.6GHz, FreeBSD 7.1
 FreeBSD Octave 3.0.2 0.17 GFLOPS

PenMとAtomマシンに対してCで書かれた一般的なベンチ(Flops-2.0)で試すと
どちらも0.18GFlopsなので、同じクロックのPenMとAtomは同じ程度の
浮動小数点演算能力を持っていると考えられます。

問題はそのページに載ってる
MacBook (Core Duo 1.83 GHz): 約 3 Gflops
iMac (Core 2 Duo 2.4 GHz): 約 12.5 Gflops
Mac Pro (Xeon 3 GHz クアッドコア×2): 約 50 Gflops

という結果です。私の結果では Core2Duo 2.1GHz はMSVC版でも2GFLOPSでしたが
iMacの結果は2.4GHzとほぼクロックが同じにもかかわらず12.5GFLOPという
圧倒的なパフォーマンスです。Octaveを使うのならMacで決まりでしょうか

756 名前:octave for windowsの筆者 mailto:sage [2009/02/15(日) 07:06:09 ]
>>755

そうですか。ところでMSVC版はsse2でしょうか。Genericでしょうか?。

GenericだとATLAS使わないので。

MacOSはunixというのもあるかもしれません。


757 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 09:48:41 ]
>>756
それはもちろん、PenMはSSE2、Core2DuoはSSE3でインストールしてます
ATLASを使っても、この程度という事はロハで出来る範囲はこの程度なのでしょう

その元のブログには
>g95はOpenMPに対応していないが,アクティビティモニタを見るとCPUは二つとも動いているので,
>スレッド化されているようだ.おそらく,Mac OS XのAccelerate.frameworkに含まれている
>BLAS/LAPACKが呼ばれていて,Fortranコンパイラは無関係だと思われる.

と書いてありますから、ATLASとAccelerate.frameworkの差だと思われます
Windowsで同様の事は出来ないのか?というと一応MKLがあります
ttp://sourceforge.jp/magazine/08/12/24/123237/2
>今回使用したテストプログラムは500×500の行列同士の乗算を100回繰り返すというもの
>MKL    1.903秒
>ATLAS  3.895秒
>BLAS  16.120秒

マルチスレッドが効き2コア演算が有効になるためATLASに比べて約半分の時間で計算出来ますが
恐らく「GNU」Octaveで使うのは無理でしょう。
なので、値段もさして変わらないのならMacを選んじゃった方がいい可能性もあります。

758 名前:octave for windowsの筆者 mailto:sage [2009/02/15(日) 17:12:20 ]
>>757
Accelator.frameworkのページみました。

なるほど、こりゃMacのほうがいいですね。
今度、買うならMacにしよう。

ありがとうございますm(__)m


759 名前:octave for windowsの筆者 mailto:sage [2009/02/15(日) 20:12:45 ]
良く見るとCore2Duo用にのATLASも最適化出来るようですね。

MSVC版やMinGW版は、これは使っていないでしょうね。

でも、これを使ってもMacには叶わないでしょうね。

でも、差がどれくらいになるかは興味はありますね。

しかし、使おうにもかなりビルド大変ですしね。

私はCore2Duoマシン持ってないからなんともできないですが^^;


760 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/15(日) 21:20:04 ]
>>540
を見ると、
MATLABはMSVC版の3.5倍ぐらい速いようなので(MATLABはマルチスレッドに対応してる)
MSVCで2GFLOPSなら、MATLABで7GFLOPSぐらい出そうですが
Macはその倍近い12GFLOPSですし
MATLABの維持費を考えると、35万円ぐらいの8コアのMacPro買って
実効50GFLOPSもいいかもしれません

761 名前:名無しさん@お腹いっぱい。 [2009/02/16(月) 00:38:19 ]
質問です。

やりたいことは、x=1:50; y=1:50; として、
その各々の格子点からcを作成して、 c = [ 1 ; x0; y0; ];
(x0, y0は格子点によって値が各々1〜50に変わります。)
ある行列Aとの積の値 val = A * c; を求めて、
valをある関数fの引数にすることでzを求めます。 z=f(val);

すると、x軸、y軸、z軸で等高線がひけると思いますが、
この過程を効率よく(スマートに)計算するにはどのようにすれば
よさそうですか??for文でcを作ってやるしかないですか??

50x50x3の3次元行列なんかが作れてスパッと計算できたら
よさそうなのですが、どうもよくわかりませんでした。。



762 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 09:59:37 ]
というわけでMatlabを含めてテスト

テスト対象のCPUはiMacの人と同じくIntel Core2Duo 2.4GHz
テストスクリプトは
n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
のまま

Octave Cygwin版3.0.3   GFLOPS = 1.1429
Octave MSVC版3.0.3    GFLOPS = 2.3239
MatlabR2008a(MT OFF)   GFLOPS = 6.1464
MatlabR2008a(MT ON)   GFLOPS = 10.326
(MT:マルチスレッド)
そして
Octave MacOSX版     GFLOPS = 12.5

Matlabをもってしても勝てません。もちろんループはOctaveの方が速いので
実際のプログラムの速度ではOctave-MacOSよりMatlabの方が速いでしょう
えーとちなみにMatlabは「安すぎる」と日本の関係者に言われている
アメリカの1ユーザーパッケージでも$1900で、日本国内で個人が買うと…
とても信じられない価格です ^_^;。

じゃあどうするか
・マルチスレッド対応のテキサス州立大学のGotoBLASを使う(無料、自由配布不可)
・マルチスレッド対応のインテルMKLを使う(有料、自由配布不可)
・Macを買う
・Matlabにお布施

ちなみにGotoBLASとMKLは同程度のパフォーマンスのようです。

763 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 11:07:25 ]
>>762
C:\Program Files\MATLAB\R2008a\bin\win32

blas.spec
には
GenuineIntel Family * Model * mkl.dll mklcompat.dll # Intel processors
AuthenticAMD Family * Model * mkl.dll mklcompat.dll # AMD
とありますからMATLABはMKLを使ってます
逆に言うとMKLを導入してもMATLAB程度です

764 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/16(月) 13:20:48 ]
Cygwin介す場合が遅すぎるだけな気がする

765 名前:octave for windowsメモの筆者 mailto:sage [2009/02/16(月) 15:38:46 ]
>>764 cygwin のblasってATLASじゃないとおもいまね。
かなり昔,mingwでliboctaveだけビルドできた時,行列計算にATLASをつかうと
(もちろんコードはliboctaveを使ったstandalone C++ですが。)
mingwとcygwinで差は,出ませんでした。
まあ,cygwinならoctaveビルド簡単だし,
マルチスレッド対応のテキサス州立大学の
GotoBLASを使う(無料、自由配布不可)

もcygwin上ならできるのでそこでどうなるかでしょうね。

Core2Duoのマシンのない私には無縁ですが^^;

HT Pentium(3.4GHz)だからそれでどれくらい,sse2なATLASとどこまで
向上するか比較できます。

766 名前:octave for windowsメモの筆者 mailto:sage [2009/02/16(月) 16:04:11 ]
>>762
>・マルチスレッド対応のテキサス州立大学のGotoBLASを使う(無料、自由配布不可)

この場合,
octaveを自分でビルドする必要があるわけですね。

gcc-4.3.2-dw2-TDMのmingwでoctaveを構築(3.0.4RC3)したら,左除算がハングって
なぜ????

mingw-gcc-3.4.5なら何とかビルドできますが,いまさらgcc-3ってのもねと
おもっています。

Linuxを入れてgotoBlasてのもいいんかなとおもいますね。

職場から出るときにATLAS仕込んで帰ってやってみます。



767 名前:octave for windowsメモの筆者 mailto:sage [2009/02/16(月) 16:18:05 ]
>>761
Octaveで行列型のデータつくってはきだして
gnuplotのcontourにお任せするのはどうですか。
3Dのグラフの等高線図はgnuplotで書きますから。
たしかMATRIX型のデータも扱えるはずですよ。
どうやって等高線を引くのかアルゴリズムはしりませんが,
gnuplotはソースコード公開しているからその気になれば
読めばわかると思います。

768 名前:octave for windowsメモの筆者 mailto:sage [2009/02/16(月) 18:44:26 ]
>>766 自己レスです。意味不明な文章になっているので。<m(__)m>
帰りにコンピュータを走らせcygwinで自分のCPUにあわせたatlasを構築して,
そのATLASを使ってcygwin上でoctaveをビルドして,
MSVCのSSE2のCPUのATLASとの比較をして見ます。

という意味です。すみません。<m(__)m>




769 名前:761 mailto:sage [2009/02/16(月) 22:48:04 ]
>>767 返信ありがとうございます!
わたしの質問の仕方がまずかったようです。出力したデータの等高線を描くのは問題ないのですが、
そのデータを出力する際に、

for xi = (1:5) * 25.0 / 5.0 - 10.0
for yi = (1:5) * 25.0 / 5.0 - 10.0
c = [1; xi; yi];
a = A * c;
b = 1.0 ./ (1+exp(-a));
z = sum(b);
printf("%f %f %f\n", xi, yi, z);
endfor
endfor

としているのですが、これより速く動作する(octaveらしい)書き方がありますか?
という意味でした。分かりにくくてすみませんでした。

特にfor文で回すのではなく、他の言語(SciPy, RubyのNArray)で使えるような
3次元行列を使う方法があれば嬉しいと思っています。

770 名前:octave for windowsメモの筆者 mailto:sage [2009/02/17(火) 19:16:55 ]
>>762

MSVC
MFLOPS = 1845.9

mingw (Benjamin さんのもの)
MFLOPS = 1973.0

ATLA3.8.2を自分のコンピュータ用にcygwinでビルドしてこれをつかって,
mingw-4.3.2-dw2-TDMでoctave-3.0.4RC3をビルドしたもの
MFLOPS = 4830.2

(mingw 4.3.2でのビルドがReference Blasだとうまく動かなかったのが
Atlas使ったらあっさり動いた。なぜ!!)

私のコンピュータはHT-PentiumなのでCore2Duoまでは行かないでも,
マルチスレッドですから,やはり専用にATLASかけるとかなり違いますね。
Core2Duoならどうでしょうか?

ATLASの威力をフルに発揮させるにはやはりoctaveを自分でビルドしないと
だめですね。

octave for windowsメモにmingwで自分でビルドする方法でも書いたほうが
いいのかな。

goto blasもためしてみたいですね。

771 名前:octave for windowsメモの筆者 mailto:sage [2009/02/17(火) 19:30:43 ]
>>769 すいません。思いつきません。
<m(__)m>
Octaveは現在3次元とは言わず,
多次元行列サポートしてますんで,頑張ればできるんではないかと^^;



772 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/17(火) 20:00:29 ]
>>770
おおすごいですね
MSVCで2GFLOPSだとCore2duo 2.1GHz並ですか
ATLASで5GFLOPS近くもすごい
MSVC版は作者の使ってるマシンのCPUで最適化してるから
キャッシュ容量とかの差で、セルフビルドしたATLASと差が出るのかもしれません

こちらでもAtom 1.6GHzのネットブックに
FreeBSD7.1RのPackagesで入れたOctave 3.0.2で、0.17GFLOPSだったのが
Portsでatlas-3.8.2をmakeした後に、Portsでoctave-3.0.3をmakeして測ったら0.81GFLOPSでした
3万円ぐらいのネットブックでこんだけ出れば十分です

773 名前:octave for windowsメモの筆者 mailto:sage [2009/02/18(水) 09:13:35 ]
>>770 >>772
家のパソコン1.2GHzのCeleron Mでやってみました。
MSVC 3.0.3 367 MFLOPS (sse2,Michael)
mingw 3.0.2 830 MFLOPS (see2,Benjamin) 
mingw 3.0.4RC3 1110 MFLOPS (sse2, ATLAS3.8.2を自分のパソコンで作成)

やはり,自分の使っているCPUでATLASかけたほうがいいですね。
Celeron Mは,意外に速いのですが,MSVC版とmingw版ではHT-pentiumでは
差が少ない飼ったのですが, Celeron Mではかなり差がありますね。
実際に ATLASをかけられたCPUとCeleron Mとのコードの最適化の
相性でしょうね。

P行列計算が関係のない,硬い微分方程式の解析でもmingw
Octave版の方msvc版よりかなり速いです。
mingw版はサポートしているforgeが少ないですが,私はforgeを
つかっていないのでデメリットにはなりません。
GCCも入っているのでmkoctfileのために,Msvc 2008 Expressを
入れる手間を考えると私は,Benjamin版を使っていました。

しかし,これからは自分でビルドしたものを使います。


774 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/18(水) 13:03:57 ]
>>769

こんな感じでいいのかな?

x = (1:5) * 25.0 /5.0 - 10.0;
[X,Y] = meshgrid(x, x);
c = [ones(length(x).^2, 1), X(:), Y(:)];
a = A * c';
b = 1.0 ./ (1+exp(-a));
z = sum(b);

result = [X(:), Y(:), z'];

for i = 1:length(x).^2
printf("%f %f %f\n", result(i,:));
end

775 名前:octave for windowsメモの筆者 mailto:sage [2009/02/18(水) 13:05:10 ]
>>770 >>772 >>773
大学のパソコンでcygwinでやりました。ATLAS演算は,予想通りほぼ一緒でした。
MFLOPS = 4749.2
とにかく,windows上でお金をかけずに行列計算をそこそこ高速でやりたい人は
自分でATLASからビルドするということがとりあえずのまとめですね。

goto BLASでどうでるかですね。これは,再配布禁止なので,
自分でビルドするしかないですよね。



776 名前:octave for windowsメモの筆者 mailto:sage [2009/02/18(水) 17:31:53 ]
octave-3.0.4RC4がでました。

ttp://www.nabble.com/3.0.4-RC4-to22073703.html#a22073703

これで最後のRelease Candidate (RC) だと思いますが^^;

777 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/18(水) 20:43:39 ]
>>774 ありがとうございます!XとYの長さが同じ時はこれで完璧ですね。
なるほど、X(:), Y(:)で列ベクトルにして値をもっちゃえばできたんですね、
勉強になりましたm(_ _)m

778 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/19(木) 09:40:55 ]
Octave 3.0.3をcygwinでmakeすると
libcxsparse.a
でこけますね
3.0.2でやればいいのかな

779 名前:octave for windowsメモの筆者 mailto:sage [2009/02/19(木) 14:25:20 ]
>>778 SuiteSparse3.2.0になってますか。
なんか,g77とgfortranが互換性がないため,
gcc-4を使うためには,SuiteSparseを最新版にする必要があります。

ちなみに私は,SuiteSparseは自分でビルドして使っています。
自分のコンピュータ用にオプション入れていますので
-O3 -fomit-frame-pointer -march=1686 -mmmx -msse3

自分でcygwinでビルドする場合にはcs.hにパッチをあてる必要があります。

--- cs.h.org/cs.h 2007-05-18 21:12:04.000000000 +0900
+++ cs.h 2007-08-15 04:10:12.078125000 +0900
@@ -17,7 +17,11 @@
extern "C" {
#else
#ifndef NCOMPLEX
+#ifdef __CYGWIN__
+#define I 1.0I
+#else
#include <complex.h>
+#endif
#define cs_complex_t double _Complex
#endif
#endif




780 名前:octave for windowsメモの筆者 mailto:sage [2009/02/23(月) 13:04:07 ]
ATLAS(3.8.2)の組み込み(Windows版cygwin,mingw)の簡易メモ
そのうち自分のページに書くつもりですが,その前に
ATLASのビルドは,cygwin上で行う。(mingwでは無理)。
ATLAS(3.8.2)はgcc-3とgcc-4では違うコードを吐く。octaveでgcc-4でのビルドが
よいので,gcc-4でのビルドがいい。cygwinのgcc-4は,gcc-4.exeとgfortran-4.exe
を使うが,ATLASはgccとgfortranでないと動かない。gcc-3のgcc.exeをgcc-3.exe
のようにリネームして,構築する。
外部ライブラリではcygwinでは,setup.exeでインストールし,mingwではBenjamin
さんのライブラリを拝借するのがはやい。
まずは,ここまで。




781 名前:octave for windowsメモの筆者 mailto:sage [2009/02/23(月) 13:15:46 ]
>>781
すでにあるLapackは使えないので,
適宜,CC,F77,CXX,CFLAGS,FFLAGS,CXXFLAGS,CPPFLAGS,LDFLAGSを定義して
(これが結構面倒なんだが^^;)
./configure --with-blas='-L/usr/local/atlas/lib -lf77blas -lcblas
-latlas' --without-lapack
で構築する。外部のLapackをつかうと使っているblasが違うのでうまくいかない
,octaveのソースにあるLapackを使うのが簡単。それで--without-lapackを
つかって./configureをする。
分かる人にはこれでわかるはず。わからない人には,暇になったら丁寧に書くの
でお待ちを。



782 名前:octave for windowsメモの筆者 mailto:sage [2009/02/23(月) 13:30:14 ]
>>780 推敲がいい加減だな。<m(__)m>

途中の文章を以下に訂正。

cygwinのgcc-4は,gcc-4.exeとgfortran-4.exe という名前だが,
ATLASはgcc.exeとgfortran.exeでないと動かない。gcc-3のgcc.exeをgcc-3.exe
のように退避して,gcc-4.exeとgfortran-4.exeをそれぞれ
gcc.exeとgfortran.exeにしてATLASを構築する。

>>781
mingw-gcc-4.3.0-dw2-TDMでは,C++のdllライブラリlibstdc++_tdm_dw2_1.dll
を使えるので.octファイルのサイズを抑えることができる。
CXXFLAGSの先頭にに-D_DLLをLDFLAGSの先頭に,-shared -shared-libgccを
加える。

今日はここまで。

783 名前:名無しさん@お腹いっぱい。 [2009/02/24(火) 18:30:30 ]
Octave-3.0.4 RC5がでました。予想外に3.0.4のリリース苦戦している模様。
これが最後のRC版になればいいのですが,

ttp://www.nabble.com/octave-3.0.4-rc5-td22177145.html


784 名前:octave for windowsメモの筆者 mailto:sage [2009/02/25(水) 08:05:40 ]
>>783 Plot周りのバグの指摘にJaroslav Hajekさんがきづいていなかったようで
Jwe氏より待ったがかかりました。3.0.4のリリースは遅れそうです。

私としては通常の使用では3.0.3で十分なので,無理して急ぐことはない
と意見をかきこんでいます。

しばらくは,3.0.2または3.0.3を使いましょう^^;。



785 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/28(土) 01:18:02 ]
matlabと完全互換でなくなったのは
何か理由があるのでしょうか?

786 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/28(土) 01:48:42 ]
>>785
互換性はあると思いますよ
 MATLAB→Octave
は比較的
Octaveの変な方言を使うのをやめれば
 Octave→MATLAB
もスムーズになると思われます

変な方言とは具体的には

if A<=B,
endif ← end; にする

function F=func(x)
endfunction ←不要

#    ←コメントは %

if A<>B,
if A!=B, ← A ~= B だけ

787 名前:octave for windowsの筆者 mailto:sage [2009/02/28(土) 13:22:51 ]
>>785
元々からして完全互換を歌ったことははないですよ。

MATLABが変わっていったのに追いついていなかったというのが正しい認識だと思います。
Octave ver.3は、MATLABの仕様変更に対応して変わったという面があります。

私自身はMATLABを使ったことはなく、Octaveを使った講義でMATLAB互換を歌っていますのでMATLABの書籍は持っています。

最近のOctaveは、本格的なMex対応やplot周りなどは、最近のMATLABに仕様を変えつつありますし、互換性のあるコードが以前より書きやすくなっていると思います。


788 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/02/28(土) 16:19:08 ]
>>787

「歌う」って「MATLAB互換ですよ〜♪」みたいなw

「謳う」じゃね?

789 名前:octave for windowsの筆者 mailto:sage [2009/03/01(日) 06:21:24 ]
>>788
うーん。そうっすね(^_^;)


790 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/04(水) 22:19:08 ]
gnuplotへの直接命令(__gnuplot_hogehoge)がobsoleteになった、ということが
今一わかっていないのですが、とりあえず3.0系列ではplotするとgnuplotが起動
しますよね。んでterminalはx11になっているようなんですが、これを例えばwxt
にするにはどうすればいいんですか?

791 名前:octave for windowsメモの筆者 mailto:sage [2009/03/05(木) 08:10:20 ]
>>790
octaveで最初のplotをする前ににgnupotの環境変数GNUTERMを
変更しておけばいいです。
bashなら
$ export GNUTERM=wxt; octave
または,
share/octave/3.?.?/m/startup/octaverc
share/octave/site/m/startup/octaverc
~/.octaverc
のいずれかににputenv(GNUTURM,'wxt'); を書き込みます
要はgnuplotの起動時に環境変数で決まるターミナルの名前に変更します。
後から__gnuplot__set term wxt命令はハイレベルな関数plot()には
なにも影響を与えません。
砂悪
__gnuplot__plot__ 'hoge.dat'
などのような_gnuplot_hogehoge__で使うプロットにしか
影響を与えないということです

ハイレベルというのは,アセンブラとCとの関係でC
がアセンブラと比べて高い汎用性で動いているとです。
UNIXのOctaveでも環境さえ準備すればJhandleは使用可能です。
plotなどの関数はgnuplotでもjhandleでも動くので汎用性をもった関数で
なくてはならないので,ローレベルのgnuplot直接命令が汎用命令のplotに
影響を与えることはできません。



792 名前:octave for windowsメモの筆者 mailto:sage [2009/03/05(木) 08:12:30 ]
>>791
砂悪 は消し忘れです。すいません<m(__)m>。

793 名前:octave for windowsメモの筆者 mailto:sage [2009/03/05(木) 12:32:03 ]
>>791
書き忘れましたが,print関数でplotのファイル出力には
複数のファイル形式に対応してます。
詳しくは,help plotを参照してください。
上はgraphic backendにgnuplotを使った場合です。
Jhandleだとepsしか出力できません。


794 名前:790 mailto:sage [2009/03/05(木) 13:50:03 ]
"筆者"様、ありがとうございました。

795 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/05(木) 19:28:38 ]
>>755
の続きで
Intel Core2Duo 2.1GHz, WinXP
マシンのcygwinでatlasをmakeして、octaveを再makeしてみました

現在までの結果は
MSVC, Octave 3.0.1  2.05 GFLOPS 
Cygwin, Octave 3.0.3  0.99 GFLOPS
で、
cygwinでAtlasをmakeしてみた結果は
Cygwin, Octave 3.0.3+Atlas 4.35 GFLOPS

これはすごい!。
>>762
のMSVC版の結果も合わせると
Intel Core2Duo 2.4GHz WinXPなら
Cygwin, Octave 3.0.3+Atlas 4.92 GFLOPS

ぐらいでしょうか。Matlabのシングスレッドの6GFlopsに匹敵します。
これでAtlasがマルチコアに対応すれば…

ちなみにcygwin上でのoctaveのmakeは簡単です
ttp://ftp.yz.yamagata-u.ac.jp/pub/cygwin/release/octave/
このcygwinで配布してるsrcを取ってきて、解凍して、同梱のpatchをあてて、configureしてmakeするだけです。
その前にAltasをmakeしてインストールして、/usr/local/atlas/lib の中にある*.a のシンボリックリンクを
/usr/local/lib に置くかどうかすれば、configureした時に見つけてくれます。

796 名前:octave for windowsメモの筆者 mailto:sage [2009/03/06(金) 09:25:17 ]
>>795 cygwinでoctaveつかうならaltas入れてgcc-4をつかって
自分でビルドするのがいいと私もおもいますね。
forgeはpkg installで必要なやつだけいれればいいので。

797 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/07(土) 20:06:18 ]
というわけで、Intel Core2Duo 2.4GHzのCygwinにGotoBLASを入れてみました
入れたのは最新のバージョン1.26です。CBLASも必要。
そのあとにOctaveをmakeしなおしました(Makeconfを修正してGotoBlasを有効にする)
その結果は…

octave:2> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
t = 1.0160
MFLOPS = 1.5748e+04

なんと15.75GFLOPSです。
>>762 >>795
の結果も合わせると、
Intel Core2Duo 2.4GHz, WindowsXP Proでは
Octave Cygwin版3.0.3   GFLOPS = 1.14
Octave MSVC版3.0.3    GFLOPS = 2.32
Octave Cygwin+Atlas   GFLOPS = 4.92
MatlabR2008a(MT OFF)   GFLOPS = 6.15 (MT: Multi Thread)
MatlabR2008a(MT ON)   GFLOPS = 10.33
Octave Cygwin+GotoBlas GFLOPS = 15.75
Cygwin版ノーマルと比べると15倍!この差は大きい

798 名前:octave for windowsメモの筆者 mailto:sage [2009/03/09(月) 10:06:54 ]
>>797

GotoBLAS恐るべしですね。これだとMACと同等以上でしょうか。
MacでもGotoBLASを使えってことでしょうね。
再配布が禁止なので,自分でビルドしないといけないのが難点かな。
mingwでも今度やってみます。

Makeconfを書き直されたそうですが。

私がatlasを使うとき行っている
./configure --with-blas='-L/hoge/atlas -lf77blas -lcblas -latlas'

という感じで行きませんかね。

799 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/09(月) 10:58:25 ]
>>798
lapackはバイナリーのoctaveを入れた時に入ってるので

./configure --with-blas='-L/usr/local/lib -lgoto'

だけで拾ってくれました

それとMacで速かったのはAppleのBLASであるアクセラレーション・フレームワークが入っていたからで
GotoBlasを使うのなら、Cygwinで十分だと思います。

ちなみにGotoBlasは環境変数で
GOTO_NUM_THREADS=1
とすると、1coreだけで演算してくれますが、その場合は8GFlopsでした。
2coreで約15.5GFlopsですからスケーラビリティーはあると思います。
例えば、DELLのStudio Desktop Core2Quad(2.33GHz)・4GBメモリ搭載ハイエンドミニタワーが
販売価格 69,980円
こんななので、これで4core有効にすれば30GFlopsぐらい出るでしょう。

1GFlopsと30GFlopsの差はたぶんけっこうあって、体感的には30分かかる計算が1分で終わる感じでしょうか。
もしくは1GFlopsで1回に1分かかるベクトル演算を1万個のパラメータで計算すると1万分=1週間かかりますが
30GFlopsなら5時間半で終わります。まあとにかく差が大きいです。
Atlasで使う限りはその1/4以下の能力しか出せないと考えるとGotoBlasはなかなかいいです。

800 名前:octave for windowsメモの筆者 mailto:sage [2009/03/10(火) 15:08:02 ]
>>799
/configure --with-blas='-L/usr/local/lib -lgoto'

だけで拾ってくれました
ありがとうございます

>>770
HT-pentium4
mingw-4.3.2-dw2-TDMでoctave-3.0.4RC3をビルドしたもの
MFLOPS = 4830.2

GotoBLAS
MFLOPS = 5227.0
私のやつはHT-Pentiumだからかな。でもATLASより少しは速い。
ATLASはビルドに時間食うし自分でビルドするならGotoBLASに決まりですね!!。



801 名前:octave for windowsメモの筆者 mailto:sage [2009/03/10(火) 19:37:56 ]
>>800
キリ番ゲットしてたんですね<m(__)m>。
mingw(GCC-4.3.2-dw2-TDM)でもcygwinでビルドしたリブラリ使えます。
(できたlibgoto_(cpu name).a をlibgoto.aにコピーして,
適当な場所にいれ,--with-blas='-L/usr/local/lib -lgoto' でビルドする。)
MFLOPS = 5535.1
すこしですが速くなります。こりゃビルド方法をメモにかかんとあかんなあ。
しばしお待ちを<m(__)m>。



802 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/10(火) 19:59:18 ]
>>801
MSVC版で使えると最高なんですがねぇ
GotoBlasのexports/というディレクトリーで

make dll

とやると、dllファイルが出来るんですけど
MSVCのbin/のlibblas.dllとリネームして置き換えても
cblasの関数が無いみたいなエラーが出てダメでしたね

GotoBlasとcblasをくっつけてdllをつくればあるいは…
という感じがしないでもありませんが

803 名前:octave for windowsメモの筆者 mailto:sage [2009/03/11(水) 08:19:59 ]
>>802
おそらくoctaveは将来,MSVC版はなくなりそうです。
というのはLapack 3.2はfortran90でかかれており,fortran90に対応した
f2cがないからです。
ttp://www.nabble.com/Octave---Fortran-continued-td20976664.html#a20976664
Michael(MSVC版の開発者)さんとBenjamin(Mingw版の開発者)のやり取り
を参照ください。また,行列計算以外octaveの計算速度はgcc-4.3以上を
使えばmingwの方が速いです。

clear;
function dx = oregonator_m (x, t)
dx = zeros (3, 1);
dx(1) = 77.27*(x(2) - x(1)*x(2) + x(1) - 8.375e-06*x(1)^2);
dx(2) = (x(3) - x(1)*x(2) - x(2)) / 77.27;
dx(3) = 0.161*(x(1) - x(3));
end
x0 = [ 4; 1.1; 4 ];
%t = [0, logspace (-1, log10(303), 150), logspace (log10(304), log10(500), 150)];
%t=linspace(0,500,1000);
t=0:0.5:500;
ts=cputime();
y = lsode ('oregonator_m', x0, t);
cputime()-ts
plot (t',y(:,1),"",t',y(:,2),"",t',y(:,3));

をやるとMsvc 3.0.3 1.6563s, Mingw 3.0.2 1.2188s, 4割程度mingw版の方が
速いです。私はjhandleを使わないのでmingw派です。



804 名前:octave for windowsメモの筆者 mailto:sage [2009/03/11(水) 09:41:58 ]
>>773 >>800
>1.2GHzのCeleron M
>mingw 3.0.4RC3 1110 MFLOPS (sse2, ATLAS3.8.2を自分のパソコンで作成)
でしたが GotoBLASでは900弱でした。
古いCPUの場合はATLASの方が速いですね。

805 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 10:01:18 ]
>>803
GotoBlasを入れて15GFlopsにしても、一部のプログラムでGotoBlas+Cygwin版が
2GFlopsのMSVC版よりも極端に遅い事があったのです。それで調べてみました

行列のベクトル積
MSVC
octave:1> A=randn(100);tic;for jj=0:1000;C=A*A;end;toc
Elapsed time is 0.938295 seconds.

Cygwin
octave:1> A=randn(100);tic;for jj=0:1000;C=A*A;end;toc
Elapsed time is 0.25 seconds.

Cygwinの方が4倍ぐらい速いしループのオーバーヘッドはほとんど無い

比較処理
MSVC
octave:2> A=randn(100);tic;for jj=0:10000;B=(A>0)*1;end;toc
Elapsed time is 1.797 seconds.

Cygwin
octave:2> A=randn(100);tic;for jj=0:10000;B=(A>0)*1;end;toc
Elapsed time is 40.28 seconds.

Cygwin版は比較処理が致命的に遅い!

一部の関数計算に比較処理を使うのですが、これが遅いと非常に困るんですよね
そういう意味でMSVC版のリリースは続けて欲しいのでう感じなのです。
それと自前でBuildしたlibgoto.dllを使えるようにして欲しいですね。
ちなみにMatlabだと1.68秒なのでMSVCとほぼ同じなんですが。

806 名前:octave for windowsメモの筆者 mailto:sage [2009/03/11(水) 11:43:53 ]
>>805
cygwinのgccはなにをお使いですか?
gcc-4を使わないと極めて遅いですよ。これはgcc-3の
有名なslowness issue of sjlj exception handling in cygwin gccに
よるものです。現在のoctave 3.0.3はgcc-4でビルドされています。
gcc-4はdwarf2 exception handlingですから,MSVCより遅いですがそれ穂ほどでも

gcc-4はcygwin set upから簡単に手に入ります。gcc-4でのoctaveのビルドは

ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#090131

をご覧ください。またこの場合,g77とgfortranがbinary互換
でないので,またGotoBLASもgcc-4でビルドしたください。
Makefile.ruleをのgccをgcc-4にgfortranをgfortran-4に
書き直してくださいね。

ちなみに私のPCで比べると
A=randn(100);tic;for jj=0:10000;B=(A>0)*1;end;tocは
2.464 seconds.(cygwin 3.0.3)
2.88553 seconds. (msvc 3.0.3)
2.32813 seconds (mingw 3.0.2)
msvcが一番遅いです
やはりmingw版が最速です。開発版ではoctave独自のMATLAB like
なgraphic backendを持つため(gnuplotも使えますよ)Jhandleが使えない
ことは開発版では問題ありません。スピードでいうならmsvcよりmingwが
速いです。ごれはgcc-4がmsvcより最適化性能に優れていることによります。


807 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/11(水) 13:34:46 ]
>>806
gcc 3.4.4でした
そのうち4.xに入れ換えて試してみます

>開発版ではoctave独自のMATLAB likeなgraphic backendを持つ

3.1.xではそんな機能が入るんですか

808 名前:octave for windowsメモの筆者 mailto:sage [2009/03/11(水) 13:58:51 ]
>>801 Benjaminさんのexternal libraries ではうまくいきませんね^^;
アプリケーションエラーがでてしまいます。
あれ使えると楽なのになあ。
もう少しあがいてだめなら,私がビルドしたexternal librariesと
GnuWin32にexternal librariesでビルドする方法を書くとしますかね.

まだ,external librariesはgcc-3でビルド多くて多くがスタティックライブラリ
だから,この際新しいソースを手に入れてやってみます。

809 名前:octave for windowsメモの筆者 mailto:sage [2009/03/11(水) 15:16:25 ]
>>807
gcc-4は一応まだαリリースですので,gcc-4.exe,g++-4.exe…となっており,
gcc-3.4.4と共存が可能です。

>>開発版ではoctave独自のMATLAB likeなgraphic backendを持つ
>3.1.xではそんな機能が入るんですか
まだ,開発途中ですけどね。今見てみるとあまりMATLAB likeではないですね。
OpenGL/FLTK graphics backend. This backend
can be enabled with the following commands:

input_event_hook ("__fltk_redraw__");
__init_fltk__ ();
set (0, "defaultfigure__backend__", "fltk");

OpenGLつかっているので3Dでご利益があるのかな。
いまのところは使い物にはなりませんね。
jhandleは生き残るのかな。gnuplot派なのであまり興味ないですが^^;



810 名前:Octave + GotoBLAS (Cygwin上) [2009/03/12(木) 02:57:54 ]
Cygwin 上での Octave バージョン 3.0.3 + GotoBLAS のインストール手順を
書いてみました 

133.5.18.167/rinkou/octave/octavemake.html

※ 今は gcc バージョン 3 にしています.そのうち gcc バージョン 4 にしたいと思っています.

お役に立ちたい,とは恐れ多いですが,フィードバックが欲しいので
(なかなか,ご返事できないかも知れないのはご容赦ください).

811 名前:octave for windowsメモの筆者 mailto:sage [2009/03/12(木) 08:10:41 ]
>>810
大変丁寧に書かれていていいと思います。
gcc-4を使うと現在のSuiteSparse(3.2.0)はgcc-4でビルドしてあるので
バイナリがそのままが使えます。

また,SuiteSparseのoctave用ライブラリを作成するだけならビルドに
GotoBLASは不要です。checkができませんが。octaveでチェックすればいいので)

octave-3.0.4RC5では,liboctave/CSparse.ccなどへのパッチは不要でした。
ただし,プロットに致命的なバグがあり,別のパッチが必要ですが^^;
octave-3.0.4RC5はホームページにはなく,octave-maitainersのMLの
スレッドを探せば見つかります。(パッチも)

なお,MetisとGotoBLASは再配布不可なのでビルドしたバイナリを人にあげる
ことはできないことを明記してくださいね。
ここら辺は,欧米人は当然ですがうるさいので。



812 名前:octave for windowsメモの筆者 mailto:sage [2009/03/12(木) 12:00:07 ]
>>810

cd /usr/local/bin
cp *.dll /usr/lib
は不要です。Unixの.soと違いwindowsの場合dllは,
そのdllを使うexeファイルと同じディレクトリかpathのとおったディレクトリ
に入れます。したがって/usr/local/binにあればよろしいので,libにコピー
しても意味はありません。/usr/libにおくのはlib??????.dll.aです。


813 名前:octave for windowsメモの筆者 mailto:sage [2009/03/13(金) 07:51:33 ]
>>811 すいません。 SuiteSparseはblasにあわせてビルドしなおす
必要ありかもしれません。



814 名前:octave for windowsメモの筆者 mailto:sage [2009/03/13(金) 14:50:26 ]
GotoBLASだと
make checkで引っかかりますね。ウーム。

test_sparse.m ..........................................panic: Segmentation violation
-- stopping myself...
ATLASは家では成功したんですがね。
すこしかかりそうですね<m(__)m>


815 名前:octave for windowsメモの筆者 mailto:sage [2009/03/13(金) 17:00:59 ]
なんかコンピュータがおかしいと思っていたらメインのファンが回って
いなかった(T_T)
良く壊れなかったもの。ふた開けてUSB扇風機で冷やしています。
まあこれでいいかな。
>>800 は
>mingw-4.3.2-dw2-TDMでoctave-3.0.4RC3をビルドしたもの(ATLAS)
>MFLOPS = 4830.2
はMFLOPS = 4923.1になりちょっとあがりました。
Lapackのパッケージを使うと左除算がうまくいかず今は--without-lapack
でoctaveにはいっているサブセットのLapackでやると左除算がうまくいく。
GotoBLASにlapack-3.1.1へのパッチが入っているので
これを使わないといけなのいかも

また,GotoBLASの説明をよく読むとHyper ThreadingではPerformanceは出せないの
で物理コアの数で利くみたいですね。たしかにSMP=1として,並列Threadで
GotoBLASでやってみたけどほとんど変わらないですね。それだったらシングル
ジョブを2個立ち上げたほうが効率いいかなですね。

816 名前:octave for windowsメモの筆者 mailto:sage [2009/03/13(金) 17:05:02 ]
>>810
Octave + GotoBLAS (Cygwin上)に私のページからリンク張ってもいいですか?




817 名前:Octave + GotoBLAS (Cygwin上) mailto:losingsleep@mail.goo.ne.jp [2009/03/14(土) 15:33:08 ]
810 の投稿者です.
「octave for windows メモの著者」様,コメント,ご意見,ご示唆ありがとうございます.

個別にご返事せず,済みません.Web ページの改訂を行いつつあります.お陰様で,よい Web ページができそうです.

私が,掲示板の新参者で,「ずいぶん,厚かましいお願いをしてしまった」と恥じています.Web ページずいぶん細かく見ていただいてありがとうございます.

「私のページからリンク」は,もちろんOKです.名誉です.
事後報告で申し訳ないのですが,私の方からも,リンクを張り,相互リンクをお許しいただけますでしょうか? 

Web ページは,もう少し見直しを続けます.
GotoBLAS を見つけ,Octave に組み込んだとき,「こんなに速くなるのか」と感動しました.私は初心者なのですが,少しでもお役に立てればと思っています.

818 名前:octave for windowsメモの筆者 mailto:sage [2009/03/16(月) 07:57:46 ]
>>817
相互リンクの件了解しました。よろしくお願いします。

819 名前:octave for windowsメモの筆者 mailto:sage [2009/03/16(月) 13:42:41 ]
>>817
ATLASについて

math-atlas.sourceforge.net/errata.html#winpt
を見てください。cygwin上ではThreadの数のauto detectができないと
かかれています。

(eg., I add -t 4 to my Core2Quad configure command).

他にも直す点がありそうです。しかし,GotoBLASに勝てるかは
わかりませんが,ATLASのマックスの性能をだすにはこの点を指定する
必要がありそうです。


820 名前:octave for windowsメモの筆者 mailto:sage [2009/03/16(月) 18:21:48 ]
>>819 うーむ。やって見たのですが。-lpthread以外になんかオプションが必要なのかな!

octave.exe:1> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
assertion !pthread_mutex_lock ( &(ROOT->mutex) ) failed, line 74 of file /home/atlas/atlas3.8.2-gcc4.3.3-2/../ATLAS3.8.2
//src/pthreads/misc/ATL_signal_tree.c

export LIBS='-lstdc++ -lg2c -lpthread'
../../octave-3.0.3/configure --prefix=/usr/local/octave-3.0.3a --with-blas='-lptf77blas -lptcblas -latlas'


821 名前:Octave + GotoBLAS (Cygwin上) [2009/03/17(火) 01:38:34 ]
817 の投稿者です.
Atlas + Octave 3.0.3 (Cygwin 上) やってみました.
・インストールの手順を書いてみました
  133.5.18.167/rinkou/cygwin/atlas.html
・「-t 2」有りと無しで,性能の差が出ないので,力尽きました.残念.
 (私が素人なのでいけないのですが)(うまくいくと面白いんだけどなあ)



822 名前:Octave + GotoBLAS (Cygwin上) [2009/03/17(火) 02:56:37 ]
821 の投稿者です.ミスがありました.次のように訂正します.
(済みません).

私が書いた「Atlas + Octave 3.0.3 (Cygwin 上) インストール手順」
133.5.18.167/rinkou/cygwin/atlas.html
では:
■ Octave の make check が通らない 
  (src/syscalls.cc のエラー.力尽きて,原因が分かっていません).
■ 「-t」無しは 1.57 秒.「-t 2」は 0.87秒
CPU: Intel Core2 Duo E8500.
   x=rand(2000,2000); y=rand(2000,2000); tic(); z=x*y; toc()
ATLAS のことを分かっている人が,4コア以上の CPU を使うと,最高速
を叩き出せそう,と感じています.(私の力及ばず).


823 名前:Octave + GotoBLAS (Cygwin上) [2009/03/17(火) 03:41:07 ]
821 の投稿者です.
(再び,自己フォローです.済みません.確かめもせず,投稿している私がオッチョコチョイです.最新情報です)

■ ATLAS の configure の引数
../configure -t 2 -b 32 -D c -DWALL --prefix=/usr/lib/atlas --with-netlib-lapack=/tmp/lapack-3.2/lapack_LINUX.a
-t 2 は,「コア数が2個」というような意味
■ Octave の configure の引数
CC=gcc-4 CXX=g++-4 F77=gfortran-4 ./configure --prefix=/usr/local --with-blas="-L/usr/lib/atlas/lib -lptff77blas -latlas -lpthreads" --with-lapack="-L/usr/lib -llapack_LINUX -ltmglib_LINUX"

これで,Octave の make check は通過.

CPU: Intel Core2 Duo E8500 の場合
・「-t」無しは,およそ 1.57〜1.60秒
・「-t」の場合,およそ 0.85〜0.87秒
   「n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6」の結果,
MFLOPS=1.8868e+04
と出てきます.
※ 819 番のご投稿に「>> 817」とありましたので,少しがんばってみました.






824 名前:octave for windowsメモの筆者 mailto:sage [2009/03/17(火) 10:03:35 ]
>>823 すばらしい
Octave Cygwin+GotoBlas GFLOPS = 15.75

MFLOPS=1.8868e+04

おお!,ATLASは手間がかかりますが勝ってますね。
ATLASもいつのまにか3.8.3になってますね。
HPを参考に再チャレンジします。

あと,GotoBLASはcygwinで構築したliblapack.a
(lapack_LINUX.aをリネームしたもの)を使うとmingwで正常に動きました。

mingwのライブラリキットのリリースを手がけます。一部はまだ,gcc-3.4.5
でビルドしていますが,動作するのでとりあえずあげるのを優先します。
(ぼちぼち再構築します。)



825 名前:octave for windowsメモの筆者 mailto:sage [2009/03/17(火) 16:27:41 ]
>>822

GNU FORTRAN コンパイラ・バージョン 3 を使うと,LAPACK バージョン 3.2 がうまくビルドできないことがあります(例えば,下記の通りです.状況によってエラーメッセージが変わります). 原因は不明です.

ttp://www.netlib.org/lapack/lapack-3.2.html
の7. Install Procedureに
LAPACK-3.2 now requires a FORTRAN 90 compiler. (Do not try to compile with g77 or other 77 compilers.)

となっており,GCC-3のfortranはFortran 77ですから使えないのです。
いまやGCC-3はObsoleteです。Octave もDevelopment branch (3.1.x)ではGCC-3では
ビルドできません。というわけで,cygwinでもgcc-4に移行の最中なのです。

gcc-4 cygwinはついこないだ4.3.2-1のalphaバージョンから4.3.2-2の
betaバージョンになりました。

正式版がでたらgcc-4がgccになると思います。



826 名前:Octave + GotoBLAS (Cygwin上) [2009/03/18(水) 12:44:31 ]
>> 824, 825
ご親切に,ご教示ありがとうございます.確かに,gcc-4 が今後の主流だと思います.
 (Web ページは,別の面からみても,表現が不適切でしたので,見直しつつあります).

Windows は MinGW + Octave の方が,CYGWIN よりも需要が多い,と思いますので,
MinGW 版のリリースに期待している人は多いと思っています.

さて,もう1度実験してみました.
ソフト: Octave 3.0.3 + ATLAS (Cygwin)
ハード: Intel Core2 Quad Q9550 のマシン
x=rand(2000,2000); y=rand(2000,2000); tic(); z=x*y; toc()
⇒ 0.566〜0.578秒
 ※ 詳細は 133.5.18.167/rinkou/cygwin/atlas.html
※ インストールに慣れている人でしたら,もっと速くなるような気がします.

827 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/18(水) 19:06:51 ]
>>797>>805 の者です
gcc-4, g++-4, gfortran-4で、Gtoblas, Cblas, Lapack3.1.1, SuiteSparse3.2をmakeしなおした上で
octave-3.0.3をやっとmakeしました。
つまづいたのは libstdc++.dll.a で、エラーの理由はよくわからないのでリネームして隠し
それでもSuiteSparseでエラーが出るので色々やった結果
(octave-3.0.3-1.src.patchをあてたのが効いたか、SuiteSparseのincludeファイルもインストールしたのどちらか)
どうにかmakeに成功したました。

マシンは自宅の Intel Core2Duo 2.1GHzです(2.4GHzマシンの12%落ちぐらいの性能のはず)。

octave:1> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
t = 1.32200
MFLOPS = 12102.9

約12GFlopsでした。まあまあですね。
それで問題の比較演算なんですが、

octave:1> A=randn(100);tic;for jj=0:10000;B=(A>0)*1;end;toc
Elapsed time is 2.245 seconds.

一方、MSVCだと

octave:1> A=randn(100);tic;for jj=0:10000;B=(A>0)*1;end;toc
Elapsed time is 2.42354 seconds.

で、ほぼ同じ。これでやっと使えるようになりました。ありがとうございました。

828 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/18(水) 19:26:05 ]
>>824
その15.75GFlopsのは、Core2Duo 2.4GHzなのですが
Atlasの1.8868e+04MFlopsのは、Core2Duo E8500=3.16GHzなのです

なので、おそらくgcc-3を使ってGotoBlasで測定すると
2.4:3.2=15.75:X
でX=3.2*15.75/2.4=21GFlops
ぐらいになるはずです

それでAtlasの約19GFlopsというのはそれよりも若干低いわけですが、
このレベルになるとそれはもう細かい話で、再配布可能な点を考えれば
Atlasは十分実用的だと思われます。

829 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/18(水) 19:55:27 ]
長い行列などをless表示ではなくコンソールに残したまま表示することってできますか?
長めの出力を交互に見比べたいときにqで消えてしまうので不便です

830 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/18(水) 19:57:15 ]
829です。環境はwindows版です。
ここしかOctave関連が見つからなかったので質問しました。
よろしくお願いします。

831 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/18(水) 20:25:38 ]
>>829
more off
としてください



832 名前:octave for windowsメモの筆者 mailto:sage [2009/03/19(木) 08:51:45 ]
>>829 >>830 >>831

この場合コンソールのバッファを増やしておくとよいでしょう。
スクリーンのoctaveのアイコン右クリック→プロパティ→レイアウト
→画面バッファのサイズ→高さ

変更すると確認の画面で
このウインドウを起動したショートカットを変更する
で設定を保存してください。

この高さの値をたとえば9999とかにしておくとlessなしでも結構いけます。

833 名前:octave for windowsメモの筆者 mailto:sage [2009/03/19(木) 08:59:11 ]
>>828 ありがとうございます。GotoBLASの方がいい場合が多いが
配布に関するライセンスの問題があり,その点ではATLASがいいという
ことでしょうね

GotoBLASのライセンスはテキサス大学の Texas Advanced Computing Center
ものなので仕方ないのでしょうね。



834 名前:octave for windowsメモの筆者 mailto:sage [2009/03/19(木) 09:38:49 ]
ここも800番超えたしそろそろ次スレたてを考えないととはおもうのですが。
>>439 次スレからはプログラム板に立てるか。
>様々なプラットフォームに対応しているプログラマブルな
>ソフトがUNIX板にあるというのがおかしい。

というような意見があるので,
ソフトウェア板
あたりなのかな。
タイトルは
「データ解析ツールoctaveを語ろう2」

octaveはデータ解析ツールだけでないので
シンプルに
「octaveを語ろう2」なのかな。


835 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/19(木) 10:03:21 ]
>>834
UNIX板でいいと思います
そもそもインストールネタしか無いぐらいの過疎スレですから
あっちこっち動き回るのは得策とは思えません

言語の内容的な論議はシミュレーション板やプログラム板のMatlabスレにまかせて
導入方法や、高速化などに特化した方がいいと思います

836 名前:octave for windowsメモの筆者 mailto:sage [2009/03/19(木) 11:02:28 ]
>>835
なるほど。まあ,ビルドねたになるとwindows上でもMSYS+mingwやcygwin
などのUnixyなツールでやるわけで,Visual Studio云々にはなりませんよね。
最近やり取りしたGOTOBlasやATLASネタもUnix上の方がすこし便利というくらい
の話で基本は同じですからね。

データ解析ツールoctaveを語ろう2
でもいいですかね。名前よりもないようですからね。名前変えると
検索とかで大変ですからね。



837 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/19(木) 15:48:25 ]
行列演算を高めたOctaveで何が律速になってるのかのテスト
マシンはIntel Core2Duo 2.4GHz

MATLAB 7.6.0 (R2008a)
>> tic;for jj=0:10000;end;toc
経過時間は0.000066秒です
>> A=randn(200);tic;for jj=0:10000;B=(A>0);end;toc
経過時間は3.358699秒です
>> A=randn(4000000,1);tic;for ii=1:4000000,if A(ii,1)>0,end;end;toc
経過時間は0.118251秒です

Octave 3.0.3 (MSVC) ← BLASの関係しない演算なので
octave:1> tic;for jj=0:10000;end;toc
Elapsed time is 0.0079 seconds.
octave:2> A=randn(200);tic;for jj=0:10000;B=(A>0);end;toc
Elapsed time is 5.9 seconds.
octave:3> A=randn(4000000,1);tic;for ii=1:4000000,if A(ii,1)>0,end;end;toc
Elapsed time is 52.8131 seconds.

一番目はループテスト。tic,tocの誤差程度の差。
二番目は比較演算。Matlabより1.6倍遅い。けどそんなにひどくも無い。
三番目はif文。Matlabより50倍遅い。ここが明らかに律速。

Cygwin番のifはさらに1.5倍程度遅いもよう。
なので、if文は使わないようにして、比較演算に置き換えるべき。

838 名前:octave for windowsメモの筆者 mailto:sage [2009/03/19(木) 17:06:12 ]
>>837

フーム。なるほど。loop自体よりよりifが遅いってわけですね。
これはためになる。
MATLABが速いのはJIT(Just In Time)コンパイルしてるからだそうですね。
でもloopの速度の改善がそれほどないことを考えると完全なバイナリじゃなく
中間コードぐらいかな。octaveもscirptをロードするときには中間コードには
しているらしいけどそのレベルがちがうんでしょうか。

MATLABもっていない人の発言なのであくまでも推測でしかありませんが。



839 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/19(木) 17:39:24 ]
ifのやつパイプラインがどのくらいストールしてるか知りたいですね。

840 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/19(木) 18:11:50 ]
>>838
いや、400万回の空ループ(3番目のif文のテストに相当)を回すと
MATLABで0.01秒
Octave-MSVCで2.22秒で
200倍以上差があるんですけど、
それだけのループの中でやる演算にかかる時間に比べれば
ループのオーバーヘッドは無視出来るって事ですね
JITがどうのというのは、たぶんその程度のの差です

比較式については以下の例をあげます

100x100の行列の全要素を調べて正なら1、違ったら0の行列を返す場合
if文なら
A=randn(100);for ii=1:100,for jj=1:100,if A(ii,jj)>0,B(ii,jj)=1;else,B(ii,jj)=0;end;end;end;
MATLABで0.01秒、MSVCで0.36秒です

比較式で同じ事をした場合
A=randn(100);C=(A>0).*1;
でよくて
MATLABで0.0004秒、MSVCで0.0008秒です。
同じA行列で計算した後にB-Cするとゼロ行列が返るので同一の結果のようです。

841 名前:octave for windows メモの筆者 mailto:sage [2009/03/21(土) 15:30:55 ]
ウーム。MinGWでの高速行列計算用octaveのビルドは苦戦中。

GotoBLASは、make checkのtest_sparseでsegmentation violationでこける。原因不明。

ATLASのマルチスレッドは、posix threadを使うのでcygwin上でないと動かない。

MinGWでは、今のところシングルスレッドのATLASしか動かない。まあ、これでも、バイナリ配布のoctaveよりも行列計算速度はかなり改善するので、ライブラリキットを出す意味はあるかな。

今のところ、マルチコアのCPUの利点をWindowで使うにはcygwinということですかね。

となると、やはり、計算はwindowsよりもunixがいいような気がしてます。unix屋さんにはそんなの当然といわれそう(^_^;)。

まあ、もう少しMinGWであがいてはみますが。




842 名前:Octave + GotoBLAS (Cygwin上) [2009/03/22(日) 02:26:32 ]
>> 841

■ Octave の configure の引数

ATLAS のマルチスレッド・ライブラリを使って,Octave を make するとき
Octave の configure の引数を調整できるようです.
例えば,普通の CBLAS でなくて,ATLAS の libptcblas.a をリンクすることができます
(→この方が望ましい)

CC=gcc-4 CXX=g++-4 F77=gfortran-4 ./configure --prefix=/usr/local --with-blas="-L/usr/lib -L/usr/lib/atlas/lib -lptcblas -lptf77blas -latlas -lpthread" --with-lapack="-L/usr/lib/atlas/lib -llapack"

※ 口出しだけで,実行が伴っていなくて済みません(MinGW の環境を作るスキルがないもので).
  あわよくば,解決のヒントになれば良いなと思いまして,書き込みました.

843 名前:Octave + GotoBLAS (Cygwin上) [2009/03/22(日) 02:29:18 ]
842 の投稿者です.
済みません.「841」の内容は,すでに 820 で投稿済みでした.申し訳ない.

844 名前:Octave + GotoBLAS (Cygwin上) [2009/03/22(日) 02:31:57 ]

---
842 の投稿者です.
済みません.「841」の内容は,すでに 820 で投稿済みでした.申し訳ない.
---
       ^^^
[842」の内容は,すでに 820 で投稿済みでした.申し訳ない.
このように訂正します. 恥の上塗りで,申し訳ないです.

845 名前:octave for windowsメモの筆者 mailto:sage [2009/03/23(月) 12:39:28 ]
Octave + GotoBLAS (Cygwin上)様
貴兄のページで気になった点を
すいません。/usr/localでなく/usrにインストールすれば
以下の作業は不要です。
cp /usr/local/lib/octave-3.0.3/lib* /usr/lib

/usrにインストールするにはconfigureで
./configure --prefix=/usr (... other options)

prefixを指定します。

また,octaveはpkg-configは使いません。独自のshell script octave-configを使います。
そこで,prefixの値を変更すればいいのですが。
これは他のソフトからoctaveのライブラリを使う場合に
octaveのインストール情報を探るのにconfigureやmakeから参照されるとき
つかう物なので用途がないときは触らないで結構です。

cp /usr/lib/libctave.dll.a /usr/lib/liboctave.dll.a
ですがこれは,libctave.dll.aがMacroさんのミスなので
mv /usr/lib/libctave.dll.a /usr/lib/liboctave.dll.a
が妥当です。

846 名前:octave for windowsメモの筆者 mailto:sage [2009/03/23(月) 12:40:28 ]
>>845
私は試験的にいろいろを作成するため prefixを
--prefix=/usr/local/octave-3.0.xx.yy
のように指定してます

xxはバージョンでyyは自分で決める識別子です。頻繁に使うときはaliasを使って

alias octaveyy='/usr/local/octave-3.0.xx.yy/bin/octave'
を.bashrcに書き込みます。
ライブラリのコピーなど。この方法の利点は(もちろん欠点もありますが),
アンインストールが/usr/local/octave-3.0.xx.yy をexplorer削除する
だけでいいからです。
ソースのイメージを消しても同じprefixでconfigureして,make uninstall
すればいいのですが面倒なので^^;。
無論これはoctaveのバージョンをいろいろ作成する人以外には面倒なので
あまりすすめませんが。試験的にやるときにはいいですよ。



847 名前:octave for windowsメモの筆者 mailto:sage [2009/03/23(月) 12:55:45 ]
ソースコードからコンパイルするときのヒント(メモ)
(参考) Cygwinのソースパッケージを使わないというときは,下記の手順で,ソースコードを書き換えてください(バージョン 3.0.3 の場合)

ですが
3.0.4のback portをするともっとシンプルです。
sparse-util.hの以下を
extern OCTAVE_API void SparseCholError (int status, char *file,
int line, char *message);
extern OCTAVE_API int SparseCholPrint (const char *fmt, ...);

*****
// FIXME this overload is here due to API change in SuiteSparse (3.1 -> 3.2)
extern OCTAVE_API void SparseCholError (int status, char *file,
int line, char *message);
extern OCTAVE_API void SparseCholError (int status, const char *file,
int line, const char *message);
extern OCTAVE_API int SparseCholPrint (const char *fmt, ...);
にします。ページに書かれている変更では,cygwinでは通りますが,
mingwではとおりません。たぶん,3.0.4では私が今回書いたように変更された
と思います。

848 名前:octave for windowsメモの筆者 mailto:sage [2009/03/23(月) 12:59:30 ]
>>847
たぶん,3.0.4では私が今回書いたように変更された
と思います。


たぶん,コンパイラによっては,mingwのg++のようにcastが通らないものがある
ので今回書いたように変更されたと思います。

です。すいません。<m(__)m>




849 名前:octave for windowsメモの筆者 mailto:sage [2009/03/23(月) 14:11:31 ]
>>847
すいませんsparse-util.ccも書き直す必要があります。

SparseCholError (int status, char *file, int line, char *message)
{
(*current_liboctave_warning_handler)("warning %i, at line %i in file %s",
status, line, file);

(*current_liboctave_warning_handler)(message);
}

// FIXME this overload is here due to API change in SuiteSparse (3.1 -> 3.2)
void
SparseCholError (int status, char *file, int line, char *message)
{
SparseCholError (status, file, line, message);
}

void
SparseCholError (int status, const char *file, int line, const char *message)
{
(*current_liboctave_warning_handler)("warning %i, at line %i in file %s",
status, line, file);

(*current_liboctave_warning_handler)(message);
}

に変更が必要です。すいません。<m(__)m>


850 名前:octave for windowsメモの筆者 mailto:sage [2009/03/23(月) 15:20:12 ]
>>770 TLA3.8.2を自分のコンピュータ用にcygwinでビルドしてこれをつかって,
mingw-4.3.2-dw2-TDMでoctave-3.0.4RC3をビルドしたもの
MFLOPS = 4830.2

cygwinでHT-pentiumでmulti-threadで効果があるか見てみました。
octave:6> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
t = 3.8080
MFLOPS = 4201.7

ウーム。GotoBLASと同様にHyper Threadingでは,multithreadを使用しない
ほうがいいようですね。物理的にコアが2つ以上ないとその威力は発揮
できないようです。

まあ,こういうのは試してみないとわからないもので,この記録はそれはそれ
で意味があるのかなと思います。




851 名前:octave for windowsメモの筆者 mailto:sage [2009/03/24(火) 14:00:32 ]
cygwinでビルドしてもgotoBLASでSegmentation faultがでました。:-(
test_sparse.m ..........................................panic: Segmentation fault -- stopping myself...
Segmentation fault

GotoBLASの構築におかしなとこがあるのかなと思います。ウーム。



852 名前:Octave + GotoBLAS (Cygwin上) [2009/03/24(火) 23:25:00 ]
octave for windowsメモの筆者様
845 から 850 まで.とても丁寧に見ていただいてありがとうございます.
 (近日中に,書き直ししたいと思っています.)

851 について.私の方では再現できないのですが,
 133.5.18.167/rinkou/octave/57.png
に,私の方での configure の結果を載せています.これが一致しているか否かで,
 問題の切り分けができるかなあ,と思っています.(あまりお役に立てなくて済みません).

853 名前:名無しさん@お腹いっぱい。 [2009/03/26(木) 08:40:49 ]
octave-3.0.4RC6がでました。グラフィックス周りのバグフィックスのようです。
controldemo(とういか制御系関数のバグ)のフィックスはなされていなかった
ようですぐにパッチがでました。

854 名前:octave for windowsメモの筆者 mailto:sage [2009/03/26(木) 08:42:24 ]
octave-3.0.4RC6がでました。グラフィックス周りのバグフィックスのようです。
controldemo(とういか制御系関数のバグ)のフィックスはなされていなかった
ようですぐにパッチがでました。

855 名前:octave for windowsメモの筆者 mailto:sage [2009/03/26(木) 11:37:17 ]
>>853 >>854 2重投稿すいません。なんかユーザ登録のエラーでて書き込みが
できなかった見たいで<m(__)m>


856 名前:octave for windowsメモの筆者 mailto:sage [2009/03/26(木) 12:19:07 ]
>>851,852
まあ,GotoBLASの再構築とか,ビルドの最適化オプションあてたりとか。
Macroさんのパッチをあてたりとかいろいろかえましたが同じ症状でますね。
どこが悪いかかは,分かりません。gdbでトレースしましたが,GotoBLAS自体
が私のCPUにたいして正常に動かないコードを発しているようです。

test_sparse.m ..........................................
Program received signal SIGSEGV, Segmentation fault.
0x64aeda26 in zpotf2_ ()

zpotf2_はGotoBLASの中にあるので。

まあ,ATLASでもそこそこ性能だせるので,もうあがくのやめます(泣)。

857 名前:octave for windows メモの筆者 mailto:sage [2009/03/28(土) 10:35:59 ]
3.0.4RC7がでました。mingwとcygwinでテストし、報告しました。
今までずっと未解決だった問題は全てクリアされているようです。
unix系のplatformでも問題なく動いているようで、おそらくもうすぐ3.0.4の正式版のソースが出そうです。


858 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/29(日) 18:02:15 ]
debianやubuntuって、octave3.0パッケージ導入して、atlasも導入してたら自動的にそっちを
使ってくれるんだね。Rも同様みたいですね。

859 名前:octave for windowsメモの筆者 mailto:sage [2009/03/30(月) 09:04:13 ]
>>858 ウーム。さすがにUnixはちがいますね。ところでatlasは,ソースから自分の
コンピュータにビルドですか。たしか,DebianだとそれぞれCPUに特化した
atlasのバイナリあったような気がしているのですが気のせいですかね?

860 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/30(月) 09:30:24 ]
>>859
そうみたいですよ。debianの派出したものがubuntuなのでそのまんま、同じことになってる
ようです。
ただし、1cpuのみだろうと思う(未確認)なので、複数のcpuを使うときはソースをとってきて
自前でコンパイルしてパッケージで導入という流れなんだろうなと思ってます。

861 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/30(月) 09:32:15 ]
あと、atlasは.debパッケージでバイナリ供給されています。



862 名前:octave for windowsメモの筆者 mailto:sage [2009/03/30(月) 15:57:47 ]
>>860 multithreadのatlasは,pthread(posix thread)を使うのでptが
ライブラリについています。libptf77blas.a libptcblas.a
のように。
あとリンカにオプションで-lpthreadがついているかどうか。
でも,ダイナミックリンクだとライブラリの方にpthreadが取り込まれている
かも知れませんが。

863 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/30(月) 16:13:20 ]
>>862
atlasのライブラリを少し調べてみた(*1)けど、依存性にthreadライブラリは付いていない
みたいでした。3.6.0を利用しているということで少々古いものなのかな。lennyのunstable
ならoctaveも3.04 rc7みたいですが。

*1 packages.ubuntu.com/ja/intrepid/libs/libatlas3gf-sse2
*2 packages.debian.org/unstable/math/octave3.0


864 名前:octave for windowsメモの筆者 mailto:sage [2009/03/30(月) 18:00:05 ]
>>863 3.6.0は古いですね。おそらく古いCPUならいいですが,GotoBLASでの
後藤先生のパワーポイントのファイルでATLAS 3.7.xxとGotoBLASの比較では
GotoBLASがかなり速くなっていたんですが,Octave + GotoBLAS (Cygwin上)
さんが
>>828
で述べられているにATLAS3.8.3では差はそれほど大きくはありません。
やはりATLASは3.8.3で自分で作成されたほうがよいかと思います。
特にCore2DuoとかCore2Quadをお持ちならば。



865 名前:octave for windowsメモの筆者 mailto:sage [2009/03/30(月) 18:36:51 ]
gcc-4.3.3 GCC-TDMのsjlj-EH(Exception Handling)をつかうとmingwでも
multithreaded ATLASが使えました。
ただし,>>803 のテストではdw2-EHの方が25%-30%程度はやいので
痛し痒しです。
n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
はmultithreaded ATLASで(HT-pentium4 prescott)
MFLOPS = 4970.9
single threaded ATLASで
MFLOPS = 4830.2
論理コアのHTでも若干速いです。たぶん,Core2Duoあたりだと大分成績
よさそうですね。
sjljはインタープリターが遅いが,multithreaded ALTASが使える。
このあたりは痛し痒しですね。

このあたりの情報は本家octaveのMLにもアップしました。
ベンチマーク好き(^^;私もですが)の方のいろんなプラットフォーム,CPU
での報告まってます(笑)。




866 名前:octave for windowsメモの筆者 mailto:sage [2009/03/30(月) 19:31:57 ]
本家のMLに書いたものです。ご参考までに。
ttp://www.nabble.com/Sjlj-vs-dwarf2-on-mingw-for-octave-td22776323.html#a22780228

なお,octave-3.0.2をmingw-3.4.5でビルドしたバイナリの情報をかいていますが
このライブラリを現在のOctaveのビルドにとりあえず使えると思います。


867 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/30(月) 23:30:31 ]
とりあえず入れてみたよ。僕のメインpcは
opensuse 11.1 x86_64 core2duo 2.66GHz + 4GRAM
なんで、(ubuntu/debianはサブ)そちらに、atlas3.8.3とoctave 3.0.3が
パッケージで導入できるので、src.rpmを取ってきて、specファイルを
改造して入れてみました。

もちろん、pthread対応をしてます。

octave:3> n=2000; A=randn(n); B=randn(n);tic; C=A*B; t=toc, MFLOPS=2*n^3/t*1e-6
t = 0.98570
MFLOPS = 1.6232e+04
octave:4>

ざっとこんなかんじです。16GFLOPくらいですかね。>>828さんの値とほぼおなじですかね。

868 名前:octave for windowsメモの筆者 mailto:sage [2009/03/31(火) 08:48:50 ]
>>867
おお!すばらしい!
マルチコアのマシンでは
行列計算重視でなければバイナリ導入。重視ならばpthread ATLASつかって
自分でビルドという感じですかね。
しかし,最近のパソコンはすごいな^^;

869 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 09:41:38 ]
>>868
あと、glpkとumfpack/amdもパッケージにあったので対応させましたよ。
umfpackといえば、昔macにいれるときに一筋縄で行かなかったのであまり良い
印象はもってないけど、パッケージで導入が出来るので楽だった。

opensuseのscienceとeducationリポジトリを追加するとこの辺のものはそろっ
てるみたいです。

ps3でlinuxを使ってoctaveをやってる人っているのかなぁ。。。xを起動させなければ
余裕がかなりできると思うんで。

870 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/01(水) 21:09:10 ]
ソースコードを貼ってここを使いたいなら
codepad.org/ を使えばいいよ。ここでplain textを選択すればoctaveでも使えるので。

例) codepad.org/RoVSondH

871 名前:octave for windowsメモの筆者 mailto:sage [2009/04/02(木) 13:33:52 ]
>>870 なるほど Thanks!!




872 名前:octave for windowsメモの筆者 mailto:sage [2009/04/02(木) 13:40:12 ]
3.0.4がついにでました。
ttp://www.nabble.com/3.0.4-release-td22822789.html
まだ,ソースコードだけなので各platfromのバイナリはこれからだと思います。

Msvc版はおそらく出ないでしょう。
Benjaminさんは,mingw版は3.0,4で出すといわれたいたのでこれはでるのでは
と思います。

将来的にはMichaelさんのMSVC版とBenjaminさんのMingw版は統合され,
WindowsのNative版はMingwでリリースされるのではと思います。


873 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 13:14:03 ]
>>493
一年前のものにレス。
今は仮想環境という便利なものがあるのでそちらで、いろんなディストリを試すことを
おすすめします。手元にはurlがないので割愛しますが:
仮想環境:
1.vmware ; vmplayerは無料。仮想ディスク作成はeasyvmxというサイトを利用すれば簡単
です。vm toolsを入れれば、使いがってはあがります。windowsのディスクトップとのコピペ
もできます。vm toolsは各ディストリにパッケージとして配布されていたり、デフォルトでイン
ストールされることは多い。
2.virtualbox ; vmwareよりは少し遅いですが、これだけで仮想ディスクの作成も出来ます。
付属のguest additionsを導入することによってこちらも使いがってがあがります。このツール
も各ディストリでデフォルトで入ってることは多い。

次に、ディストリですが、
deb系はここでも触れられたように、atlasのバージョンが古めだが、導入すれば、すぐにatlas
を使えるようになってくれますね。ubuntuの日本グループはvmwareやvirtualbox用の仮想ファ
イルを配布しているので、慣れるという意味ではオススメできる。
rpm系:
RHELクローン: scientific linux / cent os ; 保守期間が長い。商標以外の部分は商用の
Red hatと同じ。scientificのほうはフェルミ国立加速器研究所がメンテナンスしているようで
す。fedoraはRHELの実験場です。
openSUSE: 追加のレポジトリを加えれば新しいoctave/atlasは利用可能。
mandriva: rpmfindで調べてみたら、こちらのディストリもatlasは新しいものが入ってる。

この辺が使えるところではないですかね。

874 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 14:03:58 ]
RHELクローンの追加リポジトリは
okyuu.com/ja/tips/5223 を参考にしてください。
調べたところ、octave 3.0.1 / atlas 3.8.3 でした。

875 名前:octave for windowsメモの筆者 mailto:sage [2009/04/03(金) 16:13:28 ]
>>873 >>874 Thanks!! 今年の申請予算次第だけどあたれば,
コンピュータリプレイスするのでそのとき考えます。

以前,はやりかけたcoLinuxって最近はどうなんでしょう。
いかんoctaveねたとかけ離れている<m(__)m>

876 名前:octave for windowsメモの筆者 mailto:sage [2009/04/03(金) 16:25:18 ]
>>875 うむ。予算はずれた。まあ,当分プレスコット3.4GHzでWindowsで
頑張ります^^;

というわけで「octave for windowsメモ」は今年度は続きます(苦笑)

877 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 20:17:00 ]
>>875
coLinux野郎ぜ! Part7
pc11.2ch.net/test/read.cgi/linux/1206766349/

878 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/05(日) 13:20:13 ]
FreeBSDは atlas 3.8.2,
octave に関しては 安定版 octave 3.0.3, 開発版 3.1.54が入っていた。

879 名前:octave for windowsメモの筆者 mailto:sage [2009/04/06(月) 08:05:28 ]
Octave.app 3.0.4 for Mac OS Xがでたようです。
詳しくは以下を
ttp://www.nabble.com/Octave.app-3.0.4-for-Mac-OS-X-td22886996.html

880 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/06(月) 14:24:29 ]
emacs のoctave modeって使ってる人がどのくらいいるんでしょうかね?
みなさんどっからoctaveを使ってますか?
あまりにも使い勝手が悪いと思ったので、改良しているところですね。
RのESSやruby-modeと操作性を合せていってるところです。

881 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/06(月) 14:30:52 ]
imaximaともです。C-c C-b, C-c C-c, C-c C-rの3つを直すだけでも
操作性が同じになります。この辺が他のemacsとソフトの連携部分の操作性が
ずれているので。



882 名前:octave for windowsメモの筆者 mailto:sage [2009/04/06(月) 18:29:43 ]
なんかOctave-3.0.4のソースのLoad関数にバグがあるようで
Benjaminさんがパッチを出されています。
ソースからビルドする人は,パッチをあてましょう。

ttp://www.nabble.com/Re:-Possible-bug-in-"load"-function-in-octave-3.0.4-p22895800.html

883 名前:octave for windowsメモの筆者 mailto:sage [2009/04/08(水) 08:11:29 ]
>>882 このバグをfixするために3.0.5が出そうです。
すでにrc1がでました。
3.0.5?
ttp://www.nabble.com/3.0.5---td22924551.html
3.0.5 rc1
ttp://www.nabble.com/3.0.5-rc1-td22926230.html



884 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/08(水) 10:00:08 ]
www.emacswiki.org/emacs/auto-complete-octave.el

というのが今年の3月に出たみたいですね。auto-complateは別窓が開く
補完用のパッケージですが、このファイルの中にあるoctave-keywordsを
次のようにくわえてみればoctave-complete-symbolが充実した補完に産まれ
変ります。
(require 'octave-mod)
(setq octave-completion-alist
(nconc octave-keywords octave-completion-alist))


885 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 01:23:25 ]
octaveの出力するsvgがinkscape0.46でバグるけど、次期inkscapeではなおるみたいです。
今での簡単な対処方法は

ttp://www.yamamo10.jp/yamamoto/wordpress/?p=46

を参考にしてください。

886 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/10(金) 14:51:08 ]
>>420 You should come out of the closet.

887 名前:886 mailto:sage [2009/04/10(金) 15:12:05 ]
誤爆したorz スルーお願い。

888 名前:octave for windows メモの筆者 mailto:sage [2009/04/11(土) 18:02:34 ]
>>886 スルー('◇')ゞ ラジャ

889 名前:octave for windows メモの筆者 mailto:sage [2009/04/11(土) 18:03:19 ]
>>886 スルー('◇')ゞ ラジャ

890 名前:octave for windowsメモの筆者 mailto:sage [2009/04/15(水) 08:13:36 ]
4/8にもう 3.0.5の正式版出てました^^;。
ソースは,ttp://www.gnu.org/software/octave/download.html

で,Octave.app 3.0.5 for Mac OS Xがでました。
詳しくは以下読んでください。
ttp://www.nabble.com/Octave.app-3.0.5-for-Mac-OS-X-td23043286.html


891 名前:Octave + GotoBLAS (Cygwin上) [2009/04/19(日) 02:37:32 ]
Cygwin で Octave-3.0.5 の make, make check を行ってみました.
make check で失敗します.
 ※「助けて」という意味ではなく,参考情報としてお送りしています.
  (「素直に,Linux, FreeBSD, Mac 等を使えば・・・」というご意見は分かります)

■ 皆様ご存知の通り,Cygwin 用のソースコードパッケージは,
簡単に入手できます
ftp.jaist.ac.jp/pub/cygwin/release-2/octave/

■ ATLAS 3.8.3 を使う場合
make は通ります.
make check は,エラーが 2 個 (Octave-3.0.3 では出なかったエラー)
(1) src/syscalls.cc ........................................ PASS 0/1 FAIL 1
エラーメッセージは,「octave 3612 child_copy: linked dll
data write copy failed, 0x6B4000..0x6c1600, done 0, ...」
    ※ 私の LAPACK インストール時のミスかも,と感じています.
(2) scripts/specfun/nchoosek.m ............................. PASS 1/2 FAIL 1

■ GotoBLAS を使う場合
make は通ります.
make check は,途中で止まり続行できない.
(1) src/syscalls.cc ........................................ 2 [main] ?
couldn't allocate heap, Win32 error ...




892 名前:octave for windowsメモの筆者 mailto:sage [2009/04/20(月) 08:22:22 ]
>>891

scripts/specfun/nchoosek.m ............................. PASS 1/2 FAIL 1
は3.0.3には存在しなかったテストです。これは,計算誤差の許容度が
厳しすぎるためで,問題はありません。

make check すると test ディレクトリにfntests.logが生成されますので
これを見ていただけると問題がわかるかもしれません。

Lapackで問題ならば,blasだけGotoBlasやATLASをつかってLapackは,Octaveの
ソースコードにあるものを使うと問題が解決される場合があります。
この場合 configureで --without-lapack オプションをつかうことで
Octaveのソースコードにあるlapackが使用されます。



893 名前:Octave + GotoBLAS (Cygwin上) [2009/04/21(火) 02:28:01 ]
>> 892
ありがとうございます.もう少し時間をかけて,調べてみます.
いろいろな組み合わせが考えられ,少しずつ,エラーの出方が変わる,
というところまでは見てとれています.
※ 知り合いの Windows マシンに,Octave と ATLAS をあげたい,というのが本来の動機です



894 名前:octave for windowsメモの筆者 mailto:sage [2009/04/21(火) 09:44:46 ]
>>893 英語を書くのがいやでなければ,cygwinのMLでcygwin版maintainerの
Marcoさんに聞くのが一番早いかなと思います。

895 名前:octave for windowsメモの筆者 mailto:sage [2009/04/24(金) 19:08:16 ]
>>892 3.0.5のビルドをcygwin+ATLASでやりましたが,
scripts/specfun/nchoosek.m ............................. PASS 1/2 FAIL 1
以外はエラーはありませんでした。ただし,SuiteSparseは,自分でビルドした
ものを使っています。 lapackは,cygwinのものを使っています。
参考までに

896 名前:octave for windows メモの筆者 mailto:sage [2009/04/26(日) 06:09:00 ]
octave for windows MSVC版はライセンス問題で今は、配布されていません。
Mingw版のみ配布されています。MichaelさんもMingwでのビルド を進めておられるようです。

897 名前:octave for windowsメモの筆者 mailto:sage [2009/04/27(月) 13:01:56 ]
>>896 なぜそうなったかをたどってみました。私のメモ
ttp://www.tatsuromatsuoka.com/octave/jpn/OctaveWinMemo.html#090427
に大体のことを書きました。詳しくは,そこで紹介している長いスレッドを
ご覧ください。
なお,メモにも書いていますがBenjamin氏が3.0.5の準備をしているそうです。

898 名前:octave for windowsメモの筆者 mailto:sage [2009/04/30(木) 14:51:35 ]
octave build tool kit under the MinGW
ttp://www.nabble.com/octave-build-tool-kit-under-the-MinGW-td23272584.html#a23272584

899 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/30(木) 15:58:37 ]
>>896
Michaelビルド版を待てばJhandleを期待出来るのでしょうか。

もしJhandleが使えて、GotoBLASも有効に出来れば最高ですが。

900 名前:octave for windows メモの筆者 mailto:sage [2009/05/03(日) 05:42:47 ]
>>899
Michael版は、多分3.2からだと思います。
多分当分出ません。

3.2では、BenjaminさんとMichaelさんの仕事は、統合されるようです。octave自身に独自のグラフィックバックエンドがつくと思いますので、よくわかりません。まあ、Forgeでのこるのかな。

GotoBLASは単なるdllの置き換えでは無理だと思います。

Octave-ForgeのSVNにビルドスクリプトがアップされるはずですのでそれを使って自力でビルドが必要かと思います。

ところで
900番ゲットo(^-^)o

次板考えないと

色々あるけど、場所もここで、タイトルも安直に「データ解析ツールoctaveを語ろう その2」でいかがでしょうか?

901 名前:octave for windows メモの筆者 mailto:sage [2009/05/03(日) 09:09:42 ]
>>900

>Forgeではのこるのかな


>ForgeだからJhandleはそのままのこるのかな?

です。m(_ _)m



902 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/07(木) 16:52:01 ]
print -deps test.eps でepsファイルができません。
何か設定必要ですか?
3.0.2です。


903 名前:octave for windowsメモの筆者 mailto:sage [2009/05/08(金) 08:52:20 ]
>>902
書き方のミスだと思いますが
help print
Function File: print (FILENAME, OPTIONS)

なんで
print('test.eps', '-deps')
で作成確認。

904 名前:gnuplotメモの筆者 mailto:sage [2009/05/21(木) 19:33:49 ]
Octave 3.0.5 mingw32 available がでました。

ttp://www.nabble.com/Octave-3.0.5-mingw32-available-td23650805.html

ダウンロードサイトはここ。
ttp://sourceforge.net/project/showfiles.php?group_id=2888&package_id=287261


905 名前:octave for windowsメモの筆者 mailto:sage [2009/05/21(木) 19:35:41 ]
>>904 ハンネ間違えた^^;


906 名前:octave for windowsメモの筆者 mailto:sage [2009/05/26(火) 07:55:41 ]
3.2.0のrc2が出てます。

the Octave 3.2.0 RC2 tarballs are available at
ttp://artax.karlin.mff.cuni.cz/~hajej2am/ulozna/octave/


907 名前:octave for windowsメモの筆者 mailto:sage [2009/05/28(木) 14:50:25 ]
I have prepared corrected image-1.0.8 octave-forge package for users' convenience.

You can download at
www.tatsuromatsuoka.com/octave/Eng/Win/

.
image-1.0.8p.zip,201,596 bytes, 2009-05-28, md5 6f573210d2567799c06a838b4dad0380, corrected image-1.0.8 package for Octave 3.0.5 for Windows MinGW32 Installer. Please read the Readme.txt in the archive file to install.



908 名前:octave for windowsメモの筆者 mailto:sage [2009/06/02(火) 10:51:32 ]
www.tatsuromatsuoka.com/octave/Eng/Win/
にビルドしたimage package for Octave 3.0.5 for Windows MinGW32を
おきました。

image-1.0.8_prebuild_oct_3.0.5_mgw.zip

です。

909 名前:octave for windowsメモの筆者 mailto:sage [2009/06/08(月) 13:47:24 ]
こないだがでたばっかしですが,3.2.0がでました。

ttp://www.nabble.com/Octave-Version-3.2.0-Released-td23902621.html

かなりの仕様の変更があります。私が大きいと思ったのは疎行列については
Octaveでは,spluなどをspがついた関数をつかわないといけなかったの
ですが,引数が疎行列の場合,luは疎行列用のluを使うように
なったことです。

疎行列に対してspの冠のついた関数使うということがMATLABとの互換性との
問題で大きいところだったので,この点は大きな進歩だと思います。


ところで
>>900
>Michael版は、多分3.2からだと思います。
>多分当分出ません。

とかいたのですが,Michaelさんは,まだMinGWをそれほど本格的に触って
いないようです。したがって,3,2.0もBenjaminさんの
単独リリースとなりそうです。
したがって,jhandleは当分使えないと思います。

OpenGLのBackendはまだまだ試験段階で実用にはなっていません。
当分gnuplotがbackendの状態が続きそうです。


910 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/08(月) 21:02:20 ]
MSVC版の3.0.3だと、
Jhandleが入ってない状態では
wxWidgetsでグラフが描かれますね。

print('test.png','-dpng');

で、グラフの画像がちゃんと出力されます。
Jhandleだと手前にウインドウがあるとかぶっちゃうんですが
これだとちゃんとグラフだけが出力されてるようです。

あんまり話題にはなってませんが

911 名前:octave for windowsメモの筆者 mailto:sage [2009/06/09(火) 19:36:58 ]
>>910
そうですね。画像書き出しのときはgnuplotをbackendに使ったほうがいいと
思います。

JHandleはMicahelさんが本格的にMinGW版にのりだすまでは出ないと思います。
有志が出てくれば別ですが。




912 名前:octave for windowsメモの筆者 mailto:sage [2009/06/11(木) 07:35:14 ]
Octave 3.2.0 for Windows MinGW Installerがでました。

こないだ,3.0.5が出たばかりというところですが,すでにBenjamin
さんは,Development Branchで作業をされてようです。

ttp://sourceforge.net/project/showfiles.php?group_id=2888&package_id=287261

913 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/12(金) 09:59:07 ]
editコマンドで開くNotepad++は、
ユニコードを選べば
(ツールバーのFormat→Encode in UTF-8)
日本語には問題ないように思いますが、
何か支障ありますか。

914 名前:octave for windowsメモの筆者 mailto:sage [2009/06/12(金) 10:07:51 ]
>>913
確かにそのようですね。実はあまり,Notepad++さわったことないんで^^;。
(SciTE派なもんで。)しかし,sjisはまだ使われる場面も多いので日本語を
使う場合は日本語版が使いやすいとは思います。

文章は修正しておきます。

915 名前:octave for windowsメモの筆者 mailto:sage [2009/06/12(金) 10:09:11 ]
>>913 >>914
おっと例を言うのを忘れていました^^;。ご指摘ありがとうございます<m(__)m>

916 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/12(金) 14:23:51 ]
Windowsでは(たぶん)簡単に動かなかった時代に比べれば、
Mingw版Octave(3.0以降)はほぼ完成の域に達しましたね。

RでいうRjpWiki
ttp://www.okada.jp.org/RWiki/
みたいなのができると、
使う人が一気に増えると思います。

このスレももう少しで終わりなので、
次はWikiとか作ってみませんか。
コンテンツのほうはなるだけ協力します。

917 名前:octave for windowsメモの筆者 mailto:sage [2009/06/12(金) 19:11:06 ]
>>916 なるほど。しかし,Wikiの立ち上げに関する知識もないし,自分の
Yahoo Geocitiesのジオプラスで借りているWebスペースにおけるのかな?

Geocitiesにはわたしからきいて見ます。

有志ので自分のサーバー持ってる人とかいればいいんですが。

他の皆さんの意見も聞きつつ考えましょう。

ここはここでスレおわったら 「その2」 をたてておいておくのがいいと
おもいますが。



918 名前:octave for windowsメモの筆者 mailto:sage [2009/06/12(金) 19:50:54 ]
>>916 >>917
なんか思い切り無知でした。
pukiwikiなんぞをつかうのかな?
ちと,知識不足は否めないので,検討します。(政治家のセリフだな^^;)

919 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/13(土) 03:28:21 ]
最近はWikiスペースを無料でレンタルできるサービスもいくつかあります。
atwikiなどが一般に使われているようです。

ttp://atwiki.jp/
ttp://wikiwiki.jp/
ttp://wiki.fc2.com/


920 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/13(土) 10:08:03 ]
livedoor wiki なんてのもあるね。

921 名前:octave for windowsメモの筆者 mailto:sage [2009/06/15(月) 09:24:44 ]
>>919 >>920

ありがとうございます。いま,少し立て込んでますんで,今週中くらいには,何とか
立ち上げてみます。まあ,うまくいくかどうかはやってみないとわかりません
ので,立ち上げて様子をみたいと思います。

あとここはここで,前にもいいましたが「その2」を立ち上げるのがいいと
思います。




922 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/15(月) 11:42:18 ]
次はソフトウェア板にでも移動したら?

923 名前:octave for windowsメモの筆者 mailto:sage [2009/06/15(月) 12:21:01 ]
>>922 それは,たしかにそうなのですが,>>834>>835>>836での>>835のような
意見もありますね。

まあ,リンクを貼ればどこでもいいかな。私は,正直どちらでもいいの
ですがでもどちらかにはしないと混乱しますよね。
まあ,意見分布を待つ。




924 名前:octave for windowsメモの筆者 mailto:sage [2009/06/16(火) 14:36:39 ]
>>919
ttp://www40.atwiki.jp/gnuoctavejp/
とにかく立ち上げてみました。まだ,何もありませんが
よろしくお願いします<m(__)m>。

いまは,IDがなくても書き込めますが,書き込み回数には制限を設けています。
できればIDを取得されて書き込まれることを期待します。
このあたりのことも議論できればいいですね。

925 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 00:12:19 ]
>>924
wikiなんで気軽に編集できる形態を希望します。

とりあえずのコンテンツとして以下を希望してみる。
(時間あれば自分でやりたいけど)

Octaveのインストール
クイックリファレンス
Tips紹介
グラフィックス実例集
Octave-Forgeの紹介
掲示板
Q&A掲示板

926 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 08:38:20 ]
>>925

反応ありがとうございます。

非ログイン書き込みは20回の連続制限なので,それくらいはあれば実用上
いいかなと思います。
非ログイン書き込みには文字認証があるのでスパムは出にくいと
おもいすが。念のため。

#掲示板か,どやって立ち上げるんだろう。Q&Aでも読むか。

927 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/22(月) 09:42:23 ]
>>925 コメント記入欄作成ありがとうございました<m(__)m>。


928 名前:octave for windowsメモの筆者 mailto:sage [2009/06/23(火) 12:16:19 ]
Xoctave - Human interface to GNU Octave

929 名前:octave for windowsメモの筆者 mailto:sage [2009/06/23(火) 12:19:59 ]
>>928 手が滑って書きかけであげてしまいました。スレッドが残り少ないのにすまぬ<m(__)m>

>>927は私です
ところで,こんなのあるそうです。
XだからWindowsの人には使えないです。Cygwinなら動くのかな?
Xoctave - Human interface to GNU Octave

ttp://www.nabble.com/Xoctave---Human-interface-to-GNU-Octave-p24156773.html

930 名前:octave for windowsメモの筆者 mailto:sage [2009/06/29(月) 08:00:43 ]
3.2.1のRelease Candidateがでてます。速いペースですね。

ttp://www.nabble.com/3.2.1-release-candidate-2-tt24218711.html#a24233395

まあ,Release前にはテストをメンテナーがしていますが,やはり限界があり,
世にでると3.2.0の不具合が報告されています。

そのフィックスといえそうです。


931 名前:octave for windows メモの筆者 mailto:sage [2009/07/02(木) 19:35:09 ]
cygwin版のocatave-3.2.0, octave-forge-20090607-2がリリースされました。
ただし,cygwin-1.7でのみのリリースなので
ttp://cygwin.com/ の
Cygwin release 1.7 in BETA testing の new setup-1.7.exe から
setup-1.7.exeをdownload し,インストールしてください。
CategoryはMathを選んでください。
octaveだけ選ぶとgnuplotがインストールされないので,
gnuplotも忘れずにインストールしてください。
cygwin版のocatave-3.2.0をお使いで,gnuplotで2D のmouse zoomingを
使いたい方は,
ttp://www.tatsuromatsuoka.com/gnuplot/Eng/cygbin/
のgp43-winbinX11-cygwin-1.7.zipをお使いください。




932 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/11(土) 17:12:11 ]
画像をimagescで表示した上にplotで点や直線を上書きしようとしても何も変化がないのですがどうしたらよいですか

933 名前:octave for windowsメモの筆者 mailto:sage [2009/07/12(日) 00:47:15 ]
>>932
hold onを使いましょう。

octave:14> imagesc(A);
octave:15> hold on
octave:16> fplot (@(x) x, [0 300]);


934 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/12(日) 00:50:18 ]
hold onはもちろんしてます
けれど画像の上に点や線が表示されないんです

935 名前:octave for windowsメモの筆者 mailto:sage [2009/07/12(日) 06:01:19 ]
>>934

MSVC octave 3.0.3とMinGW 3.0.5 にimageパッケージを組み込んだものでは上手くいくのですが。

OSやバージョンによるのかも。

私個人は、3.2.0は、バグが多いので使っていません。



936 名前:octave for Windows メモの筆者 mailto:sage [2009/07/26(日) 06:54:50 ]
octave 3.2.2がリリースされました。まだ,ソースのみのリリースです。
3.2.0は,メジャーチェンジの最初のバージョンだったので,バグが多かったので今度ものでフィックスされているようです。
私は,MinGW上でビルドしました。まだ,あまりつかっていませんのでよくわかりませんが,多分バグはかなりフィックスされていると思います。


937 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/06(木) 12:32:18 ]
MuPadやMaximaのような数式処理ソフトを組み込んで使うことはできるでしょうか?
Octaveで関数の係数を計算してプロットで結果を確認したいんですけど、多項式なので展開が大変なんです

938 名前:名無しさん@お腹いっぱい。 [2009/08/06(木) 12:32:51 ]
すみません。質問いいでしょうか。
普段Octaveは使わないんですが、諸事情でちょっと使わなくては
いけなくなって困っています。

もらったスクリプトの中に、こういう記述があって、↓
for h=1:length(salida)
tree.TerrainAnchor(h).Position.ATTRIBUTE.x=salida(h,1);
tree.TerrainAnchor(h).Position.ATTRIBUTE.y=salida(h,2);
tree.TerrainAnchor(h).Position.ATTRIBUTE.z=salida(h,3);
end
どうも「salida」のところでエラーになるようです。
これは、
・スクリプトの配布者が「salida.m」を同梱するのを忘れた。
・Octaveのインストールが失敗してる。
のどちらでしょうか?

939 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/06(木) 17:55:11 ]
salidaは変数

940 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/08/09(日) 01:09:25 ]
>>937
polyvalというのを使ってください

help polyval

で説明は出ますが

例えば、多項式 y = 3x^2 + 2x + 1 について、
x = 5, 7, 9 で計算する場合。

p = [3 2 1];
polyval(p,[5 7 9])

ans =

86 162 262


941 名前:名無しさん@お腹いっぱい。 [2009/08/20(木) 01:02:58 ]
liboctaveについて質問なのですが
Matrix型などで各要素でlong double型を扱うことはできますか?

標準だとdouble型になってしまうのですが・・・
できればやり方も教えていただけるとうれしいです



942 名前::octave for windowsメモの筆者 mailto:sage [2009/08/20(木) 18:48:00 ]
>>941
マニュアル見ると

A.1.2 Matrices and Arrays in Oct-Files

Matrix A double precision matrix class defined in dMatrix.h,

となってるんで無理じゃないですかね。

943 名前::octave for windowsメモの筆者 mailto:sage [2009/08/20(木) 19:03:02 ]
>>941 >>942

私ではよく分からないので本家に上げときました。後は自分で追ってください。

www-old.cae.wisc.edu/pipermail/help-octave/2009-August/015741.html

944 名前::octave for windowsメモの筆者 mailto:sage [2009/08/21(金) 07:50:46 ]
>>943

David Batemannさんが答えてくれました。
ttp://www.nabble.com/FW:Can-one-treat-long-double-type-Matrix-in-liboctave--td25059242.html

要約すると
Maxtixのclass自体をlong double化するのは容易ではあるが,
実際の計算をするBlasやLapackはdoubleなので自力でこれらを
long double対応版を作成したり,他にもいろいろな関数をlong double
に対応させる必要があるようでかなりの難しい作業になるとのことです。

945 名前:octave for windowsメモの筆者 mailto:sage [2009/08/24(月) 18:23:31 ]
Octave 3.2.3のRC1がでました。
詳しくは以下を
ttp://www.nabble.com/3.2.3-RC1-p25112724.html
結構Changeset(パッチのこと)が出ているので3.2.2でもまだまだってとこです
かね。
3.2.xをstableと呼ぶには正直違和感があり,これはcurrentにすべきだと
いってますが聞いてもらえません^^;

946 名前:名無しさん@お腹いっぱい。 [2009/09/07(月) 15:41:55 ]
stem(x,y,"o")
を実行しても、ポイントが○にならずにデフォルト(三角)
のままです。
どうしたら直るのでしょうか?

947 名前:octave for windowsメモの筆者 mailto:sage [2009/09/08(火) 16:23:37 ]
マニュアル
The default color is "r" (red). The default line style is "-" and the default marker is
"o". The line style can be altered by the linespec argument in the same manner as
the plot command. For example
と書いてありますね。線のスタイルは変えられるようですがmarkerは変えられるとは
書いてないですね。
上で聞いてみましょうか?

948 名前:octave for windowsメモの筆者 mailto:sage [2009/09/08(火) 17:50:02 ]
>>946, >>947
本家に上げてみました。
ttp://www.nabble.com/Can-I-change-maker-of-stem--tc25341325.html

949 名前:octave for windowsメモの筆者 mailto:sage [2009/09/09(水) 10:27:34 ]
>>946 >>947 >>948
David Batemanさんが答えてくれました。

Try

h = stem(1:10, 'marker', 'x')
set (h, 'marker', 'o')

in octave 3.2.x ... This uses the stem series objects supported in
Octave 3.2.x and described in the section

Plotting -> Advanced Plotting -> Object Groups -> Stem Series

of the manual

だそうです

950 名前:octave for windowsメモの筆者 mailto:sage [2009/09/09(水) 10:36:20 ]
>>949
その通りにやるとだめで,
x = 1:10;
y = ones (1, length (x))*2.*x;
h = stem(x,y);
set(h, 'marker','x');
set(h, 'marker','*');

で確認できました。


951 名前:octave for windowsメモの筆者 mailto:sage [2009/09/10(木) 09:28:55 ]
>>950
Davidさんからと返事です
> Oppps, check the bugfix
>
> hg.tw-math.de/release-3-2-x/rev/d208ae6e9d74
>
> so the first syntax will be fixed in 3.2.3

I have confirmed on tbe 3.2.3rc-3.

上ののパッチはスクリプトファイルのものなので,patchコマンドをつかうか,
パッチをよく見てスクリプトを編集すればフックスできます。



952 名前:octave for windowsメモの筆者 mailto:sage [2009/09/11(金) 09:37:05 ]
こんなん見つけました。

MATLAB Programming/Differences between Octave and MATLAB

ttp://en.wikibooks.org/wiki/MATLAB_Programming/Differences_between_Octave_and_MATLAB





953 名前:octave for windowsメモの筆者 mailto:sage [2009/09/21(月) 17:54:07 ]
Octave 3.2.3がリリースされました。 
今回かなりバグフィックスが進みました。 
ttp://www-old.cae.wisc.edu/pipermail/octave-maintainers/2009-September/013386.html をご覧ください。
まだ,ソースのみのリリースですので各バイナリが出るのは少し時間がかかると思います。 ソースからビルドする方には,3.2.3に乗り換えがお勧めといえます。

954 名前:octave for windowsメモの筆者 mailto:sage [2009/10/04(日) 07:07:47 ]
>>953 Cygwin版の3.2.3がでました。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<345KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef