cuquantum.densitymat.Operator¶
- class cuquantum.densitymat.Operator(hilbert_space_dims, *terms)[源代码]¶
表示
OperatorTerm
对象集合的算符。Operator
的作用是将State
映射到另一个State
。Operator
通过其compute
方法作用于State
的实例,在其prepare
方法在同一State
实例上调用之后。- 参数
hilbert_space_dims – 物理系统的希尔伯特空间维度。
terms – 指定每个项的元组序列。每个元组可以包含单个元素 (
OperatorTerm
),两个元素 (OperatorTerm
和系数),或三个元素 (OperatorTerm
、系数和对偶性)。如果未给出第二个或第三个元素,它们将被设置为默认值 (coefficient=1
,duality=False
)。
方法
- __iadd__(other: Union[Operator, OperatorTerm]) None [源代码]¶
原地将另一个
Operator
或OperatorTerm
添加到此Operator
中。
- __init__(hilbert_space_dims: Sequence[int], *terms: Tuple[OperatorTerm, Optional[Union[numbers.Number, Tuple]], Optional[bool]]) None [源代码]¶
初始化一个算符,表示
OperatorTerm
对象的集合。
- append(term: OperatorTerm, coeff: Union[numbers.Number, Callable[[numbers.Number, Sequence], numbers.Number]] = 1.0, duality: bool = False) None [源代码]¶
将
OperatorTerm
附加到此Operator
。- 参数
term – 要附加的
OperatorTerm
。coeff – 与此
OperatorTerm
关联的系数。duality –
term
中的基本算符是应用于右矢模式 (False
) 还是左矢模式 (True
)。
- compute_action(t: float, params: list[float], state_in: State, state_out: State) None [source]¶
计算此
Operator
在输入状态上的作用,并累积到输出状态中。- 参数
t – 传递给所有回调函数的时间参数。
params – 传递给所有回调函数的附加参数。
state – 要应用
Operator
的输入量子态。state_out – 动作要累积到的输出量子态。默认为
state
。
- compute_expectation(t: float, params: Sequence[float], state: State) cupy.ndarray [source]¶
计算此
Operator
在一个状态上的期望值。- 参数
t – 传递给所有回调函数的时间参数。
params – 传递给所有回调函数的附加参数。
state – 用于评估期望值的量子态。
- 返回
计算出的期望值,封装在
cupy.ndarray
中。
注意
目前,此方法以阻塞方式执行,仅在计算完成后返回期望值。
- prepare_action(ctx: WorkStream, state: State, state_out: Optional[State] = None, compute_type: Optional[str] = None) None [source]¶
准备此
Operator
在输入状态上的作用,并累积到输出状态中。- 参数
ctx – 库上下文,包含工作区、流和其他配置信息。
state – 要应用
Operator
的输入量子态。state_out – 动作要累积到的输出量子态。默认为
state
。compute_type – 计算要使用的 CUDA 计算类型。
注意
目前不使用
compute_type
参数,并将默认为数据类型。
- prepare_expectation(ctx: WorkStream, state: State, compute_type: Optional[str] = None) None [source]¶
准备计算此
Operator
在一个状态上的期望值。- 参数
ctx – 库上下文,包含工作区、流和其他配置信息。
state – 用于评估期望值的量子态。
compute_type – 计算要使用的 CUDA 计算类型。
注意
目前不使用
compute_type
参数,并将默认为数据类型。
属性