ComplexSignTerm

class zixy.qubit.state.ComplexSignTerm(qubits: int | Qubits = 0, source: SpecT | None = None)[source]

Bases: Term[ComplexSign]

A term consisting of a state string and a complex sign coefficient.

A single qubit-based term consisting of a state string and a ComplexSign that may be an owning instance referencing a single element in a TermData instance, or a view on an element in another collection.

__eq__(other: object) bool

Return whether self and other are equal.

__imul__(rhs: int | float | complex | Sign | ComplexSign | Expr | String | Term[CoeffT]) Self

In-place multiplication of self by rhs.

__init__(qubits: int | Qubits = 0, source: SpecT | None = None)

Initialize the term.

Parameters:
  • qubits – The qubit register or qubit count.

  • source – The term specifier to use for default qubits and initial value.

__mul__(rhs: OtherCoeffT | Cmpnt[ImplT, SpecT] | TermMulMixin[ImplT, SpecT, OtherCoeffT]) TermMulMixin[ImplT, SpecT, Any]
Overloads:
  • self (TermMulMixin[ImplT, SpecT, float]), rhs (float) → TermMulMixin[ImplT, SpecT, float]

  • self (TermMulMixin[ImplT, SpecT, float]), rhs (complex) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, float]), rhs (Sign) → TermMulMixin[ImplT, SpecT, float]

  • self (TermMulMixin[ImplT, SpecT, float]), rhs (ComplexSign) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, float]), rhs (Expr) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, complex]), rhs (float) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), rhs (complex) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), rhs (Sign) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), rhs (ComplexSign) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), rhs (Expr) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Sign]), rhs (float) → TermMulMixin[ImplT, SpecT, float]

  • self (TermMulMixin[ImplT, SpecT, Sign]), rhs (complex) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, Sign]), rhs (Sign) → TermMulMixin[ImplT, SpecT, Sign]

  • self (TermMulMixin[ImplT, SpecT, Sign]), rhs (ComplexSign) → TermMulMixin[ImplT, SpecT, ComplexSign]

  • self (TermMulMixin[ImplT, SpecT, Sign]), rhs (Expr) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), rhs (float) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), rhs (complex) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), rhs (Sign) → TermMulMixin[ImplT, SpecT, ComplexSign]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), rhs (ComplexSign) → TermMulMixin[ImplT, SpecT, ComplexSign]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), rhs (Expr) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), rhs (float) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), rhs (complex) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), rhs (Sign) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), rhs (ComplexSign) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), rhs (Expr) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, float]), rhs (TermMulMixin[ImplT, SpecT, float]) → TermMulMixin[ImplT, SpecT, float]

  • self (TermMulMixin[ImplT, SpecT, float]), rhs (TermMulMixin[ImplT, SpecT, complex]) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, float]), rhs (TermMulMixin[ImplT, SpecT, Sign]) → TermMulMixin[ImplT, SpecT, float]

  • self (TermMulMixin[ImplT, SpecT, float]), rhs (TermMulMixin[ImplT, SpecT, ComplexSign]) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, float]), rhs (TermMulMixin[ImplT, SpecT, Expr]) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, complex]), rhs (TermMulMixin[ImplT, SpecT, float]) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), rhs (TermMulMixin[ImplT, SpecT, complex]) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), rhs (TermMulMixin[ImplT, SpecT, Sign]) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), rhs (TermMulMixin[ImplT, SpecT, ComplexSign]) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), rhs (TermMulMixin[ImplT, SpecT, Expr]) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Sign]), rhs (TermMulMixin[ImplT, SpecT, float]) → TermMulMixin[ImplT, SpecT, float]

  • self (TermMulMixin[ImplT, SpecT, Sign]), rhs (TermMulMixin[ImplT, SpecT, complex]) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, Sign]), rhs (TermMulMixin[ImplT, SpecT, Sign]) → TermMulMixin[ImplT, SpecT, Sign]

  • self (TermMulMixin[ImplT, SpecT, Sign]), rhs (TermMulMixin[ImplT, SpecT, ComplexSign]) → TermMulMixin[ImplT, SpecT, ComplexSign]

  • self (TermMulMixin[ImplT, SpecT, Sign]), rhs (TermMulMixin[ImplT, SpecT, Expr]) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), rhs (TermMulMixin[ImplT, SpecT, float]) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), rhs (TermMulMixin[ImplT, SpecT, complex]) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), rhs (TermMulMixin[ImplT, SpecT, Sign]) → TermMulMixin[ImplT, SpecT, ComplexSign]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), rhs (TermMulMixin[ImplT, SpecT, ComplexSign]) → TermMulMixin[ImplT, SpecT, ComplexSign]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), rhs (TermMulMixin[ImplT, SpecT, Expr]) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), rhs (TermMulMixin[ImplT, SpecT, float]) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), rhs (TermMulMixin[ImplT, SpecT, complex]) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), rhs (TermMulMixin[ImplT, SpecT, Sign]) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), rhs (TermMulMixin[ImplT, SpecT, ComplexSign]) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), rhs (TermMulMixin[ImplT, SpecT, Expr]) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, CoeffT]), rhs (Cmpnt[ImplT, SpecT]) → TermMulMixin[ImplT, SpecT, CoeffT]

Multiply self with rhs.

__repr__() str

Return a string representation of self.

__rmul__(lhs: OtherCoeffT | Cmpnt[ImplT, SpecT]) TermMulMixin[ImplT, SpecT, Any]
Overloads:
  • self (TermMulMixin[ImplT, SpecT, float]), lhs (float) → TermMulMixin[ImplT, SpecT, float]

  • self (TermMulMixin[ImplT, SpecT, float]), lhs (complex) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, float]), lhs (Sign) → TermMulMixin[ImplT, SpecT, float]

  • self (TermMulMixin[ImplT, SpecT, float]), lhs (ComplexSign) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, float]), lhs (Expr) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, complex]), lhs (float) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), lhs (complex) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), lhs (Sign) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), lhs (ComplexSign) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, complex]), lhs (Expr) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Sign]), lhs (float) → TermMulMixin[ImplT, SpecT, float]

  • self (TermMulMixin[ImplT, SpecT, Sign]), lhs (complex) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, Sign]), lhs (Sign) → TermMulMixin[ImplT, SpecT, Sign]

  • self (TermMulMixin[ImplT, SpecT, Sign]), lhs (ComplexSign) → TermMulMixin[ImplT, SpecT, ComplexSign]

  • self (TermMulMixin[ImplT, SpecT, Sign]), lhs (Expr) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), lhs (float) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), lhs (complex) → TermMulMixin[ImplT, SpecT, complex]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), lhs (Sign) → TermMulMixin[ImplT, SpecT, ComplexSign]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), lhs (ComplexSign) → TermMulMixin[ImplT, SpecT, ComplexSign]

  • self (TermMulMixin[ImplT, SpecT, ComplexSign]), lhs (Expr) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), lhs (float) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), lhs (complex) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), lhs (Sign) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), lhs (ComplexSign) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, Expr]), lhs (Expr) → TermMulMixin[ImplT, SpecT, Expr]

  • self (TermMulMixin[ImplT, SpecT, CoeffT]), lhs (Cmpnt[ImplT, SpecT]) → TermMulMixin[ImplT, SpecT, CoeffT]

Multiply lhs with self.

aliases(other: Term[Any, Any, Any]) bool

Determine whether self is a view of the same component as other.

clear() None

Set the value of the component to zero and the coefficient to unity.

Note

This method operates in-place.

clone() Self

Return a deep copy of self.

property cmpnt: Cmpnt[ImplT, SpecT]

Get a view on the component of self.

property cmpnt_type: type[Cmpnt[ImplT, SpecT]]

Get the component type of self.

cmpnts_type

alias of Strings

property coeff: CoeffT

Get a copy of the coefficient of self.

coeff_type

alias of ComplexSign

property coeffs_type: type[Coeffs[CoeffT]]

Get the coefficient container type of self.

classmethod from_cmpnt_coeff(cmpnt: Cmpnt[ImplT, SpecT], coeff: CoeffT) Self

Factory to make an instance of cls from a component and a coefficient.

Parameters:
  • cmpnt – Component to copy from.

  • coeff – Coefficient scaling the cmpnt in the new instance.

Returns:

An instance of cls with the given component and coefficient.

into(t: type[OutT]) OutT

Clone self into a new related container of type t.

Parameters:

t – Type of the new container to create.

Returns:

A new instance of t containing the same data as self.

is_owning() bool

Check if self is owning (i.e. not a view).

property qubits: Qubits

Get the qubits corresponding to self.

set(source: Self | Cmpnt[ImplT, SpecT] | SpecT | tuple[SpecT | Cmpnt[ImplT, SpecT] | None, CoeffT | None] | None) None

Set the value of the term.

Parameters:

source – Specification for the new value.

Note

This method operates in-place.

property string: String

Get the string component of the term.

to_sparse_matrix(big_endian: bool = False) Any

Return self as a sparse matrix.

Parameters:

big_endian – Whether to use big-endian basis ordering.

Returns:

The sparse matrix representation of self.