Backup diff of HydLaの使い方 vs current(No. 13)


  • The added line is THIS COLOR.
  • The deleted line is THIS COLOR.
#contents
**Hyroseの使い方 [#v9f7ef61]
- 「[[Download]]」ページからHyroseをダウンロード後,下の[[数式処理ソフトウェアの利用方法>#solver]]に書いてある準備を行えば,すぐに使用可能
&aname(solver);
**Hyroseの使い方 [#v9f7ef61]
- 執筆予定
**外部ソフトウェアの利用方法 [#u966ecef]
- 現在のHyroseでは,求解時に外部ソフトウェアとしてMathematicaやREDUCEを利用する必要がある
- これらを利用するためには,それぞれ下記の準備を行う
-- Mathematica
**数式処理ソフトウェアの利用方法 [#u966ecef]
- 現在のHyroseでは,求解時に数式処理ソフトウェアとしてMathematicaやREDUCEを利用する必要がある
- これらを利用するためには,それぞれ下記の準備を行い,使うソフトを[[solverオプション>#option_solver]]で指定する
-- [[Mathematica>#mathematica]]
-- [[REDUCE>#uaff7ba0]]
&aname(mathematica);
***Mathematica [#f76a64f7]
- バージョン7以降のインストールが必要.8が推奨
-- Mathematica8でないとエラーの発生する例題も確認されている(2011/12/21)
- Mathematicaのパスが通っていれば使用可能
-- より具体的には,「math」とコマンドを打ってMathematicaが起動できれば,Hyroseは動作可能
--- 「math」コマンド以外で起動する場合には,「--mathlink」オプションでのlinknameの後のコマンド名をmathから該当名に変えればよい
--- GUI環境なら,起動するMathematicaの実行ファイルを毎回指定することもできる
***REDUCE [#uaff7ba0]
- %%windows版の動作確認が取れていないため、Linux系OSの場合を想定しています(20111220現在)%%
-- OS: WinXP Pro 32bit, バイナリ: HydLa_20111220.zip で動作確認しました
- REDUCEを数式処理ソルバとして使う場合、以下の手順に従ってください
- 20101007版(それ以降の版には未対応)のインストールが必要
- REDUCEを数式処理ソルバとして使う場合、以下の手順に従う
+ REDUCEのインストール手順
-- windows系OS
--- sourceforgeのサイトからソースコード(reduce-windows64-20101007.zip または reduce-windows32-20101007.zip)をダウンロードして解凍して下さい
--- sourceforgeのサイトからソースコード(reduce-windows64-20101007.zip または reduce-windows32-20101007.zip)をダウンロードして解凍する
--- (64bit版のREDUCEを実行するにはmingw-w64-gcc-4.6.3-runtime-2.0.1-shared-ada-20120322.7zのbin/ のDLLが必要)
-- linux系OS
--- sourceforgeのサイトからソースコード(reduce-algebra-20101007.tar.bz2)をダウンロードして、実行ファイルを作成して下さい
--- 20101007版でのみ動作確認しています
+++ wget http://jaist.dl.sourceforge.net/project/reduce-algebra/reduce-algebra-20101007.tar.bz2
+++ bzip2 -dc reduce-algebra-20101007.tar.bz2 | tar xvf -
+++ cd reduce-algebra-20101007
+++ ./configure --with-csl --without-gui
+++ make
--- このmakeによって/cslbuild/[各OSの名前]/csl/reduce に実行ファイルが生成されます
--- sourceforgeのサイトからソースコード(reduce-algebra-20101007.tar.bz2)をダウンロードして、実行ファイルを作成する
--- ソケット通信時にsleep関数が原因のボトルネックが存在するため、パッチを当てて対処する必要がある
>
+ wget http://jaist.dl.sourceforge.net/project/reduce-algebra/reduce-algebra-20101007.tar.bz2
+ bzip2 -dc reduce-algebra-20101007.tar.bz2 | tar xvf -
+ cd reduce-algebra-20101007/
+ (reduce-algebra-20101007/ディレクトリに &ref(patch.txt); をコピー)
+ patch -d csl/cslbase/ < patch.txt
+ ./configure --with-csl --without-gui
+ make
<
--- このmakeによって/cslbuild/[各OSの名前]/csl/reduce に実行ファイルが生成される
+ REDUCEによるHyrose実行手順
- hydla実行ファイルと同じディレクトリの sr.sh を使って、REDUCEの起動、終了と共にHyroseを実行します
- [REDUCE_PATH]に生成したreduceのパスを設定してください
-- hydla実行ファイルと同じディレクトリの sr.sh を使って、REDUCEの起動、終了と共にHyroseを実行する
-- [REDUCE_PATH]に生成したreduceのパスを設定すること
-- windows系の場合、cygwinを使って実行する
--- 例としてREDUCEの解凍場所を「C:\reduce-i686-pc-windows-20101007\」にした場合、[REDUCE_PATH]には「/cygdrive/c/reduce-i686-pc-windows-20101007/」と書く
-- 実行例
> sh sr.sh examples/bouncing_particle.hydla -s r -t 1
> sh sr.sh examples/bouncing_particle.hydla -s r -t 1 
<
-- [補足] linux版のREDUCEサーバは非同期通信に対応しているため、裏で起動しておけばsr.shなしでhyroseを実行出来る
--- サーバ起動例
> [REDUCE_PATH]/reduce -w -F- &
<

**主要なオプション [#g0fbd912]
| オプション | デフォルト値 | 説明 |
| -h [--help] | | ※1.ヘルプを表示 |
| --version | | ※1.バージョンを表示 |
| -d [--debug] | | デバッグ出力を行う |
| -c [--comprehensive] | | 大局的デバッグ出力を行う |
| --area | "" | 局所的デバッグ出力を行う.※2 |
| --area | "" | 局所的デバッグ出力を行う. |
| --profile | | ※未実装.プロファイリング(性能解析)を行う |
| -p [--parallel] | |※未実装.並列実行を行う |
| --dump-parse-tree | |※1.構文木を表示 |
| --dump-module-set-list | | ※1.解候補モジュール集合の集合をリスト表示 |
| --dump-module-set-list-noinit | | ※未実装.dump-module-set-listの結果から,時刻0のみで成り立つ制約だけからなるモジュールを省いたものを表示 |
| --dump-module-set-graph | | ※1.解候補モジュール集合の集合を,包含関係を含めて表示.graphvizで描画可能 |
| --dump-module-set-graph-noinit | | ※未実装.dump-module-set-list-noinitのグラフ版 |
| --dump-in-progress | |シミュレーションと並行して各フェーズを表示.全解探索時には見辛い|
| --fail-stop | | ASSERT文に記述された条件が違反したら,すべての場合についてシミュレーションを中断する(全解探索時以外無意味)|
| -v [ --output-variables ] | "" | 値を出力する変数を指定する &br; 空文字列なら,出現するすべての変数を出力する &br;指定方法は※2 |
| -m [--method] | s | シミュレーションの方法.sで新数式処理,lで旧数式処理,bで数値処理を行う.s以外は現在動作保証されていない |
| -s [--solver] | m | 使用するソルバー(外部ソフトウェア)の指定 &br; mでMathematicaを使用,rでReduceを使用 &br; それぞれの使用方法については,[[外部ソフトウェアの利用方法>#solver]]を参照|
| &aname(option_solver);-s [--solver] | m | 使用するソルバー(数式処理ソフトウェア)の指定 &br; mでMathematicaを使用,rでReduceを使用 &br; それぞれの使用方法については,[[数式処理ソフトウェアの利用方法>#solver]]を参照|
| --nd | | 全解探索モードを実行 |
| --in | | ※未実装.インタラクティブ実行モード |
| -f [--output-format] | t |  出力フォーマットの指定.nで数値,tで数式,iで区間値,mでMathematicaプロット用の出力 |
| --output-interval | 1/10 | ※3.数値出力時,出力を行う時間の間隔 |
| --output-precision | 5 | 数値出力時,出力を行う数値の有効桁数.デフォルトでは5 |
| --continuity | 3 | デフォルトで有効になる連続性の強さ指定.&br; 0: 連続性無し.現状ではほとんど動かない.&br; 1: 制約ストア中に出現した最大微分回数未満のものを連続とする. &br; 2: IPでは3を,PPでは1を採用.&br;3: 制約ストアにその変数についての言及が無かったら,直前の変数の動きをそのまま引き継ぐ.(プログラム中の最大微分回数+1の値を0とする)|
| -t [--time] n | 1 | ※3.シミュレーション終了時刻 |
| --step n | -1 | シミュレーションステップ数.負数は無限|
| -i [ --interlanguage] | | ※未実装.中間言語の出力 |
| -a [ --approx] | -1 | ※動作保証不可.近似モードの指定 &br; 負数なら近似無し,正数ならその精度で近似 |
| --mathlink | ※4 | ※動作保証不可.MathLinkの起動時の引数 |
- ※1 出力だけを行い,シミュレーションを開始しない
- ※2 [変数名]_[微分回数]_[変数名]_[微分回数]_…_[変数名]_[微分回数]の形式で指定.例えば,yとy'を出力したいなら, y_0_y_1と指定する
- ※3 0.1のように小数を指定されると動作保証が行えないので,1/10のように分数表記を用いる
- ※4 -linkmode launch -linkname 'math -mathlink'