Symbolic inner product.
An unevaluated inner product between a Bra and a Ket .
bra : BraBase or subclass
ket : KetBase or subclass
Create an InnerProduct and check its properties:
>>> from sympy.physics.quantum import Bra, Ket, InnerProduct >>> b = Bra('b') >>> k = Ket('k') >>> ip = b*k >>> ip <b|k> >>> ip.bra <b| >>> ip.ket |k>
In simple products of kets and bras inner products will be automatically identified and created:
>>> b*k <b|k>
But in more complex expressions, there is ambiguity in whether inner or outer products should be created:
>>> k*b*k*b |k><b|*|k>*<b|
A user can force the creation of a inner products in a complex expression by using parentheses to group the bra and ket:
>>> k*(b*k)*b <b|k>*|k>*<b|
Notice how the inner product <b|k> moved to the left of the expression because inner products are commutative complex numbers.