Isabelle/HOL 中的向量转置
Vector transpose in Isabelle/HOL
我找不到 Finite_Cartesian_Product
理论中 (real,'n) vec
类型向量转置的定义或引理。我正在尝试用转置矩阵和矢量替换转置矢量,例如,如果矢量 e = A x
那么 e
(e^T
) 的转置导致转置 A
和 x
(e^T = A^T x^T
)。我可以在 Isabelle/HOL 中执行此操作吗?
首先,除非我的线性代数现在完全让我失望,否则 (AB)^T = B^T A^T
,而不是 A^T B^T
,所以你的第二个等式应该是 e^T = x^T A^T
回答您的实际问题:我建议您查看 ~~/src/HOL/Analysis/Cartesian_Euclidean_Space
中的常量 rowvector
、columnvector
和 transpose
。前两个允许您将长度为 n
的向量转换为 1 × n
(分别为 n × 1
)矩阵,后者允许您转置矩阵。
我猜你的 e = A x
看起来像 columnvector e = A ** columnvector x
而你的 e^T = x^T A^T
看起来像 rowvector e = rowvector x ** transpose A
.
我找不到 Finite_Cartesian_Product
理论中 (real,'n) vec
类型向量转置的定义或引理。我正在尝试用转置矩阵和矢量替换转置矢量,例如,如果矢量 e = A x
那么 e
(e^T
) 的转置导致转置 A
和 x
(e^T = A^T x^T
)。我可以在 Isabelle/HOL 中执行此操作吗?
首先,除非我的线性代数现在完全让我失望,否则 (AB)^T = B^T A^T
,而不是 A^T B^T
,所以你的第二个等式应该是 e^T = x^T A^T
回答您的实际问题:我建议您查看 ~~/src/HOL/Analysis/Cartesian_Euclidean_Space
中的常量 rowvector
、columnvector
和 transpose
。前两个允许您将长度为 n
的向量转换为 1 × n
(分别为 n × 1
)矩阵,后者允许您转置矩阵。
我猜你的 e = A x
看起来像 columnvector e = A ** columnvector x
而你的 e^T = x^T A^T
看起来像 rowvector e = rowvector x ** transpose A
.