berezin_measure

class grassmanntn.arith.berezin_measure(var_list, reverse=False)
grassmanntn.arith.d(var_list, reverse=False)

An object representing a Berezin integral operator.

Parameters:

  • var_list: grassmann_number or a list of grassmann_number

    The variable(s) to be integrated.

  • reverse: True or False (default)

    If False, the measure of each variables is ordered from left to right. If True, from right to left. If var_list is not a list, this option does not matter.

Returns:

Attributes

Binary operations

  • Multiplication: <self>*<other> and <other>*<self>

    If multiply to a grassmann_number, returns an integration. If multiply to another berezin_measure, returns a combined integration measure.

Examples

Consider the following Grassmann number.

>>> import numpy as np
>>> from grassmanntn import arith as arith
>>>
>>> ψ = arith.set_ac(["ψ1","ψ2"])
>>> φ = arith.set_ac(["φ1","φ2"])
>>> K = np.array( [[3,7],[2,5]] )
>>> W = arith.exp( - φ @ K @ ψ )
>>> W
1.0 + (-3.0)*φ1^ψ1 + (-2.0)*φ2^ψ1 + (-7.0)*φ1^ψ2 + (-5.0)*φ2^ψ2 + (-1.0)*φ1^φ2^ψ1^ψ2

We define the ψ-integral and the φ-integral.

>>> # multivariable measure
>>>  = arith.d(ψ)
>>> 
∫ψ1 ∫ψ2
>>>  = arith.d(φ)
>>> 
∫φ1 ∫φ2

We can apply the integral by multiplying the measure directly to the Grassmann number:

>>> *W
(1.0)*φ1^φ2
>>> *W
(1.0)*ψ1^ψ2

The product is associative.

>>> **W
-1.0
>>> *(*W)
-1.0
>>> (*)*W
-1.0