Skip to main content

operator_function

Overloads

NameDescription
operator_function(const Operator op, integer N, const ComplexFunctionWithDeriv fun) -> ObjectApproximates a matrix (or operator) function.
operator_function(const Operator op, integer N, const ComplexFunctionWithDeriv fun, const Map opts) -> ObjectApproximates a matrix (or operator) function.
operator_function(const Operator op, integer N, const Object fun) -> ObjectApproximates a matrix (or operator) function.
operator_function(const Operator op, integer N, const Object fun, const Map opts) -> ObjectApproximates a matrix (or operator) function.

operator_function(const Operator op, integer N, const ComplexFunctionWithDeriv fun) -> Object

Approximates a matrix (or operator) function.

This function is accepts non-Hermitian operators. The scalar function signature should be (complex, integer) -> complex and the return value of f(x,n) should be the n-th derivative of f at x. Options are provided as a map of option names to their values.

Parameters

  • op: The operator to compute the matrix function of.
  • N: The dimension of the operator.
  • fun: A scalar function corresponding to the matrix function.

operator_function(const Operator op, integer N, const ComplexFunctionWithDeriv fun, const Map opts) -> Object

Approximates a matrix (or operator) function.

This function is accepts non-Hermitian operators. The scalar function signature should be (complex, integer) -> complex and the return value of f(x,n) should be the n-th derivative of f at x. Options are provided as a map of option names to their values.

Parameters

  • op: The operator to compute the matrix function of.
  • N: The dimension of the operator.
  • fun: A scalar function corresponding to the matrix function.
  • opts: Options for the operator function.
    • is_real (boolean): Indicates whether the function is real-valued. This option is required to correctly handle real-valued functions.
    • krylov_dimension (integer): The dimension of the Krylov subspace (default: 2 * nev + 2). This parameter must be larger than nev. If convergence issues are encountered, increasing this value may help.

operator_function(const Operator op, integer N, const Object fun) -> Object

Approximates a matrix (or operator) function.

This function accepts Hermitian operators. The function signature should be (real) -> real. Options are provided as a map of option names to their values.

Parameters

  • op: The operator to compute the matrix function of.
  • N: The dimension of the operator.
  • fun: A scalar function corresponding to the matrix function. If the function is real-valued, it must be indicated using the is_real option.

operator_function(const Operator op, integer N, const Object fun, const Map opts) -> Object

Approximates a matrix (or operator) function.

This function accepts Hermitian operators. The function signature should be (real) -> real. Options are provided as a map of option names to their values.

Parameters

  • op: The operator to compute the matrix function of.
  • N: The dimension of the operator.
  • fun: A scalar function corresponding to the matrix function. If the function is real-valued, it must be indicated using the is_real option.
  • opts: Options for the operator function.
    • is_real (boolean): Indicates whether the function is real-valued. This option is required to correctly handle real-valued functions.
    • krylov_dimension (integer): The dimension of the Krylov subspace (default: 2 * nev + 2). This parameter must be larger than nev. If convergence issues are encountered, increasing this value may help.