我想计算python中二阶导数矩阵的特征向量。根据数学,第一个向量应该等于0到pi之间的sin-函数,第二个等于0到2*pi之间的sin函数。因此,我的代码看起来就像
import numpy as np
from matplotlib import pyplot as plt
from scipy import sparse
import scipy.integrate as integrate
import scipy.special as special
import scipy
def create_second_deriv(size, h):
delta_matrix_2_
本文尝试用QR迭代法求解特征值和特征向量,代码非常简单。但是,与linalg.eigs的答案相比,QR迭代的答案总是有一些相反的或不正确的值。
import numpy as np
import scipy.linalg as linalg
def qr_iteration(A):
for i in range(100):
Q, R = linalg.qr(A)
A = np.dot(R, Q)
return np.diag(R), Q
a, b = linalg.eig(A)
c, d = qr_iteration(A)
print(a) # [
我想写一个简单的程序(用C)使用Lanczos算法。我遇到了一个Matlab示例,它帮助我更深入地理解了算法,但是从这段代码中我找不到获得特征值和特征向量的方法。我可以遵循算法,但我想我肯定遗漏了什么。有没有人可以指导我从这个例子中得到特征值,这样我就可以理解这个方法,然后用C语言编写代码?
% Create a random symmetric matrix
D=6
for i=1:D,
for j=1:i,
A(i,j)=rand;
A(j,i)=A(i,j);
end
end
% Iteration with j=0
r0 = r
我是R中的newby,我有一个100x100的方阵。我想找出这个矩阵的最大特征值。我试过了
is.indefinite(x)
但它写道
is.indefinite(x) : argument x is not a symmetric matrix
有人知道求特征值的函数吗,或者更好的是R中最大的特征值?
在Matlab中,我有一个实对称的n×n矩阵A,其中n> 6000。即使A是正定的,它也接近奇异。对于一个变化的特殊变量,A从正定变为单数到不定。我要决定A何时变成单数。我不相信行列式,所以我看特征值,但我没有记忆(或时间)来计算所有的n个特征值,我只对最小值感兴趣,特别是当它将符号从正向负变化时。我试过了
D = eigs(A,1,'smallestabs')
这样我就失去了特征值的符号,
D = eigs(A,1,'smallestreal')
Matlab不能得到收敛的最小特征值。然后,我尝试定义一个shift值,比如
for i = 1:10