Ruby 矩阵 阶乘的问题

kingwkb · 2013年08月06日 · 最后由 jyz19880823 回复于 2013年08月07日 · 3826 次阅读
irb(main):063:0> m
=> Matrix[[1, 1], [1, 0]]
irb(main):064:0> m ** 2
=> Matrix[[2, 1], [1, 1]]

这个结果是怎么计算出来的?搞不明白

m ** 2 = m * m

不是阶乘,是平方

1 1      1 1      2  1
1 0   *  1 0   =  1  1

#2 楼 @hhuai 我还是不明白

2 1
1 1
这4个数分别是怎么计算出来的?

#1 楼 @luikore 如果是 m ** 3 呢?

矩阵陈法看不懂? m**3 =

2 1      1 1      3  2
1 1   *  1 0   =  2  1

#4 楼 @kingwkb

这是线性代数基础啊... 有的地方高中就教了吧

三次幂相当于 m * m * m

#3 楼 @kingwkb

矩阵相乘,即行与列的积,从矩阵的第一行 与 第二个矩阵的 第一列,相乘的积和

[ 1 1 ] * [ 1 1 ] [ 1 0 ] [ 1 0 ]

= [ 1 * 1 + 1 * 1 1 * 1 + 1 * 0 ] [ 1 * 1 + 0 * 1 1 * 1 + 0 * 0 ]

= [ 2 1 ] [ 1 1 ]

下本线性代数看看

需要 登录 后方可回复, 如果你还没有账号请 注册新账号