---
title: ParameterExpressionTable (latest version)
description: API reference for samplomatic.samplex.ParameterExpressionTable in the latest version of samplomatic
source: https://quantum.cloud.ibm.com/docs/en/api/samplomatic/auto/samplex-parameter-expression-table
---

# ParameterExpressionTable

*class* `samplomatic.samplex.ParameterExpressionTable`

[GitHub](https://github.com/Qiskit/samplomatic/tree/main/samplomatic/samplex/parameter_expression_table.py#L31-L150)

Bases: [`object`](https://docs.python.org/3/builtins/functions.html#object)

Evaluates a list of parameter expressions given a list of parameter values.

An instance of this class owns an ordered list of $M$ `ParameterExpression`s that together implicitly specify an ordered list of distinct $N$ `Parameter`s. Because parameter expressions can involve multiple parameters, because distinct parameter expressions can reference the same parameters, and because parameter expressions that are completely bound contain no parameters, there is in general no relationship between $N$ and $M$. However, $N=M$ in the common special case that all parameter expressions are just, in fact, unique parameters.

The [`evaluate()`](#samplomatic.samplex.ParameterExpressionTable.evaluate "samplomatic.samplex.ParameterExpressionTable.evaluate") method accepts $N$ parameter values, and returns numeric values for each of the $M$ parameter expressions.

This class can be used as a shim for tools that want to accept parameter values but use expressions of them without the tedious responsibilities usually attached.

**Attributes Summary**

|                                                                                                                                                   |                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`num_expressions`](#samplomatic.samplex.ParameterExpressionTable.num_expressions "samplomatic.samplex.ParameterExpressionTable.num_expressions") | The number of parameter expressions to evaluate; the return size of [`evaluate()`](#samplomatic.samplex.ParameterExpressionTable.evaluate "samplomatic.samplex.ParameterExpressionTable.evaluate"). |
| [`num_parameters`](#samplomatic.samplex.ParameterExpressionTable.num_parameters "samplomatic.samplex.ParameterExpressionTable.num_parameters")    | The number of unique input parameters across all expressions.                                                                                                                                       |
| [`parameters`](#samplomatic.samplex.ParameterExpressionTable.parameters "samplomatic.samplex.ParameterExpressionTable.parameters")                | The unique parameters across all expressions in sorted order.                                                                                                                                       |

**Methods Summary**

|                                                                                                                                                             |                                                    |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| [`append`](#samplomatic.samplex.ParameterExpressionTable.append "samplomatic.samplex.ParameterExpressionTable.append")(expression)                          | Add a parameter expression to the table.           |
| [`evaluate`](#samplomatic.samplex.ParameterExpressionTable.evaluate "samplomatic.samplex.ParameterExpressionTable.evaluate")(parameter\_values\[, indices]) | Return numeric values for the table's expressions. |

**Attributes Documentation**

### num\_expressions

The number of parameter expressions to evaluate; the return size of [`evaluate()`](#samplomatic.samplex.ParameterExpressionTable.evaluate "samplomatic.samplex.ParameterExpressionTable.evaluate").

### num\_parameters

The number of unique input parameters across all expressions.

### parameters

The unique parameters across all expressions in sorted order.

The same sorting order as qiskit is used, where `ParameterVector` elements are arranged numerically, but otherwise alphabetically by name.

**Methods Documentation**

### append

`append(expression: ParameterExpression) → int`

[GitHub](https://github.com/Qiskit/samplomatic/tree/main/samplomatic/samplex/parameter_expression_table.py#L54-L78)

Add a parameter expression to the table.

**Parameters**

**expression** – The parameter expression to append.

**Returns**

The index of the appended expression.

**Raises**

[**ParameterError**](/docs/api/samplomatic/auto/exceptions-parameter-error "samplomatic.exceptions.ParameterError") – If the expression contains a parameter that is not already in this table but whose name conflicts with an existing parameter. Keep in mind that `Parameter`s use instance equality.

### evaluate

`evaluate(parameter_values: Sequence[float] | dict[Parameter, float], indices: Sequence[int] | None = None) → ndarray`

[GitHub](https://github.com/Qiskit/samplomatic/tree/main/samplomatic/samplex/parameter_expression_table.py#L103-L143)

Return numeric values for the table’s expressions.

**Parameters**

- **parameter\_values** – The parameter values, either as a map from parameters to their values, or just the values in parameter-sorted order (see [`parameters`](#samplomatic.samplex.ParameterExpressionTable.parameters "samplomatic.samplex.ParameterExpressionTable.parameters")).
- **indices** – An optional sequence of expression indices to evaluate. When `None`, all expressions are evaluated in order. When provided, only the expressions at the given indices are evaluated, in the given order, so `len(returned_array) == len(indices)`.

**Returns**

An array of evaluated expressions.

**Raises**

[**ParameterError**](/docs/api/samplomatic/auto/exceptions-parameter-error "samplomatic.exceptions.ParameterError") – If the correct number of parameters is not supplied, or if some expression requires a value for a parameter that was not provided.
