Matrix 伊莎贝尔:矩阵的幂(a^n)?
在Matrix 伊莎贝尔:矩阵的幂(a^n)?,matrix,isabelle,Matrix,Isabelle,在笛卡尔欧几里德空间中有一个矩阵乘法定义(在目录HOL/multivariable\u Analysis中): 现在平方矩阵将是A**A,A^3将是A**A**A 我找不到powerfunction来定义a^n(即a**a**…**an次) 库中是否有幂函数?是否需要手动定义?我在HOL/power.thy中找到了以下定义: primrec power :: "'a ⇒ nat ⇒ 'a" (infixr "^" 80) where power_0: "a ^ 0 = 1" | po
笛卡尔欧几里德空间
中有一个矩阵乘法定义(在目录HOL/multivariable\u Analysis中):
现在平方矩阵将是A**A
,A^3将是A**A**A
我找不到powerfunction来定义a^n
(即a**a**…**a
n次)
库中是否有幂函数?是否需要手动定义?我在
HOL/power.thy
中找到了以下定义:
primrec power :: "'a ⇒ nat ⇒ 'a" (infixr "^" 80) where
power_0: "a ^ 0 = 1"
| power_Suc: "a ^ Suc n = a * a ^ n"
(Control+Click会让你找到相应的定义!所以我点击了“^”,我只是先写了“1^1=1”作为引理
这是矩阵幂的定义。
(因为我只使用平方矩阵,所以这很好,但是更通用的^'n^'m
类型会更好。)
primrec power :: "'a ⇒ nat ⇒ 'a" (infixr "^" 80) where
power_0: "a ^ 0 = 1"
| power_Suc: "a ^ Suc n = a * a ^ n"
primrec powerM :: "(('a::semiring_1) ^'n^'n) ⇒ nat ⇒ (('a::semiring_1) ^'n^'n)"
(infixr "^^^" 80) where
powerM_0: "A ^^^(0::nat) = mat 1"
| powerM_Suc: "A ^^^(Suc n) = A ** (powerM A n)"