Skip to main content
IBM Quantum Platform

TensorSpecification

class samplomatic.tensor_interface.TensorSpecification(name: str, shape: tuple[int | str, ...], dtype: dtype, description: str = '', broadcastable: bool = False, optional: bool = False)

GitHub

Bases: Specification[ndarray]

A specification for tensor-valued interface values of a specific type and shape.

Parameters

  • name – The name of the interface.
  • shape – The shape of the input array.
  • dtype – The data type of the array.
  • description – A description of what the interface represents.
  • broadcastable – Whether values in an interface that are constrained by this specification are allowed to be broadcastable with other broadcastable values in the same interface.
  • optional – Whether the specification is optional.

Attributes Summary

Column 1
Column 2
descriptionA description of this specification.
free_dimensionsNamed dimensions whose sizes are free until an interface value binds their value.
nameThe name of this specification.
ndimThe number of dimensions, i.e. the length of shape.
num_bytesThe number of bytes required to represent data for this specification.
optionalWhether this is an optional specification.

Methods Summary

Column 1
Column 2
describe()Return a human-readable description of this specification.
validate_and_coerce(value)Coerce a value into a correct type if valid.

Attributes Documentation

description

free_dimensions

name

ndim

The number of dimensions, i.e. the length of shape.

num_bytes

optional

Methods Documentation

describe

describe() → str

GitHub

Return a human-readable description of this specification.

validate_and_coerce

validate_and_coerce(value)

GitHub

Coerce a value into a correct type if valid.

Parameters

value – A value to validate and coerce with respect to this specification.

Raises

TypeError – If the value cannot be coerced into a valid type.

Returns

The coerced value, and a dictionary mapping each member of free_dimensions to a size implied by the value.

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