我正在尝试使用此处http://raoul.koalatux.ch/sites/ladderoperator/ladder_operator.html中的代码在 Maxima 中使用 Dirac Bra-Ket 表示法
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);
未能简化为 bra(0)。我怎样才能让 Maxima 简化这种情况?