- 追加された行はこの色です。
- 削除された行はこの色です。
- QEPCAD へ行く。
*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: