Term

class zixy.container.terms.Term(data: TermData[ImplT, SpecT, CoeffT], indexer: int | None = None)[source]

Bases: ViewableItem[TermData[ImplT, SpecT, CoeffT]], Generic[ImplT, SpecT, CoeffT], TermMulMixin[ImplT, SpecT, CoeffT]

A term consisting of a component and a coefficient.

A single term consisting of a component and a coefficient that may be an owning instance referencing the sole element in an owned TermData instance, or a view on an element in another collection.

__eq__(other: object) bool[source]

Return whether self and other are equal.

__init__(data: TermData[ImplT, SpecT, CoeffT], indexer: int | None = None)[source]

Initialize the term.

Parameters:
  • data – Raw term data object, of which self views one.

  • indexer – Index of the term within data that self views.

__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[source]

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[source]

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

clear() None[source]

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

Note

This method operates in-place.

clone() Self[source]

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: type[Cmpnts[ImplT, SpecT]]
property coeff: CoeffT

Get a copy of the coefficient of self.

coeff_type: type[CoeffT]
property coeffs_type: type[Coeffs[CoeffT]]

Get the coefficient container type of self.

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

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).

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

Set the value of the term.

Parameters:

source – Specification for the new value.

Note

This method operates in-place.