Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

qiskit.optimization.problems.QuadraticExpression

class QuadraticExpression(quadratic_program, coefficients)

GitHub

Representation of a quadratic expression by its coefficients.

Creates a new quadratic expression.

The quadratic expression can be defined via an array, a list, a sparse matrix, or a dictionary that uses variable names or indices as keys and stores the values internally as a dok_matrix. We stores values in a compressed way, i.e., values at symmetric positions are summed up in the upper triangle. For example, {(0, 1): 1, (1, 0): 2} -> {(0, 1): 3}.

Parameters

  • quadratic_program (Any) – The parent QuadraticProgram.
  • coefficients (Union[ndarray, spmatrix, List[List[float]], Dict[Tuple[Union[int, str], Union[int, str]], float]]) – The (sparse) representation of the coefficients.

__init__

__init__(quadratic_program, coefficients)

Creates a new quadratic expression.

The quadratic expression can be defined via an array, a list, a sparse matrix, or a dictionary that uses variable names or indices as keys and stores the values internally as a dok_matrix. We stores values in a compressed way, i.e., values at symmetric positions are summed up in the upper triangle. For example, {(0, 1): 1, (1, 0): 2} -> {(0, 1): 3}.

Parameters

  • quadratic_program (Any) – The parent QuadraticProgram.
  • coefficients (Union[ndarray, spmatrix, List[List[float]], Dict[Tuple[Union[int, str], Union[int, str]], float]]) – The (sparse) representation of the coefficients.

Methods

__init__(quadratic_program, coefficients)Creates a new quadratic expression.
evaluate(x)Evaluate the quadratic expression for given variables: x * Q * x.
evaluate_gradient(x)Evaluate the gradient of the quadratic expression for given variables.
to_array([symmetric])Returns the coefficients of the quadratic expression as array.
to_dict([symmetric, use_name])Returns the coefficients of the quadratic expression as dictionary, either using tuples of variable names or indices as keys.

Attributes

coefficientsReturns the coefficients of the quadratic expression.
quadratic_programReturns the parent QuadraticProgram.

coefficients

Returns the coefficients of the quadratic expression.

Return type

dok_matrix

Returns

The coefficients of the quadratic expression.

evaluate

evaluate(x)

Evaluate the quadratic expression for given variables: x * Q * x.

Parameters

x (Union[ndarray, List, Dict[Union[int, str], float]]) – The values of the variables to be evaluated.

Return type

float

Returns

The value of the quadratic expression given the variable values.

evaluate_gradient

evaluate_gradient(x)

Evaluate the gradient of the quadratic expression for given variables.

Parameters

x (Union[ndarray, List, Dict[Union[int, str], float]]) – The values of the variables to be evaluated.

Return type

ndarray

Returns

The value of the gradient quadratic expression given the variable values.

quadratic_program

Returns the parent QuadraticProgram.

Return type

Any

Returns

The parent QuadraticProgram.

to_array

to_array(symmetric=False)

Returns the coefficients of the quadratic expression as array.

Parameters

symmetric (bool) – Determines whether the output is in a symmetric form or not.

Return type

ndarray

Returns

An array with the coefficients corresponding to the quadratic expression.

to_dict

to_dict(symmetric=False, use_name=False)

Returns the coefficients of the quadratic expression as dictionary, either using tuples of variable names or indices as keys.

Parameters

  • symmetric (bool) – Determines whether the output is in a symmetric form or not.
  • use_name (bool) – Determines whether to use index or names to refer to variables.

Return type

Dict[Union[Tuple[int, int], Tuple[str, str]], float]

Returns

An dictionary with the coefficients corresponding to the quadratic expression.

Was this page helpful?
Report a bug or request content on GitHub.