我正在使用递归在Haskell中实现一些数论函数作为指数运算。我使用QuickCheck库来测试我的实现。为了简化我的测试,我使用了来自基库的Natural数据类型,quickcheck实例库中定义的Natural的任意实例,以及考虑到我自己定义的数据Nat,分别从Nat转换为Natural和从Naturala -> (Nat -> a -> a) -> Nat -> arecNat a h (Succ n) = h n (recNat a h n)
我的求<e
我正在尝试执行矩阵求幂,但我不想复制/粘贴我的求幂函数,而是更愿意使用类模板。问题是,对于boost矩阵,要将矩阵相乘,需要使用prod函数(而不是operator*)。我在下面的代码中得到的错误是
41:37: error: no matching function for call to 'my_pow(boost::numeric::ublas::matrix<int