街中で見かけて「グッときた人」の思い出

こんにちは。
maximaでの質問です。

具体的な数値を代入せずに
二つの複素数を共役なものとして対応させて、
その二つの複素数(次の例でいうと z1 と z2)を
基本の変数として処理していく方法を知りたいです。
conjugate(z1) と入力すれば z2 が
conjugate(z2) と入力すれば z1 が
返ってくるようにしたいのですが、

wxmaximaでも

(%i1) declare(z1, complex , z2, complex , z3, complex , z4, complex) ;
(%o1) done
(%i2) z2 : conjugate(z1) ;
(%o2) conjugate(z1)
(%i3) z3 : conjugate(z2) ;
(%o3) z1
(%i4) z4 : conjugate(z1) ;
(%o4) conjugate(z1)

TeXmacs上のmaximaでも

(%i1) declare(z1, complex , z2, complex , z3, complex , z4, complex) ;
(%i2) z2 : conjugate(z1) ;
(%o2) z1^⋆
(%i3) z3 : conjugate(z2) ;
(%o3) z1
(%i4) z4 : conjugate(z1) ;
(%o4) z1^⋆

となってうまくいきません。
どのようにすればうまくいきますでしょうか?

あと、
\alpha_1
などをTeXで表示されるように
TeXmacs上のmaximaなどで表示させることはできますでしょうか?

OSはLinuxのDebianです。

どうぞよろしくお願い致します。

A 回答 (2件)

手元だと



declare(z1, complex, z2, complex, z3, complex, z4, complex)$
tellsimpafter(conjugate(z1), z2)$
tellsimpafter(conjugate(z2), z1)$

でそれっぽく動くんだけどね.

ちなみに TeXmacs は使っていないので知りません.
    • good
    • 0
この回答へのお礼

ありがとうございます。

確かにそれをそのまま打ち込むと
きちんと動く感じですね。
二つのやり方がどう違うのかは
もう少し調べてみないといけないようです。

お礼日時:2014/06/08 10:21

letsimp とか tellsimp なんてもんを見つけた

    • good
    • 0
この回答へのお礼

ありがとうございます。

tellsimpを試してみたのですが、

(%i1) declare(z1, complex , z2, complex , z3, complex , z4, complex) ;
(%o1) done
(%i2) matchdeclare(z1, true);
(%o2) done
(%i3) matchdeclare(z2, true);
(%o3) done
(%i4) z2 : conjugate(z1) ;
(%o4) conjugate(z1)
(%i5) tellsimp( conjugate(z1) , z2 ) ;
(%o5) [conjugaterule1,simp-conjugate]
(%i6) z3 : conjugate(z2) ;
(%o6) conjugate(z1)
(%i7) z4 : conjugate(z1) ;
(%o7) conjugate(z1)

となって、現在困っているところです。

お礼日時:2014/06/07 17:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!