1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > SVD奇异值分解求解非齐次线性方程组代码实现

SVD奇异值分解求解非齐次线性方程组代码实现

时间:2022-11-12 04:15:39

相关推荐

SVD奇异值分解求解非齐次线性方程组代码实现

SVD可以很方便的求解齐次和非齐次线性方程组,这篇帖子有关于奇异值分解的介绍以及求解齐次和非齐次线性方程组推导过程。

求解非齐次线性方程组 Ax=b

等价于寻找x使||Ax−b||2最小化

求解步骤(图片引用自博客)
代码

import numpy as np# 定义A矩阵和b向量A = np.array([[1.1, -0.1],[-0.1, 1.1]])b = np.array([[86.6],[103.4]])# SVD分解u, d, v = np.linalg.svd(A)# print(u, d, v)# 求解b'b_ = u.T @ b# 求解y y由 b'/d 得到y = [b_[i, 0] / val for i, val in enumerate(d)]# x = Vyx = v.T @ np.expand_dims(np.array(y), 1)print(x)# output# [[ 88.]# [102.]]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。