Python矩阵快速幂
时间: 2023-11-29 10:46:21 浏览: 126
矩阵快速幂是一种高效的算法,用于计算矩阵的幂。在计算机科学中,矩阵快速幂通常用于解决递归问题,例如斐波那契数列。下面是Python实现矩阵快速幂的示例代码:
```python
def matrix_multiply(a, b):
zip_b = list(zip(*b))
return [[sum(ele_a * ele_b for ele_a, ele_b in zip(row_a, col_b))
for col_b in zip_b] for row_a in a]
def matrix_power(matrix, power):
result = None
while power:
if power & 1:
result = matrix_multiply(result, matrix) if result else matrix
matrix = matrix_multiply(matrix, matrix)
power >>= 1
return result
# 示例
matrix = [[1, 1], [1, 0]]
result = matrix_power(matrix, 5)
print(result)
```
上述代码中,`matrix_multiply`函数用于计算两个矩阵的乘积,`matrix_power`函数用于计算矩阵的幂。在`matrix_power`函数中,我们使用了位运算来实现快速幂算法,从而提高了算法的效率。
阅读全文