||
[线性代数是有大用处的,这个例子涉及到两类行列式的计算,求特征值,矩阵分解等。博文中公式排版不方便,直接拷屏Word为图片上传,所附程序为文字]
测试程序:
import numpy as np
c1=2;c2=1;c3=-2
#c1=2;c2=5;c3=-6
A=np.matrix([[c1,c2,c3],[1,0,0],[0,1,0]])
T,P=np.linalg.eig(A)
M=np.matrix([[1,1,1],[T[0],T[1],T[2]],[T[0]*T[0],T[1]*T[1],T[2]*T[2]]])
f=np.matrix([[0],[1],[2]])
r=np.linalg.inv(M)*f
print(r)
f0=f[0][0]
f1=f[1][0]
f2=f[2][0]
n=20
for i in range(n-2):
fn=c1*f2+c2*f1+c3*f0
f0=f1
f1=f2
f2=fn
print(fn)
#不用迭代,直接用通项公式求:
ft=r[0][0]*T[0]**n+r[1][0]*T[1]**n+r[2][0]*T[2]**n
print("\n",ft)
①丘维声,《高等代数》第二版上册,5.6节例14,清华大学出版社,2019。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-25 16:18
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社