netket.operator.KineticEnergy#

class netket.operator.KineticEnergy[source]#

Bases: ContinuousOperator

This is the kinetic energy operator (hbar = 1). The local value is given by: \(E_{kin} = -1/2 ( \sum_i \frac{1}{m_i} (\log(\psi))'^2 + (\log(\psi))'' )\)

Inheritance
Inheritance diagram of netket.operator.KineticEnergy
__init__(hilbert, mass, dtype=None)[source]#

Args: hilbert: The underlying Hilbert space on which the operator is defined mass: float if all masses are the same, list indicating the mass of each particle otherwise dtype: Data type of the mass

Parameters:
Attributes
H#

Returns the Conjugate-Transposed operator

T#

Returns the transposed operator

dtype#
hilbert#

The hilbert space associated to this observable.

is_hermitian#
mass#
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

replace(**kwargs)[source]#

Replace the values of the fields of the object with the values of the keyword arguments. If the object is a dataclass, dataclasses.replace will be used. Otherwise, a new object will be created with the same type as the original object.

Return type:

TypeVar(P, bound= Pytree)

Parameters:
  • self (P)

  • kwargs (Any)

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