qml.math¶
该包包含用于框架无关的张量和数组操作的统一函数。根据输入的类似张量的对象,调用会分派到相应的数组操作框架,从而允许保持端到端的微分。
警告
这些函数是实验性的,仅支持一部分常见功能。此外,这些函数的名称和行为可能与常见框架中的类似函数不同;请参考函数文档字符串以获取更多细节。
当前支持以下框架:
NumPy
自动微分
张量流
深度学习框架
JAX
函数¶
|
逐元素添加参数。 |
|
如果两个数组在容差范围内逐元素相等,则返回 True。 |
|
如果两个张量在给定轴上逐元素相等,则返回True。 |
|
创建目标框架的数组或张量对象。 |
|
将一系列 2D 张量组合成一个块对角张量。 |
|
将给定的张量转换为新类型。 |
|
将一个张量转换为与另一个相同的数据类型。 |
|
沿指定轴连接一系列张量。 |
|
将一个张量转换为与另一个相同的类型。 |
|
计算一组可交换观测量的协方差矩阵,给定系统在共享特征基中的联合概率分布。 |
|
从张量中分离其迹,并仅返回其数值。 |
|
从一组标量构造对角张量。 |
|
便捷函数,用于从状态向量计算(完整)密度矩阵。 |
|
返回两个张量的矩阵或点积。 |
|
对操作数评估爱因斯坦求和约定。 |
|
根据全局导线顺序,对由一组导线标签定义的子空间上作用的矩阵进行重新表达。 |
|
将向量扩展到更多的线。 |
|
计算一个算符 respecto 一个纯态的期望值。 |
|
创建目标框架的单位数组或张量对象。 |
|
计算两个状态的保真度(以密度矩阵的形式给出),作用于相同大小的量子系统。 |
|
计算两个状态的保真度(以状态向量的形式给出),作用于相同大小的量子系统上。 |
|
两个矩阵之间的Frobenius内积。 |
一种与接口无关的获取数据类型名称的方法。 |
|
|
根据给定的张量类型对象或张量类型对象序列,确定正确的框架以进行分发。 |
|
帮助函数以获取标准接口名称。 |
给定一个深层数据结构,底部具有特定于接口的标量,返回它们的接口名称。 |
|
|
返回一个包含可训练索引的值序列的集合。 |
|
以类似于jax的方式计算任何接口的梯度。 |
|
如果张量被认为处于反向传播环境中,则返回True,它适用于Autograd、TensorFlow和Jax。 |
|
如果张量被认为是抽象的,则返回True。 |
|
测试一个函数是否独立于其输入参数,包括数值和解析方法。 |
|
如果张量具有非零复数分量,则返回 True。 |
|
以jax的方式计算任何接口的雅可比矩阵。 |
|
根据作为张量表示的联合概率分布计算边际概率。 |
|
计算给定子系统的密度矩阵的最大熵。 |
|
计算密度矩阵的最小熵。 |
|
用于调度接口处理的参数的装饰器。 |
|
计算给定状态下两个子系统之间的互信息: |
|
返回一个与输入张量形状和数据类型相同的全为一的张量。 |
|
通过对提供的索引进行追踪计算约化密度矩阵。 |
|
计算密度矩阵的纯度。 |
|
从用密度矩阵表示的状态计算密度矩阵。 |
|
从状态向量计算密度矩阵。 |
|
计算一个状态相对于另一个状态的量子相对熵。 |
|
如果张量被认为是可训练的,则返回 True。 |
|
计算密度矩阵的平方根矩阵,其中 \(\rho = \sqrt{\rho} \times \sqrt{\rho}\) |
|
在张量的各个索引上对多维值进行就地加法。 |
|
沿指定轴堆叠一系列张量。 |
|
计算每个接口中张量的奇异值分解。 |
|
返回两个张量的张量积。 |
|
计算两个量子态之间的迹距离。 |
|
将一系列对象解包为NumPy数组。 |
|
计算给定子系统上的密度矩阵的冯·诺依曼熵。 |
|
计算给定状态下两个子系统之间的冯·诺依曼纠缠熵。 |
|
根据布尔张量条件从x或y中返回选择的元素,或返回满足条件的条目的索引。 |