*QEPCAD B + slfq [#tb60deb7]
QEPCAD B v1.69 is a program for studying Cylindrical Algebraic Decomposition (CAD). It constructs CADs from an input formula and variable order, and provides many commands for getting info out of the CAD, including construction of simple equivalent Tarski formulas.

Quantifier Elimination (入力された論理式と等価で,量化子を含まない論理式を出力する) プログラムの定番です.
*インストール例 [#he922c7d]

MathLibre (20130831) ではインストール済みです.それ以前のバージョンでは次を実行してください.

 sudo apt-get -y install bison flex
 export CAS=/usr/local/CAS
 export qe=$CAS/qesource
 export saclib=$CAS/saclib2.2.5
 sudo mkdir $CAS
 sudo chmod 777 $CAS
 cd $CAS
 wget http://www.usna.edu/cs/~qepcad/INSTALL/saclib2.2.5.tar.gz
 tar zxvf ./saclib2.2.5.tar.gz
 cd $saclib/bin
 ./sconf
 ./mkproto
 ./mkmake
 ./mklib all
 cd $CAS
 wget http://www.usna.edu/cs/~qepcad/INSTALL/qepcad-B.1.69.tar.gz
 tar zxvf ./qepcad-B.1.69.tar.gz
 cd $qe
 sed -i "s/csh/sh/g" $qe/Makefile
 make
 sed -i "s/\#SINGULAR/SINGULAR/g" $qe/default.qepcadrc
 cd $CAS
 wget http://www.usna.edu/cs/~qepcad/SLFQ/simplify-1.20.tar.gz
 tar zxvf simplify-1.20.tar.gz
 cd ./simplify
 make
 echo "export qe=/usr/local/CAS/qesource" >> ~/.bashrc
 sudo ln -s $CAS/qesource/bin/qepcad /usr/local/bin/qepcad
 sudo ln -s $CAS/simplify/slfq /usr/local/bin/slfq
*使用例 [#aaa58f1b]

円と直線

 echo "[]
 (a,b,x,y)
 2
 (Ex)(Ey)[x^2+y^2<=1 /\ a x+b y=1].
 finish" | qepcad

オプション

 echo "[]
 (a,b,x,y)
 2
 (Ex)(Ey)[x^4+y^3<=1 /\ a x+b y=1].
 finish" | qepcad +N2000000 +L10000

x->aのときのx^3の極限

 echo "[]
 (a,b,p,q,x)
 2
 (Ap)(Eq)(Ax)[[p <= 0 \/ [q > 0 /\ [[ - x - q + a >= 0 \/ x - q - a >= 0] \/ [ - x^3 - p + b < 0 /\ x^3 - p - b < 0]]]]].
 finish" | qepcad

*REDUCE からの利用 [#n68cd381]
「QEPCAD」パッケージをロードすると,REDUCE 上から Redlog の書式で QEPCAD B が利用できます.ただし,MathLibre (20130831) の REDUCE は最小の構成なので,パッケージが呼ぶスクリプトファイルをビルドされた時の場所に置く必要があります.次を実行してください.

 export bap=/build/build-reduce-algebra_20110414-1~getdeb2-amd64-XKpkL0/reduce-algebra-20110414/packages/redlog/qepcad
 sudo mkdir -p $bap
 sudo wget http://sourceforge.net/p/reduce-algebra/code/HEAD/tree/trunk/packages/redlog/qepcad/qepcad.awk?format=raw -O $bap/qepcad.awk

なお,空きスペースに余裕のある場合,REDUCE の項に従いフル構成にアップグレードすれば,この処理は不要です.

*利用例 [#ice58011]

REDUCE をターミナル,白黒モードで起動

 reduce -w -b

パッケージのロード

 load qepcad;

QEPCAD の利用

 on rlnzden,rladdcond;
 rlqepcad ex({x,y},y=1/x and a*x+b*y=1);

slfq の利用

 on rlslfqvb;
 rlqe ex({x,y,z},x^2+y^2+z^2=1 and a*x+b*y+c*z=1);
 rlslfq ws;

オプション

 rlqepcadn 50000000;
 rlqepcad ex({x,y,z},x^2+y^2+z^2=1 and a*x+b*y+c*z=1);

終了

 quit;

*リンク [#ibfe853b]
- http://www.usna.edu/CS/~qepcad/B/QEPCAD.html
- http://d.hatena.ne.jp/ehito/20110203/1296713729
- http://sourceforge.net/apps/mediawiki/reduce-algebra/index.php?title=QEPCAD
- http://d.hatena.ne.jp/ehito/20110217/1297909395
- http://www.youtube.com/watch?v=VE1nTWgB6eM&feature=youtu.be

:included in knxm:

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS