[表示 : 全て 最新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について語ろう。



47 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/08 23:27]
>>45
60MBは、たぶん -g つけたままコンパイルしたんじゃないか?
liboctaveも巨大なままでは?
make clean; make CFLAGS=-O2 CXXFLAGS=-O2 をおすすめする。
あと、strip octave。

48 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/08 23:30]
>>46
上ので通りました. -llapack とかは不要なんですね.

$ g++ -I/usr/local/include/octave-2.1.57 -L/usr/local/lib/octave-2.1.57 -loctave -lcruft -lg2c -o test test.cpp

こう書くと undefined reference がいっぱい出ますが,
順番が大事だとわかりました.

どうも, ありがとうございました.


49 名前:名無しさん@お腹いっぱい。 [04/06/09 03:42]
octave ってスパース行列扱うの弱くない?

最近はCPUもメモリも強力だけど、古いマシンで
計算させたら死にそうになった。

50 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/09 05:01]
Scilab使へば

51 名前:45 mailto:sage [04/06/10 00:35]
がびーん。
./configure; make しただけだったのですが、そういえばご丁寧に -g
が付いていたような。。。
気を取り直してもう一度 build してみます。
その前に HDD 増設かも。


52 名前:45 mailto:sage [04/06/10 00:37]
連続書き込みすみません。
octave って SMP マシンの恩恵を得られるのでしょうか?
HT対応のCPUを2個挿せば、体感?4つになります。
個人でも 4 way も持てるなんて、想像しただけで幸せです。


53 名前:Pen4 2.4GHz mailto:sage [04/06/10 01:25]
octave:1> A=rand(2000,2000);b=rand(2000,1);
octave:2> tic;A\b;toc
ans = 2.7709

最近のマシンは速いねぇ…

54 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/10 01:33]
>>53
octave:1> A=rand(2000,2000);b=rand(2000,1);
octave:2> tic;A\b;toc
ans = 193.02
(´・ω・`)ショボーン

Status of processor 1 as of: 06/10/04 01:33:21
Processor has been on-line since 05/25/04 18:25:10.
The sparcv9 processor operates at 296 MHz,
and has a sparcv9 floating point processor.
Status of processor 3 as of: 06/10/04 01:33:21
Processor has been on-line since 05/25/04 18:25:11.
The sparcv9 processor operates at 296 MHz,
and has a sparcv9 floating point processor.


55 名前:名無しさん@お腹いっぱい。 [04/06/10 01:52]
>>52

多分ならなかったと思うけど...
threadで組んでたかな?



56 名前:名無しさん@お腹いっぱい。 [04/06/10 10:59]
>>54

PentiumIII(katmai) 600MHz

octave-2.1.57:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.57:2> tic;A\b;toc
ans = 17.742

sparcのv9って比較的最近のCPUじゃないの?
大昔(Coppermineですらない)のPenIIIよりも遅いのですか...??


57 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/10 11:00]
>>56
書くの忘れたけど,
OSは,FreeBSD 5-current で
CPUは 600MHz x 2のSMPです.

58 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/10 11:10]
ちなみに FreeBSD-4.9R で
ちょっと古いCPUですが,
Athlon-MP(多分Thunderbirdコア) 1.2GHzx2 のSMPで

octave-2.1.50:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.50:2> tic;A\b;toc
ans = 5.1248

と5秒ちょっとのタイムをマークしました...
Octaveは多分 SMP は効いてないと思うので,速度は
>>53の Pen4 と比較してもクロック分の速度は出てるかな...

59 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/10 23:19]
>>49

それってかなり古いOctaveじゃない?

60 名前:ThinkPad X31 [04/06/11 01:05]
octave:1> A=rand(2000,2000);b=rand(2000,1);
octave:2> tic;A\b;toc
ans = 5.6739

最近のB5サブノートは速いねぇ…

61 名前:名無しさん@お腹いっぱい。 [04/06/11 02:05]
Octaveって疎行列の計算はできますか?
周期境界条件を課した疎行列の計算パッケージがなかなか見つからなくて困っています。
FFTはNlogNのオーダーなんで遅いしなーって思うとNのオーダーで計算できる
疎行列パッケージが一番よいのですが。

62 名前:SS S8 mailto:sage [04/06/11 09:20]
>>60
cygwinでコンパイルしたやつだけど、
ans = 34.755
だった orz
コンパイルオプションばりばりつけた方がいいのかなぁ

63 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/11 14:52]
>>61
自分で書くと感謝されるよ。

でもLAPACKとかで疎行列扱えないの?
最近はOctaveも外部ライブラリに頼っているからね。



64 名前:名無しさん@お腹いっぱい。 [04/06/11 14:57]
うちのThinkPad X31(PentiumM-1.4GHz)も,
FreeBSD 4.10-stable 上で

octave-2.1.57:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.57:2> tic;A\b;toc
ans = 5.5506

という値を出しました.


65 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/12 02:04]
漏れも試そうとportsでoctaveをmakeしてるんだけど
atlasのビルドが一日たっても終わんないよう。




66 名前:名無しさん@お腹いっぱい。 [04/06/12 02:31]
atlasのインストール時ってコンパイルが終わらないというより、
数値計算を行っている時間が長いようですね。

ずっと数値計算プログラムが動いていますが、
計算精度のチェックでもしているのでしょうか?

ちなみにうちのThinkPad X31だと、とりあえず1日ってことはないな
3時間くらいで終わっていたように思えるけど...

67 名前:名無しさん@お腹いっぱい。 [04/06/12 02:45]
>>65
メモリが不安定だと計算処理が途中で異常終了して
計算を繰り返して丸一日以上かかることがありました.

もしも速いCPUを使っていて丸一日以上かかるようだったら、
メモリをチェックしてみた方が良いかもしれません.
普通に使っていて動いていても memtest とかが
通らない場合がありますよ.

私は atlas のコンパイル作業でメモリ異常に
気が付きました.

ちなみに Athlon等の1GHz以上のCPUなら数時間で計算処理が
終わります.


68 名前:45 mailto:sage [04/06/12 09:45]
なにせ古いマシン、PentiumIII 550E ×2 です。
40GB HDDを買ってきて Fedora CORE 2を再インストールしました。
ご指摘のありました -g 付きの ./configure; make 版です。

$ uname -a
Linux localhost.localdomain 2.6.6-1.427smp #1 SMP Thu Jun 10 10:01:11 EDT 2004 i
686 i686 i386 GNU/Linux
$ octave
GNU Octave, version 2.1.57 (i686-pc-linux-gnu).
octave:1> A=rand(2000,2000);b=rand(2000,1);
octave:2> tic;A\b;toc
ans = 110.47

xcpustate で各プロセッサーの状態を監視しながら実行させました。
なるほど、片側のプロセッサーのみを占有していました。悲しい。
窓を2枚開いて同時に octave を起動して、上記処理を行なうと、
143.50 と 145.39 でした。二人で同時に動かしてもそれなりということか。
少し救われるかも。
47さんのアドバイスに従って再make 中です。

どんなプラットフォームでもちゃんと動作するマルチスレッドの
プログラムを作るのは難しいですからね。SMPを活かそうと思ったら
やはりガリガリ自分で作るしかなさそう。嬉しいような悲しいような。。。


69 名前:名無しさん@お腹いっぱい。 [04/06/12 22:56]
>>68

110秒はちょっと遅いですよね?
これはコンパイルオプションにかなり左右されるのでしょうか?
SSEとかどうなっているのでしょうか?

>>56 は 同じようスペックで17秒ちょいで終わっているようですが...


70 名前:名無しさん@お腹いっぱい。 [04/06/13 03:03]
研究環境を完全OpenSource化使用して、いろいろ画策中です。

特にMATLABからOctaveへ関数をいくつか移植しているのだけど、
けっこう大変だよね。

Octaveは関数が一つしか書けないし、微妙なところで関数の仕様が
違っていたりするし。

でもMATLABへのライセンス料を払わなくて済むなら
かなりの出費が押さえられる。



71 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/13 03:04]

               ____
           ./, - 、, - 、   ̄ ヽ
          ./-┤ 。|。  |――-、 ヽ
           | ヽ`- ○- ´ /  ヽ  |
           | -   |     ―   |  |
           |  ´  |    `ヽ  . |  |ヽ
  ∩      人`、 _  |    _.- ´ | .|  \
  |  ⌒ヽ /  \  ̄ ̄ ̄     ノノ       \
  |      |´      | ̄―--―― ´ヽ     _  /⌒\
  \_   _/-―――.| ( T )      `l     Τ(      )
       ̄       |   ̄        }      | \_/
             | 、--―  ̄|    /

72 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/13 03:06]
>>71
もしかしてキリ番狙っていたの?

73 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/13 03:46]


   ||
 Λ||Λ
( / ⌒ヽ
 | |   | 逝け>72
 ∪ 亅|
  | | |
  ∪∪
   :
   :

 ‐ニ三ニ‐

74 名前:+++ mailto:age [04/06/13 11:00]
   ||
 Λ||Λ
( / ⌒ヽ
 | |   | 逝け>>72
 ∪ 亅|
  | | |
  ∪∪
   :
   :

 ‐ニ三ニ‐


75 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/13 18:03]
>>71, >>73, >>74

せっかくのAAなんだけどうちの環境,FreeBSD + mozilla デフォルト設定では
文字がずれて,きちんと見えません...

等幅フォントにすりゃいいんだけどね.



76 名前:名無しさん@お腹いっぱい。 [04/06/13 18:30]
このスレせっかくいい調子で話が進んでいたのに、
変な香具師が紛れ込むようになってきたね。

77 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/13 18:33]
必要もないのにageちゃうからだろ。


78 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/13 19:15]
さりげなくサイエンスな香りがするこのスレ、気に入っていたのに

79 名前:名無しさん@お腹いっぱい。 [04/06/13 23:20]
WindowsでOctaveって動きますか?

ちょっと面白そうなので立ち寄ってみました。

80 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/13 23:24]
>>79
動くよ。native 版もあるし、cygwin で動かす手もある
特に数値計算なら、こしょこしょコード書くよりまかせてしまったほうがいいと思う

81 名前:名無しさん@お腹いっぱい。 [04/06/13 23:40]
レスありがとうございます。

Windowsのnative版もあるんだ。
探してみます。

でもcygwinはややこしいからパスします。

82 名前:45 mailto:sage [04/06/14 22:01]
途中報告。
-g を抜いたバイナリでSMPカーネルで同じ手順を行ないました。
バイナリサイズはナント 7MB でした。
実効結果は
ans = 105 くらいでした。大差ないです。
原因を引き続き調査中です。

そうそう、SPARC とかは float より double が早いそうですね。
ハードウェアがそう設計されているそうです。


83 名前:名無しさん@お腹いっぱい。 [04/06/14 23:01]
>>85
floatよりdoubleが速い処理系は多いよ.特に昔のRISC系CPUの場合は...

それと表示は,桁を省略しているけど,Octaveは基本的に double で
計算しているはずです.
それで105秒だと本当にそれくらいの速度かと...

atlasをコンパイルするとき -g を抜くだけではなくて,
gcc で -O3 とか -msse2 といった最適化オプションは
指定してありますか?


84 名前:名無しさん@お腹いっぱい。 [04/06/15 00:48]
>>83

FreeBSDのportsではSSE2対応のCPUでは,自動的に
SSE2が有効になるようにコンパイルオプションが
指定されているようです.


85 名前:SS S8 mailto:sage [04/06/15 01:12]
gcc-3.3.1/cygwin/PenM 1G ですが、
-O2のみでは
ans = 34.755
だったのが、
FFLAGS, CFLAGS, CXXFLAGS全部に
-O3 -fomit-frame-pointer -mcpu=pentium3 -march=pentium4 -msse2 -funroll-loops
を指定したら、
ans = 14.412
になりました。ただし、一番効いてるのは -mcpu っぽい。



86 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/15 02:36]
よく覚えていないのですが、atlasってアセンブラで
SSE2のコード書いてませんでしたっけ?
たしかプリプロセッサでSSE2を有効にする変数を定義したら
SSE2が有効になったような...


87 名前:名無しさん@お腹いっぱい。 [04/06/15 08:00]
Opteron242だと
ans=11.8
やけにおそいな。
OS SuSE 9.1 X86_64

88 名前:名無しさん@お腹いっぱい。 [04/06/16 04:15]
>>87
B5サブノートのPentiumMに負けている...

Opteronって通常の数値計算が速いって聞いてますが、
実際のところどうなんでしょうか?

Octaveの使用を含む数値計算用に一台Dual CPUなのを購入予定なのですが...


89 名前:名無しさん@お腹いっぱい。 [04/06/16 17:14]
opteron 242*2(1.6GHz)
姫野ベンチ 2CPU
1313MFlops
Pentium200MHz 40.7倍

Xeon 2GHzしかないが
819MFlops




90 名前:名無しさん@お腹いっぱい。 [04/06/19 03:03]
今一つ速くないね.Opteron...

まだ最適化が十分ではないのかな?

91 名前:名無しさん@お腹いっぱい。 mailto:age [04/06/22 11:44]
あげ

92 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/22 11:48]
しかしながらベンチマークスレに成り下がっているのは情けなくもある。

93 名前:名無しさん@お腹いっぱい。 [04/06/22 12:14]
演算の精度の制御はどうやればできますか?
たぶんデフォルトではdoubleというか64bitっぽいですが、
もっと精度が欲しいのです。

94 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/22 22:44]
scilab

95 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/23 07:09]
>>92
スーパーコンピューターの最大ユーザーはベンチマーク屋である。
という話を聞いたことあるけど。
もっともコンパイルオプションの違いで数倍のパフォーマンスが
違えばショックですね。
MATLABを買ったと思ってPC買い換えれば幸せになれるかも。。。




96 名前:名無しさん@お腹いっぱい。 [04/06/23 08:20]
>>93
演算の精度制御は、できないみたい。
「GNU Octave Manual」によれば(p35)
numeric data is currently stored as double precision numbers.
use the IEEE floating format,
the relative precision is approximately 2.2e-16.
とある。
無論、表示の制御は、できる。C likeのフォーマットが使える。

97 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/23 09:03]
>>94,>>96
どうもありがとう。octaveじゃ無理なんですね。

scilabをインストールしてみたら、例のペンチマークがoctaveより速くて、
のりかえを検討していますが、こっちはどうやれば精度の制御ができるんでしょう?

98 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/23 09:54]
octaveは全く触ったことがない厨房ですが、octaveとRは機能的に
かなりかぶりますか? それとも相互補完するものですか?

99 名前:名無しさん@お腹いっぱい。 [04/06/24 12:56]
若干かぶるけど,特定分野だとRの方が強いと思うよ...

Octaveは線形代数系の計算全般といったところか.

100 名前:名無しさん@お腹いっぱい。 [04/06/24 12:59]
>>95
MATLABのことを考えると,毎年PCを買い換えれますね.

MATLABは基本的に毎年ライセンス料を払わないといけないプレッシャーが
あります.
まぁ,払わなくてもいいんだろうけど,修正パッチとか
バージョンアップのことを考えるとライセンス料を払い続けるしか
ないシステムになっています.




101 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/24 13:03]
>>95

ベンチマークだいすきですぅ。

102 名前:名無しさん@お腹いっぱい。 [04/06/25 14:28]
MATLAB個人で買いましたよ。
octaveじゃできないこともおおいし。

ちなみに「データ解析ツール」じゃなくて「行列言語」な。
間違えるなよ。

103 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/25 22:18]
行列言語ってのもなんだな...

104 名前:名無しさん@お腹いっぱい。 [04/06/25 22:28]
Octave使っているのだけど,マニュアルとかが英語なのがちょっとね.
何かお奨めな参考書とかWebページとかりますか?

105 名前:名無しさん@お腹いっぱい。 mailto:sage [04/06/25 22:28]
とかありますか?



106 名前:名無しさん@お腹いっぱい。 [04/06/26 09:24]
あまり役に立たない本
「Octaveを用いた数値計算入門」
北本 卓也著
ピアソンエヂュケーション
ISBN4-89471-448-5


107 名前:名無しさん@お腹いっぱい。 [04/07/01 07:59]
卒研で構造物の強度計算をすることになりました。
それで手頃なツールをさがしているのですが、
Octaveでできますか?

研究室のOSはNetBSDというものだそうです。

108 名前:名無しさん@お腹いっぱい。 mailto:sage [04/07/01 08:02]
強度計算がどんな計算をするものなのかわからないので、わからない。
行列計算とか微分方程式とかに帰着させられるんならできるだろうけど。
OSは無関係。

109 名前:名無しさん@お腹いっぱい。 [04/07/04 23:00]
初めて立ち寄ってみました。
lsodeの中身は4段のRunge-Kuttaなのでしょうか?
何を見たら分かるのでしょう?どなたか教えてください。

110 名前:名無しさん@お腹いっぱい。 [04/07/04 23:34]
微分方程式は Runge-Kuttaを使っていたと思います.

今のOctaveは外部の数値計算ライブラリに依存しているから
そのソースコードを確認するのがいいのではないでしょうか?

でもFORTRANとかで書かれているのでちょっと困りますが...

111 名前:名無しさん@お腹いっぱい。 [04/07/04 23:43]
>>109
lsodeはRunge-Kuttaではなく、stiffな問題にはBDF法、nonstiffな問題にはAdams(predictor-corrector)と使い分けています。
いずれもRunge-KuttaのようなSingle step methodでは無く、Multi step methodと呼ばれる方法です。
www.llnl.gov/CASC/odepack/

もともとODEPACKというFORTRANのパッケージに含まれていて、ソースはwww.netlib.orgからダウンロード出来ていたと思います。
lsodeでググってみたら出てきますよ。

112 名前:名無しさん@お腹いっぱい。 [04/07/05 07:45]
二つの異なる情報ですが、ありがとうござました。
linspaceで刻み幅を固定して計算するのだからRKだろうか
と思っていました。ソースを読んで見ます。
BDFかあ。懐かしいなあ。ずっと以前でしたが、理解するのに
一苦労したっけ。小生は、現在は、刻み幅自動調整の
RKFの愛用者です。

113 名前:名無しさん@お腹いっぱい。 [04/07/05 07:48]
異なる内容でしたが、ありがとうございます。
linspaceで刻み幅を固定するので、RKかと思っていました。
小生は、現在は、刻み幅自動調整のRKFを愛用しているので
つい、そう思っていました。ソースを読んで見ます。

114 名前:名称未設定 mailto:sage [04/07/07 22:57]
Matlabのtoolboxが必要なら、octeva-forgeをインストすれば

115 名前:名無しさん@お腹いっぱい。 [04/07/14 03:05]
>>114

こんなんあったんだね。
これはちょっと使えるかも。



116 名前:名無しさん@お腹いっぱい。 [04/07/21 20:37]
さてMATLAB R14が出たわけだが。

117 名前:名無しさん@お腹いっぱい。 [04/07/21 21:18]
MATLABは新しくなればなるほど重く不安定になってくる。
R12以前くらいかな良かったのは。

118 名前:名無しさん@お腹いっぱい。 [04/09/28 22:30:37]
久々にベンチマークネタ age

octave-2.1.57:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.57:2> tic;A\b;toc
ans = 4.5008

CPU: AMD Athlon(tm) XP 1700+ (1472.93-MHz 686-class CPU)
Origin = "AuthenticAMD" Id = 0x681 Stepping = 1

そんなに速くないな...motherboardも古いし...

119 名前:名無しさん@お腹いっぱい。 [04/09/29 04:41:37]
octave-forgeってどーですか

120 名前:名無しさん@お腹いっぱい。 mailto:sage [04/10/02 21:42:10]
>>119
けっこう使えるよ。
公開されてるMatlab用のプログラムが変更無しで動く

121 名前:名無しさん@お腹いっぱい。 [04/10/02 21:56:19]
octave-forge ってそもそも何ですか?

122 名前:名無しさん@お腹いっぱい。 mailto:sage [04/10/03 00:20:31]
>>121
cat /usr/ports/math/octave-forge/pkg-descr


123 名前:名無しさん@お腹いっぱい。 mailto:sage [04/11/13 20:43:16]
あげ

124 名前:名無しさん@お腹いっぱい。 [04/11/13 20:45:19]
あげ

125 名前:名無しさん@お腹いっぱい。 [04/11/14 03:58:42]
日本語化パッチはまだでつか?



126 名前:名無しさん@お腹いっぱい。 mailto:sage [04/11/14 04:15:32]
Octave に日本語って必要なんですか?

127 名前:名無しさん@お腹いっぱい。 [04/11/14 04:23:04]
必要かどうかは解かりませんけど、
道具が人を選んではいけないと思います。

128 名前:名無しさん@お腹いっぱい。 [04/11/14 04:35:04]
>>127
意味分かりません


129 名前:名無しさん@お腹いっぱい。 [04/11/14 05:48:38]
英語読むのめどい

130 名前:名無しさん@お腹いっぱい。 [04/11/19 11:26:10]
馬鹿とハサミは使い方次第ですね
馬鹿には道具は使えないんでしょうかねぇ

131 名前:名無しさん@お腹いっぱい。 [04/11/19 11:28:12]
んなこといっちゃってはずかしいくせに

132 名前:名無しさん@お腹いっぱい。 [04/11/19 16:55:41]
Octaveって線形代数電卓って感じだなぁ.

普段何気なく使っていて,それほど必要だとは思わないんだけど
自分の使っているマシンに入ってないと気づいたときのショックは
計り知れない.
無いとかなり不便なんだよね.

133 名前:名無しさん@お腹いっぱい。 [04/11/23 06:37:06]
FreeBSDの ports の Octave 新しくなりましたね.
何が変わったのかな?


134 名前:FreeBSD5.2.1-R [04/11/23 20:41:54]
2.1.63にアップグレードしたら次のメッセージが出るようになった
warning: lo_ieee_init: unrecognized floating point format!
何でしょうねこれ

135 名前:134 mailto:sage [04/11/24 01:33:20]
自己レス
最適化がきつすぎたみたい
コンパイルオプション変えたら出なくなった



136 名前:名無しさん@お腹いっぱい。 [04/11/24 05:47:50]
スレ違いでしたらすいません。
Octaveで以下の式を解きたいのですが、どの様な手順で進めるたらいいか、どなたか救いの手をよろしくお願いします。

dx(i)/dt = P(i) - k(i)x + a(i)x(i) - b(SUMx(j))

ここでxは2つあり、x=1の時は以下の式で解を求めます。
When D <> 0
x1(t) = (Ps/2S + Pd/2D) + (x1(0) - Ps/2S)e^(-St) - (Pd/2D)e^(e-Dt)

When D = 0
x1(t) = xd(0) + Pdt/2 + Ps/2S + (xs(0) - Ps/2S)e^(-St),

where
S = k + B;
D = k - B;
xs=x1+x2;
xd=x1- x2;
Ps = P1+ P2;
Pd = P1- P2;

x=2の場合、Pd -> -Pd, x1 -> x2, xd -> -xdとし、同じ様に解を求めます。

137 名前:名無しさん@お腹いっぱい。 [04/12/13 00:21:01]
CPUとマザーボードを買い換えました.
AthlonからPen4に変えたのですが
octave って再コンパイルが必要だったんですね.

138 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/14 20:04:09]
-march=athlonとかやってたんでないのか?

139 名前:名無しさん@お腹いっぱい。 [04/12/21 23:47:43]
Octave は関係ないんだけど atlas がコンパイル時にSSEや3D Now を
自動的に認識して最適なコードを出力します.

Athlonだと3D Now が入ってしまうから Pen4だと動かなくなってしまいます.

140 名前:名無しさん@お腹いっぱい。 [04/12/22 05:03:05]
FreeBSD 5.3-stable + プレスコットなPen4で ATLASを
コンパイルしたら以下のようなエラーが出るようになりました.

何かエラーを解消する方法があれば教えてください.

同じOSで PentiumM なら問題なくコンパイルできたのに...

pre=s, loopO=JIK, ta=N tb=T, mb=0, nb=0, kb=0, lda=0, ldb=0, ldc=0
mu=4, nu=1, ku=8, muladd=0, lat=1 ====> mflop=1573.458410
*** Error code 255

Stop in /usr/ports/math/atlas/work/ATLAS/tune/blas/gemm/THREADED.
*** Error code 1

Stop in /usr/ports/math/atlas/work/ATLAS/bin/THREADED.
Assertion failed: (fp), function GetMMRES, file ../atlas_install.c, line 327.


141 名前:140 [04/12/23 09:52:22]
PentiumM でコンパイルしたATLASを pkg_create してプレスコットな
Pen4 2.8GHz に入れました。
思ったより速くないですね。

PentiumM でコンパイルしているので SSE2 とかは有効になっている
はずです。

octave-2.1.63:1> A=rand(2000,2000);b=rand(2000,1);
octave-2.1.63:2> tic;A\b;toc
ans = 4.3339
octave-2.1.63:3> tic;A\b;toc
ans = 4.1330


142 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/23 17:52:46]
portsから入れるならWITH_OPTIMIZED_FLAGSを定義しておく
その他CFLAGSやFFLAGS等も適切に設定しておく

143 名前:名無しさん@お腹いっぱい。 [04/12/23 18:21:14]
>>141
SSE2の速度はPentiuMとPen4でぜんぜん違いますね。
>>142
WITH_OPTMIZIZED_FLAGSは定義しないでください。gcc-3.4.2の
バグで無限ループに陥ることアリ。CFLAGS/FFLAGSは意味なしです。


144 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/23 19:31:54]
意味無いこと無いだろ

145 名前:名無しさん@お腹いっぱい。 mailto:sage [04/12/23 20:05:09]
mahoたん降臨とみた。




146 名前:名無しさん@お腹いっぱい。 [04/12/23 22:58:33]
>>143

Pen4 ってSSE2 速いんですか?

それほどでもないと思うのですが...

147 名前:143 [04/12/23 23:06:00]
>>64 で X31 のベンチがありましたが
こちらも同じマシンですがベンチの結果はほぼ同じです。

同じ環境で PenM 1.4GHz 5.5秒 Pen4 2.8GHz 4.3秒...
これをどうみるか...








[ 続きを読む ] / [ 携帯版 ]

前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