bosonQ

◼ bosonQ[a] returns True if a is a bosonic operator.

◼ Operators are usually declared to be bosonic using snegbosonoperators.

◼ For bosonic operators, automatic reordering in canonical form is performed (see cmt  and snegOrderedQ). In all other respects, they behave as general operators (see operatorQ).

◼ See also: cmt, snegOrderedQ, snegbosonoperators, operatorQ.

Further examples

Load sneg and declare a to be a bosonic operator

<< sneg`sneg`;
snegbosonoperators[a]

Check that a is recognized as bosonic operator

bosonQ[a]
operatorQ[a]
a[CR]
listbosonoperators

Operators can be manually defined to be bosonic. In this case, pretty printing is disabled and the operators are not added to listbosonoperators.

bosonQ[d] = True
operatorQ[d]
d[CR]
listbosonoperators

Automatic reordering

nc[a[CR], a[AN]]
nc[a[AN], a[CR]]
nc[a[AN], a[AN], a[CR]]
nc[a[AN], a[AN], a[CR], a[CR]]