Skip to main content

operator_stencil

Overloads

NameDescription
operator_stencil(const Map options) -> OperatorGenerates a stencil operator.
operator_stencil(const List<List<integer>> displacement_vectors", "The displacement vectors δn\delta_n of the stencil., const List<integer> dimensions, const List<real> stencil_values", "The stencil values αn\alpha_n, const List<BC> boundary_conditions) -> OperatorGenerates a stencil operator.
operator_stencil(const List<List<integer>> displacement_vectors", "The displacement vectors δn\delta_n of the stencil., const List<integer> dimensions, const List<complex> stencil_values", "The stencil values αn\alpha_n, const List<BC> boundary_conditions) -> OperatorGenerates a stencil operator.

operator_stencil(const Map options) -> Operator

Generates a stencil operator.

A free stencil represents an operator of the form sn=0Nαncscs+δn\sum_{s}\sum_{n=0}^N \alpha_{n}c_{s}^{\dagger}c_{s + \delta_n} where δn\delta_n are displacement vectors, ss are lattice position vectors, the αn\alpha_n are position independent coefficients and NN is the number of such coefficients.To construct a stencil, the above parameters must be passed explicitly, together with information about the lattice dimensions and the boundary conditions.

Parameters

  • options: An option map to specify the parameters of the stencil.

Example

var stencil_vectors = [[-1,0],[1,0],[0,1],[0,-1]] //[[delta_{0,x},delta_{0,y}],[delta_{1,x},delta_{1,y}],[delta_{2,x},delta_{2,y}],[delta_{3,x},delta_{3,y}]]
var dimensions = [50,40] // [L_x, L_y]
var stencil_values = [0.5 + 1i, 0.2 + 1i, 0.3 + 0.1i, 2i + 2] // [alpha_0, alpha_1, alpha_2, alpha_3]
var boundary_conditions = [boundary_condition.periodic, boundary_condition.open]
var stencil = operator_stencil(["displacements":stencil_vectors,"dimensions":dimensions,"values":stencil_values,"boundary_conditions":boundary_conditions])

operator_stencil(const List<List<integer>> displacement_vectors", "The displacement vectors $\delta_n$ of the stencil., const List<integer> dimensions, const List<real> stencil_values", "The stencil values $\alpha_n$, const List<BC> boundary_conditions) -> Operator

Generates a stencil operator.

A free stencil represents an operator of the form sn=0Nαncscs+δn\sum_{s}\sum_{n=0}^N \alpha_{n}c_{s}^{\dagger}c_{s + \delta_n} where δn\delta_n are displacement vectors, ss are lattice position vectors, the αn\alpha_n are position independent coefficients and NN is the number of such coefficients.To construct a stencil, the above parameters must be passed explicitly, together with information about the lattice dimensions and the boundary conditions.

Parameters

  • displacement_vectors", "The displacement vectors δn\delta_n of the stencil.:
  • dimensions: The dimensions of the underlying lattice.
  • stencil_values", "The stencil values αn\alpha_n:
  • boundary_conditions: The boundary conditions of the lattice.

Example

var stencil_vectors = [[-1,0],[1,0],[0,1],[0,-1]] //[[delta_{0,x},delta_{0,y}],[delta_{1,x},delta_{1,y}],[delta_{2,x},delta_{2,y}],[delta_{3,x},delta_{3,y}]]
var dimensions = [50,40] // [L_x, L_y]
var stencil_values = [0.5 + 1i, 0.2 + 1i, 0.3 + 0.1i, 2i + 2] // [alpha_0, alpha_1, alpha_2, alpha_3]
var boundary_conditions = [boundary_condition.periodic, boundary_condition.open]
var stencil = operator_stencil(["displacements":stencil_vectors,"dimensions":dimensions,"values":stencil_values,"boundary_conditions":boundary_conditions])

operator_stencil(const List<List<integer>> displacement_vectors", "The displacement vectors $\delta_n$ of the stencil., const List<integer> dimensions, const List<complex> stencil_values", "The stencil values $\alpha_n$, const List<BC> boundary_conditions) -> Operator

Generates a stencil operator.

A free stencil represents an operator of the form sn=0Nαncscs+δn\sum_{s}\sum_{n=0}^N \alpha_{n}c_{s}^{\dagger}c_{s + \delta_n} where δn\delta_n are displacement vectors, ss are lattice position vectors, the αn\alpha_n are position independent coefficients and NN is the number of such coefficients.To construct a stencil, the above parameters must be passed explicitly, together with information about the lattice dimensions and the boundary conditions.

Parameters

  • displacement_vectors", "The displacement vectors δn\delta_n of the stencil.:
  • dimensions: The dimensions of the underlying lattice.
  • stencil_values", "The stencil values αn\alpha_n:
  • boundary_conditions: The boundary conditions of the lattice.

Example

var stencil_vectors = [[-1,0],[1,0],[0,1],[0,-1]] //[[delta_{0,x},delta_{0,y}],[delta_{1,x},delta_{1,y}],[delta_{2,x},delta_{2,y}],[delta_{3,x},delta_{3,y}]]
var dimensions = [50,40] // [L_x, L_y]
var stencil_values = [0.5 + 1i, 0.2 + 1i, 0.3 + 0.1i, 2i + 2] // [alpha_0, alpha_1, alpha_2, alpha_3]
var boundary_conditions = [boundary_condition.periodic, boundary_condition.open]
var stencil = operator_stencil(["displacements":stencil_vectors,"dimensions":dimensions,"values":stencil_values,"boundary_conditions":boundary_conditions])