SciPy 的哪个线性函数用于求解循环矩阵方程?
名为scipy.linalg.solve_circulant的线性函数用于求解循环矩阵方程。此函数的形式如下-
scipy.linalg.solve_circulant(c, b, singular=’raise’, tol=None, caxis=-1, baxis=0, outaxis=0)
该线性函数将为x求解方程Cx=b,其中C是与向量c关联的循环矩阵。
循环矩阵方程是通过在傅立叶空间中进行除法来求解的,如下所示-
x = ifft(fft(b) / fft(c))
这里fft是快速傅里叶变换,而ifft是快速傅里叶逆变换。
参数
下面给出函数scipy的参数。-linalg.solve_circulant()
c−array_like
该参数表示循环矩阵的系数。
b−array_like
该参数表示等式ax=b中的右侧矩阵。
单数-str,可选
此参数用于控制如何处理近奇异循环矩阵。下面给出了这个参数的选项-
vraise-如果循环矩阵接近奇异值并且您选择此参数“raise”的值,则会引发LinAlgError。它也是奇异参数的默认值。
vlstsq-如果循环矩阵接近奇异值并且您选择此参数'lstsq'的值,则将返回最小二乘解。
tol−浮动,可选
该参数用于判断矩阵是否接近奇异。将tol的值与循环矩阵的特征值进行比较,如果它小于或等于tol,则矩阵接近奇异。如果没有给出tol的值,您可以借助以下等式进行设置-
tol = abs_eigs.max() * abs_eigs.size * np.finfo(np.float64).eps
这里abs_eigs是循环矩阵特征值的绝对值数组。
caxis-int
当循环矩阵c的维数大于1时,caxis是c的轴,包含循环系数的向量。
baxis−int
当循环矩阵c的维数大于1时,baxis是b的轴,其中包含右侧向量。
外轴-int
outaxis是保存解向量的结果的轴。
退货
x−ndarray
它返回循环矩阵方程Cx=b的解。
加注
线性错误
如果与c关联的循环矩阵接近奇异,则会引发LinAlgError。