Skip to main content

OperatorFermiNamed

Represents a named fermionic operator acting on specified sites. Create instances using factory functions like Create(), Destroy(), Number(), or Hop().

Factories

Create(integer i) -> OperatorFermiNamed

Returns the fermionic creation operator fif_{i}^\dagger with support on the specified site.

Parameters

  • i: The site index where the operator acts.

Example

Create(3)*Fbit("0010") // Returns (-1 + 0i)|0011>

Destroy(integer i) -> OperatorFermiNamed

Returns the fermionic annihilation operator fif_{i} with support on the specified site.

Parameters

  • i: The site index where the operator acts.

Example

Destroy(3)*Fbit("0011") // Returns (-1 + 0i)|0010>

DoubleExcitation(integer i, integer j, integer k, integer l) -> OperatorFermiNamed

Legacy alias for PairHop. Returns the pair hopping operator fifjfkfl+h.c.f_{i}^\dagger f_{j}^\dagger f_{k} f_{l} + \mathrm{h.c.} with support on the specified sites.

Parameters

  • i: The first creation site index.
  • j: The second creation site index.
  • k: The first annihilation site index.
  • l: The second annihilation site index.

Example

DoubleExcitation(0,1,2,3)*Fbit("0110") // Returns (0 + 0i)|0110>

FermiId() -> OperatorFermiNamed

Returns the fermionic identity operator I\mathcal{I}.

Example

FermiId()*Fbit("0101") // Returns (1+0i)|0101>

FourBody(integer i, integer j, integer k, integer l) -> OperatorFermiNamed

Legacy alias for PairTransfer. Returns the directed pair transfer operator fifjfkflf_{i}^\dagger f_{j}^\dagger f_{k} f_{l} with support on the specified sites.

Parameters

  • i: The first creation site index.
  • j: The second creation site index.
  • k: The first annihilation site index.
  • l: The second annihilation site index.

Example

FourBody(0,1,2,3)*Fbit("0110") // Returns (0 + 0i)|0110>

Hop(integer i, integer j) -> OperatorFermiNamed

Returns the fermionic hopping operator fifj+fjfif_{i}^\dagger f_{j} + f_{j}^\dagger f_{i} with support on the specified sites.

Parameters

  • i: First site of the hopping operator.
  • j: Second site of the hopping operator.

Example

Hop(0,3)*Fbit("0011") // Returns (-1 + 0i)|1010>

HopNumber(integer i, integer j, integer k) -> OperatorFermiNamed

Returns the hop-number operator (fifj+fjfi)nk(f_{i}^\dagger f_{j} + f_{j}^\dagger f_{i}) n_{k} with support on the specified sites.

Parameters

  • i: The first hopping site index.
  • j: The second hopping site index.
  • k: The number operator site index.

Example

HopNumber(0,1,2)*Fbit("0110") // Returns (1 + 0i)|1010>

NearestNumberSum(const List<integer> sites) -> OperatorFermiNamed

Returns the sum of nearest-neighbor number interactions inini+1\sum_{i} n_{i} n_{i+1} with support on the specified sites.

Parameters

  • sites: The sites where the operator acts.

Example

NearestNumberSum([0,1,2])*Fbit("0110") // Returns (1 + 0i)|0110>

NextNearestNumberSum(const List<integer> sites) -> OperatorFermiNamed

Returns the sum of next-nearest-neighbor number interactions inini+2\sum_{i} n_{i} n_{i+2} with support on the specified sites.

Parameters

  • sites: The sites where the operator acts.

Example

NextNearestNumberSum([0,1,2])*Fbit("0110") // Returns (1 + 0i)|0110>

Number(integer i) -> OperatorFermiNamed

Returns the fermionic number operator ni=fifin_{i} = f_{i}^\dagger f_{i} with support on the specified site.

Parameters

  • i: The site index where the operator acts.

Example

Number(3)*Fbit("0010") // Returns (0 + 0i)|0010>

NumberN(const List<integer> sites) -> OperatorFermiNamed

Legacy alias for NumberSum. Returns the sum of fermionic number operators isitesni\sum_{i \in \mathrm{sites}} n_{i} with support on the specified sites.

Parameters

  • sites: The sites where the operator acts.

Example

NumberN([0,1,2])*Fbit("0110") // Returns (2 + 0i)|0110>

NumberNumber(integer i, integer j) -> OperatorFermiNamed

Returns the two-site fermionic number-number interaction operator ninj=fififjfjn_{i} n_{j} = f_{i}^\dagger f_{i} f_{j}^\dagger f_{j} with support on the specified sites.

Parameters

  • i: The first site index.
  • j: The second site index.

Example

NumberNumber(1,2)*Fbit("0110") // Returns (1 + 0i)|0110>

NumberNumberNN(const List<integer> sites) -> OperatorFermiNamed

Legacy alias for NearestNumberSum. Returns the sum of nearest-neighbor number interactions inini+1\sum_{i} n_{i} n_{i+1} with support on the specified sites.

Parameters

  • sites: The sites where the operator acts.

Example

NumberNumberNN([0,1,2])*Fbit("0110") // Returns (1 + 0i)|0110>

NumberNumberNNN(const List<integer> sites) -> OperatorFermiNamed

Legacy alias for NextNearestNumberSum. Returns the sum of next-nearest-neighbor number interactions inini+2\sum_{i} n_{i} n_{i+2} with support on the specified sites.

Parameters

  • sites: The sites where the operator acts.

Example

NumberNumberNNN([0,1,2])*Fbit("0110") // Returns (1 + 0i)|0110>

NumberSum(const List<integer> sites) -> OperatorFermiNamed

Returns the sum of fermionic number operators isitesni\sum_{i \in \mathrm{sites}} n_{i} with support on the specified sites.

Parameters

  • sites: The sites where the operator acts.

Example

NumberSum([0,1,2])*Fbit("0110") // Returns (2 + 0i)|0110>

PairHop(integer i, integer j, integer k, integer l) -> OperatorFermiNamed

Returns the pair hopping operator fifjfkfl+h.c.f_{i}^\dagger f_{j}^\dagger f_{k} f_{l} + \mathrm{h.c.} with support on the specified sites.

Parameters

  • i: The first creation site index.
  • j: The second creation site index.
  • k: The first annihilation site index.
  • l: The second annihilation site index.

Example

PairHop(0,1,2,3)*Fbit("0110") // Returns (0 + 0i)|0110>

PairTransfer(integer i, integer j, integer k, integer l) -> OperatorFermiNamed

Returns the directed pair transfer operator fifjfkflf_{i}^\dagger f_{j}^\dagger f_{k} f_{l} with support on the specified sites.

Parameters

  • i: The first creation site index.
  • j: The second creation site index.
  • k: The first annihilation site index.
  • l: The second annihilation site index.

Example

PairTransfer(0,1,2,3)*Fbit("0110") // Returns (0 + 0i)|0110>

Transfer(integer i, integer j) -> OperatorFermiNamed

Returns the directed fermionic transfer operator fifjf_{i}^\dagger f_{j} with support on the specified sites.

Parameters

  • i: The creation site index.
  • j: The annihilation site index.

Example

Transfer(0,3)*Fbit("0011") // Returns (-1 + 0i)|1011>

TransferNumber(integer i, integer j, integer k) -> OperatorFermiNamed

Returns the transfer-number operator fifjnkf_{i}^\dagger f_{j} n_{k} with support on the specified sites.

Parameters

  • i: The creation site index.
  • j: The annihilation site index.
  • k: The number operator site index.

Example

TransferNumber(0,1,2)*Fbit("0110") // Returns (1 + 0i)|1110>

Symbols

NameDescription
=Assignment operator for symbolic fermionic operators.