线性代数之线性方程组

news2024/9/22 7:16:44

目录

线性方程组

1. 解的个数

齐次线性方程组:

非齐次线性方程组:

2. 齐次线性方程组的解

3. 非齐次线性方程组的解

4. 使用 Python 和 NumPy 求解线性方程组

示例代码

齐次线性方程组

非齐次线性方程组

示例结果

齐次线性方程组

非齐次线性方程组


线性方程组

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 来求解这些例子。

示例代码

齐次线性方程组
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)
非齐次线性方程组
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)

调用过程

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

调用结果

 
(array([4., 2.]),
array([[ 0.70710678, -0.70710678],
       [ 0.70710678,  0.70710678]]),
array([ 0.5,  0. , -0.5]))

示例结果

齐次线性方程组
  • 特征值:
     
    Eigenvalues: [4. 2.]
  • 特征向量:
     
    Eigenvectors: [[ 0.70710678 -0.70710678]
                   [ 0.70710678  0.70710678]]
非齐次线性方程组
  • :
    Solution x: [ 0.5  0.  -0.5]

从上面的结果可以看出:

  • 对于齐次线性方程组,我们得到了两个特征值 4 和 2,以及对应的特征向量。特征向量代表了齐次方程组的解向量。
  • 对于非齐次线性方程组,我们得到了未知量 𝑥x 的解为 [0.5,0,−0.5][0.5,0,−0.5]。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091117.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity获取SceneView尺寸

获取SceneView尺寸 var sceneView SceneView.lastActiveSceneView; var size new Vector2(sceneView.position.width,sceneView.position.height);

Elasticsearch学习(1)-mac系统安装elasticsearch基础

Elasticsearch基础 1. 传统数据库与elasticsarch2. 下载Elasticsearch7. 经过上述所有操作&#xff0c;就可以得到一个具体的连接可视化页面3. 安装kibana4. 其余知识点 elasticsearch是什么&#xff1f; Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能…

sql-labs靶场(41-50)

四十一 1.查看数据库名 ?id-1 union select 1,2,database()-- 2.查看表名 ?id-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schemadatabase()-- 3.查看user表列名 ?id-1 union select 1,group_concat(column_name),3 from…

SpringMVC处理流程介绍

SpringMVC请求处理流程 发起请求到前端控制器(DispatcherServlet)前端控制器请求HandlerMapping查找Handler(可以根据xml配置,注解进行查找) 对应Spring源码 //在类DispatcherServlet里面 protected void doDispatch(HttpServletRequest request, HttpServletResponse respon…

Leetcode102二叉树的层序遍历(java实现)

今天分享的题目是lee102题&#xff0c;题目的描述如下&#xff1a; 可能做到这道题的小伙伴写过其他关于二叉树的题目&#xff0c;但是一般是使用递归的方式做一个深度遍历&#xff0c;而层序遍历我们该如何做呢&#xff1f; 解题思路&#xff1a;使用一个队列来记录本层节点&a…

浅谈新能源汽车充电桩安装以及防范

摘要&#xff1a;随着国家对绿色环保的倡导&#xff0c;新能源电动汽车应运而生&#xff0c;它们采用清洁能源替代传统能源&#xff0c;有效避免了对自然环境的污染&#xff0c;并减少了资源消耗&#xff0c;实现了资源的高效利用。新能源电动汽车的普及降低了使用成本&#xf…

Rust Linux开发人员自比道路建设者和寻路者的区别

红帽公司&#xff08;Red Hat&#xff09;的长期直接渲染管理器&#xff08;Direct Rendering Manager&#xff0c;DRM&#xff09;子系统维护者大卫-艾尔里&#xff08;David Airlie&#xff09;撰写了一篇有趣的博文&#xff0c;将开发人员的类型与筑路工人、寻路者与酒店进行…

800G OSFP光模块发展概述

在快速发展的高速网络领域&#xff0c;800G OSFP光模块的演变象征着创新与进步。自诞生以来&#xff0c;800G OSFP光模块凭借哪些独特优势脱颖而出&#xff1f;本文将重点介绍800G OSFP光模块的发展路径。 800G OSFP光模块发展路径 路径一&#xff1a;EML 路由 800G DR8 OSF…

Python进阶07-高级语法

零、文章目录 Python进阶07-高级语法 1、with语句 &#xff08;1&#xff09;文件操作 文件使用完后必须关闭&#xff0c;因为文件对象会占用操作系统的资源&#xff0c;并且操作系统同一时间能打开的文件数量也是有限的 # 第一步&#xff1a;打开文件 f open(python.txt…

另一种关于类的小例

前言 我们还是以一段关于构造函数的代码作为开端&#xff0c;我们以之前银行家的小项目为背景 class Account {constructor(owner, currency, pin) {this.owner owner;this.currency currency;this.pin pin;} }const ITshare new Account(ITshare, EUR, 21211); console.…

堆垛机及AGV能力计算

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 完整版文件和更多学习资料&#xff0c;请球友到知识星球【智能仓储物流技术研习社】自行下载。 这份文件是关于堆垛机和AGV&#xff08;…

第六课,模运算进阶,计算机存储单位

一&#xff0c;模运算的进阶知识 先复习一下已知的模运算知识&#xff1a; ①符号是%&#xff0c;但作为模运算符号时应念作“模”而非“百分之”或“百分号” ②参与模运算的数必须是两个整数&#xff0c;其作用是计算余数 然后新学几个模运算知识&#xff1a; ③当被除数是…

IPv4和子网掩码

目录 IP地址&#xff1a; IP概念&#xff1a; 网络号与主机号&#xff1a; 网关与跨网通信&#xff1a; IP地址的分类&#xff1a; 子网掩码&#xff1a; 如何确定两个IP地址是否在同一网段; 练习&#xff1a; 补充&#xff1a; IP地址&#xff1a; IP概念&#xff1…

哪家宠物空气净化器能吸毛除臭?希喂、352真实测评分享

自从家里同时迎来了猫咪与狗狗&#xff0c;生活的色彩确实丰富了许多&#xff0c;但这份喜悦的背后&#xff0c;也有每天理都理不断的“盛况”。每当结束了一天的忙碌&#xff0c;满心期待着家的温馨与安宁&#xff0c;推开家门的那一刻&#xff0c;猫和狗先迎接我的反而是它们…

Python实战项目:天气数据爬取+数据可视化(完整代码)_python爬虫实战

一、选题的背景 随着人们对天气的关注逐渐增加&#xff0c;天气预报数据的获取与可视化成为了当今的热门话题&#xff0c;天气预报我们每天都会关注&#xff0c;天气情况会影响到我们日常的增减衣物、出行安排等。每天的气温、相对湿度、降水量以及风向风速是关注的焦点。通过…

聊一聊质量测试框架

目录 质量测试框架的概述&#xff1a; 质量测试框架相关术语&#xff1a; 质量测试框架的构成及特性&#xff1a; 质量测试参考模型&#xff1a; 质量的生存周期的QM&#xff1a; 测量结果的应用&#xff1a; 常见的质量测试框架有哪些&#xff1f; 质量测试框架在使用…

springboot启动很慢,加载xml时卡住 或者 {dataSource-1} inited卡住 或者 primary数据库配置错误,很久启动不起来

springboot启动很慢&#xff0c;加载xml时卡住 或者 {dataSource-1} inited卡住 或者 primary数据库配置错误&#xff0c;很久启动不起来 1.第一步先rebuild一下2.如果还是很慢&#xff0c;可能是你debug启动的同时加了很多断点&#xff0c;需要把断点去掉。3.如果还是不行&…

设计模式-结构型模式-享元模式

1.享元模式定义 摒弃了在每个对象中保存所有数据的方式&#xff0c;通过共享多个对象所共有的相同状态&#xff0c;从而让我们能在有限的内存容量中载入更多对象&#xff1b; 1.1 享元模式优缺点 优点 极大减少内存中相似或相同对象数量&#xff0c;节约系统资源&#xff0c…

Ascend C算子开发(入门)—— 算子开发初体验

文章目录 Ascend C算子开发&#xff08;入门&#xff09;—— 算子开发初体验Host与Device核函数什么是核函数如何编写核函数&#xff1f; 核函数实现例子——Hello World完整核函数泛讲 Ascend C算子开发&#xff08;入门&#xff09;—— 算子开发初体验 Host与Device Host…

从零开始学cv-9:图像滤波

文章目录 前言一、简介&#xff1a;二、图像滤波实现&#xff1a;2.1 均值滤波&#xff1a;2.2 高斯滤波&#xff1a;2.3 中值滤波&#xff1a;2.4 锐化滤波&#xff1a; 前言 在信息化时代&#xff0c;图像已成为人们获取信息、沟通交流的重要载体。随着科技的飞速发展&#…