前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >线性代数之线性方程组

线性代数之线性方程组

作者头像
用户11315985
发布2024-10-16 12:44:50
960
发布2024-10-16 12:44:50
举报
文章被收录于专栏:CSDN小华

线性方程组

1. 解的个数
  • 齐次线性方程组
    • 只有零解:当系数矩阵的秩等于未知量的个数 𝑛n 时,即 rank(𝐴)=𝑛rank(A)=n。
    • 有非零解:当系数矩阵的秩小于未知量的个数 𝑛n 时,即 rank(𝐴)<𝑛rank(A)<n。
  • 非齐次线性方程组
    • 无解:当增广矩阵的秩不等于系数矩阵的秩,即 rank([𝐴∣𝑏])≠rank(𝐴)rank([A∣b])=rank(A)。
    • 有解:
      • 唯一解:当增广矩阵的秩等于系数矩阵的秩且等于未知量的个数 𝑛n,即 rank([𝐴∣𝑏])=rank(𝐴)=𝑛rank([A∣b])=rank(A)=n。
      • 无穷多解:当增广矩阵的秩等于系数矩阵的秩但小于未知量的个数 𝑛n,即 rank([𝐴∣𝑏])=rank(𝐴)<𝑛rank([A∣b])=rank(A)<n。
2. 齐次线性方程组的解
  • 基础解系:齐次线性方程组的基础解系是指一组线性无关的解向量,使得所有解都能表示为这些向量的线性组合。
  • 求解步骤
    1. 化简系数矩阵:将系数矩阵 𝐴A 化简为行阶梯形或行最简形。
    2. 列出方程:根据化简后的矩阵列出相应的方程。
    3. 确定自由未知量:找出方程组中的自由未知量(即那些不是其他未知量表达式的未知量)。
    4. 令自由未知量为线性无关组:设自由未知量为任意实数,并保证它们之间线性无关。
    5. 得到基础解系:利用自由未知量表达出其他未知量的解,从而得到基础解系。
    6. 写出一般解:将基础解系的解向量按自由未知量的不同取值线性组合,得到方程组的一般解。
3. 非齐次线性方程组的解
  • 解的结构:非齐次线性方程组的解集可以表示为一个特解加上齐次方程组的所有解。
  • 求解步骤
    1. 求特解:通过数值方法或符号计算求出一个特解 𝑥𝑝xp​。
    2. 求齐次方程组的基础解系:求出对应的齐次方程组 𝐴𝑥=0Ax=0 的基础解系。
    3. 写出一般解:一般解可以表示为 𝑥=𝑥𝑝+𝑐1𝑣1+𝑐2𝑣2+…+𝑐𝑘𝑣𝑘x=xp​+c1​v1​+c2​v2​+…+ck​vk​,其中 𝑣𝑖vi​ 是齐次方程组的基础解系中的解向量。
4. 使用 Python 和 NumPy 求解线性方程组
  • 齐次线性方程组
    • 通常用于求解特征值问题,例如求解特征向量。
    • 使用 numpy.linalg.eig() 函数求解特征值和特征向量。
  • 非齐次线性方程组
    • 用于确定未知量的值。
    • 使用 numpy.linalg.solve() 函数求解未知量。

下面分别给出齐次和非齐次线性方程组的例子,我们将使用 Python 和 NumPy 来求解这些例子。

示例代码
齐次线性方程组
代码语言:javascript
复制
import numpy as np

# 定义系数矩阵 A
A = np.array([[3, 1], [1, 3]])

# 使用 numpy.linalg.eig() 求解特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(A)

print("Eigenvalues:", eigenvalues)
print("Eigenvectors:", eigenvectors)
非齐次线性方程组
代码语言:javascript
复制
import numpy as np

# 定义系数矩阵 A 和右侧向量 b
A = np.array([[2, -1, 0], [-1, 2, -1], [0, -1, 2]])
b = np.array([1, 0, -1])
6
# 使用 numpy.linalg.solve() 求解未知量
x = np.linalg.solve(A, b)

print("Solution x:", x)

调用过程

代码语言:javascript
复制
import numpy as np
# 齐次线性方程组示例
# 定义系数矩阵 A
A_homogeneous = np.array([[3, 1], [1, 3]])

# 使用 numpy.linalg.eig() 求解特征值和特征向量
eigenvalues_homogeneous, eigenvectors_homogeneous = np.linalg.eig(A_homogeneous)

# 非齐次线性方程组示例
# 定义系数矩阵 A 和右侧向量 b
A_inhomogeneous = np.array([[2, -1, 0], [-1, 2, -1], [0, -1, 2]])
b_inhomogeneous = np.array([1, 0, -1])
# 使用 numpy.linalg.solve() 求解未知量
x_inhomogeneous = np.linalg.solve(A_inhomogeneous, b_inhomogeneous)
eigenvalues_homogeneous, eigenvectors_homogeneous, x_inhomogeneous

调用结果

代码语言:javascript
复制
代码语言:javascript
复制
(array([4., 2.]),
array([[ 0.70710678, -0.70710678],
       [ 0.70710678,  0.70710678]]),
array([ 0.5,  0. , -0.5]))
示例结果
齐次线性方程组

特征值:

代码语言:javascript
复制
代码语言:javascript
复制
Eigenvalues: [4. 2.]

特征向量:

代码语言:javascript
复制
代码语言:javascript
复制
Eigenvectors: [[ 0.70710678 -0.70710678]
               [ 0.70710678  0.70710678]]
非齐次线性方程组

:

代码语言:javascript
复制
Solution x: [ 0.5  0.  -0.5]

从上面的结果可以看出:

  • 对于齐次线性方程组,我们得到了两个特征值 4 和 2,以及对应的特征向量。特征向量代表了齐次方程组的解向量。
  • 对于非齐次线性方程组,我们得到了未知量 𝑥x 的解为 [0.5,0,−0.5][0.5,0,−0.5]。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 解的个数
  • 2. 齐次线性方程组的解
  • 3. 非齐次线性方程组的解
  • 4. 使用 Python 和 NumPy 求解线性方程组
  • 示例代码
    • 齐次线性方程组
      • 非齐次线性方程组
      • 示例结果
        • 齐次线性方程组
          • 非齐次线性方程组
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档