qiskit.optimization.problems.QuadraticExpression¶
-
class
QuadraticExpression
(quadratic_program, coefficients)[source]¶ 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__
(quadratic_program, coefficients)[source]¶ 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 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
Returns the coefficients of the quadratic expression.
Returns the parent QuadraticProgram.
-
property
coefficients
¶ Returns the coefficients of the quadratic expression.
- Return type
dok_matrix
- Returns
The coefficients of the quadratic expression.
-
evaluate
(x)[source]¶ 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
(x)[source]¶ 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.
-
property
quadratic_program
¶ Returns the parent QuadraticProgram.
- Return type
Any
- Returns
The parent QuadraticProgram.
-
to_array
(symmetric=False)[source]¶ 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
(symmetric=False, use_name=False)[source]¶ 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.