Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

-数学- Qepmaxで拡張タルスキ式をサポート

 

f:id:jurupapa:20140720130244j:plain

前足をそろえておねむ

 

Qepmaxのメンテも続けております。ようやく、拡張タルスキ式のサポートを実装しました。

 

拡張タルスキ式はそれ自身原始論理式です。Qepmaxでは次のようなシンタックスでサポートすることにしました。

変数 (不)等号 etf_root(k, 多項式)

具体例としては、

x=etf_root(1,x^2-2)

ですね。この式は「多項式=0」という方程式が少なくとも1つ解を持つ時に真となり、xはこの方程式の一番小さい解(この場合 \( -\sqrt{2} \) )となります。

kは正または負の整数で、正であれば小さい方からk番目の解、負であれば大きい方からk番目の解を指します。実解の個数がk個より少ない場合にはこの論理式は偽となります。ちなみにQepcadでのx=_root_1(x^2-2)という式と対応しています。

もう少し一般的には多項式は多変数でも構いません。その場合には、「多項式=0」という多変数方程式で、元の式の左辺の変数以外を適当に定めると左辺の変数だけの多項式になりますが、その方程式がk個以上の実解を持つ時に、この式は真になり、xはk番目の解となります。具体例は、

y=etf_root(2,x^2+y^2-1)

です。この式は \( -1 < x < 1 \) の時yの方程式として2つの解を持ちます。そしてyの値は\( \sqrt{1-{x}^2} \) となります。

 

簡単なQ.E.を一つ。

\( f\left(x\right)=x^3-a\,x \)が3つの実根持つ時、一番大きい根と一番小さい根の差が2となるようにaを定めよ。

(%i1) load(qepmax)$
(%i2) qe([[E,x1],[E,x3]],x3-x1=2 %and x1=etf_root(1,f(x1)) %and x3=etf_root(-1,f(x3))), f(x):=x^3-a*x;
$$ \tag{%o2} a-1=0 $$

 

さて、Qepmaxがある程度まとまったので、そのベースであるQepcadを作っておられる米国海軍兵学校のChristopher Brown教授にメールを出してみました。「教えてくれてありがとう。Qepcadがより多くのユーザからアクセス可能になるのはとても嬉しいよ。」とお返事をもらいました。