1
我想使用的代碼從這裏http://raoul.koalatux.ch/sites/ladderoperator/ladder_operator.html簡化規則不適用正常
declare(bra, nonscalar);
declare(ket, nonscalar);
dotscrules:true;
matchdeclare(m,lambda([t],featurep(t,integer)));
matchdeclare(n,lambda([t],featurep(t,integer)));
tellsimp(bra(m).ket(n), kron_delta(m,n));
對於大多數表達它的工作原理採用狄拉克狄拉克符號在千里馬:
bra(0) . ket(0);
ket(1) . bra(0) . ket(0);
bra(1) . ket(1) . bra(0) . ket(0);
所有簡化正確,但
bra(1) . ket(1) . bra(0);
未能簡化爲胸罩(0)。我如何獲得Maxima來簡化這種情況?
優秀,這樣的作品,但爲什麼我需要重新定義的'.'的關聯性? – cwitte 2013-05-06 09:27:50
我認爲'.'不是聯想。考慮這個例子'[a,b]:[[1,0],[0,1]]; a。 (b。b); (a。b)。 B;' – slitvinov 2013-05-07 10:41:31
從手冊:選項變量:dotassoc 缺省值:true 當dotassoc爲真,表達式(A·B).C簡化爲A.(B.C)。 – cwitte 2013-05-07 15:45:37