netket.operator.AbstractOperator#

class netket.operator.AbstractOperator#

Bases: abc.ABC

Abstract class for quantum Operators. This class prototypes the methods needed by a class satisfying the Operator concept.

Inheritance
Inheritance diagram of netket.operator.AbstractOperator
Attributes
H#

Returns the Conjugate-Transposed operator

Return type

AbstractOperator

T#

Returns the transposed operator

Return type

AbstractOperator

dtype#

The dtype of the operator’s matrix elements ⟨σ|Ô|σ’⟩.

Return type

Any

hilbert#

The hilbert space associated to this operator.

Return type

AbstractHilbert

is_hermitian#

Returns true if this operator is hermitian.

Return type

bool

size#

The total number number of local degrees of freedom.

Return type

int

Methods
collect()[source]#

Returns a guaranteed concrete instance of an operator.

As some operations on operators return lazy wrappers (such as transpose, hermitian conjugate…), this is used to obtain a guaranteed non-lazy operator.

Return type

AbstractOperator

conj(*, concrete=False)[source]#
Return type

AbstractOperator

conjugate(*, concrete=False)[source]#

Returns the complex-conjugate of this operator.

Parameters

concrete – if True returns a concrete operator and not a lazy wrapper

Return type

AbstractOperator

Returns

if concrete is not True, self or a lazy wrapper; the complex-conjugated operator otherwise

transpose(*, concrete=False)[source]#

Returns the transpose of this operator.

Parameters

concrete – if True returns a concrete operator and not a lazy wrapper

Return type

AbstractOperator

Returns

if concrete is not True, self or a lazy wrapper; the transposed operator otherwise