qiskit.optimization.problems.QuadraticExpression
class QuadraticExpression(quadratic_program, coefficients)
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
coefficients | Returns the coefficients of the quadratic expression. |
quadratic_program | Returns 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.