线性代数1:线性方程和系统

Digital Collection (staedelmuseum.de)

图片来自施泰德博物馆

一、前言

        通过这些文章,我希望巩固我对这些基本概念的理解,同时如果可能的话,通过我希望成为一种基于直觉的数学学习方法为其他人提供额外的清晰度。如果有任何错误或机会需要我进一步阐述,请分享,我可以进行必要的修改。

        这是关于线性代数基础知识的持续系列文章的第一个补充,线性代数是机器学习背后的基础数学。本文最好与David C. Lay,Steven R. Lay和Judi J. McDonald的线性代数及其应用一起阅读。将此系列视为外部配套资源。

二、背景

        线性方程组和线性方程组在金融、工程、化学、计算机科学、统计学和物理学等领域具有各种实际应用。在化学中,线性方程用于平衡化学反应并计算反应物和产物的数量。线性代数的这一基石也出现在物理学中,其中线性方程在运动学和热力学中使用来描述物体的运动,帮助计算距离、速度和加速度,并分别模拟物理系统中的传热和能量流。金融领域依靠线性方程和系统进行预算和投资组合分析,而工程师可以使用相同的工具进行结构分析,以模拟建筑物中的力和应力。线性代数无处不在;每个人都可以在某种程度上欣赏它。

三、线性方程

        线性方程是具有一个或多个变量的方程,对于每个变量,变量的指数必须为 2。它可以写成以下形式:a₁x₁ + a₂x₂ + ... + <>rxr = b。值 [a₁, a₁, ..., ar] 和 b 称为线性方程的系数

        线性方程的示例包括:2 x + 5 y = 10、6 x = 18、7v + 8w + 0 x + 2y + 3z = 15,以及 3 x₁ + 4x₂ + 5x₃+9x₄ + 10x₇ = 3

        线性方程的非示例是 2 + 6x + 5 = 2;这是二次方程*的一个实例。另一个这样的非示例可能是 7x₁ + 3 x₂ = x₁* y₁; 当你绘制这个方程时,其原因变得很明显,它可以重新排列以形成有理函数 y = 7 x /x - 3,它是弯曲 的而不是线性的。

        考虑线性方程 2+ 5y = 10。下图说明了线性方程的图形表示,您会注意到它是一条线。当调用直线的方程时,这一点变得更加明显:y = mx + b,其中 m = 斜率和 b = 截距。线性方程可以如下图所示重新排列以采用这种形式。

        可以得出以下结论:落在直线上的所有 (x, y) 点都是方程 2x + 5y = 10 的解。例如,假设我们选择 x 截距的点 (5, 0),并将 x 和 y 值代入方程中各自的位置。2(5) + 5(0) = 10。线上的任何 (x, y) 点都可以代入方程中,并且相等性将成立。我们可以将这一发现概括为一个规则:

具有两个变量 ax + by = c 的线性方程的 R²* 中的解集可以表示为一条线。

        请注意,这个奇异方程有无限数量的解,跨越 R²;稍后我们将仔细研究解决方案的数量。

        相同的基本概念转移到表示为 Rⁿ 的高维坐标空间,例如 R³,其中由于添加了第三个变量,直线成为平面。

四、线性方程组

        线性方程组是一个或多个线性方程的集合,这些方程共享相似的变量。举个例子:

6x + 2y = 4

2x + 4y = 8

        线性方程组的定义为值(s₁,s₂,...,sr),当替换每个方程各自的变量时,这些值使每个方程为真。在上述系统的情况下,解将是(0,2),因为当(0,2)被替换到系统中时,两个方程的计算结果都是真的。

五、线性系统的解决方案

        线性系统解的图形含义是什么?线性系统的解决方案数有哪些不同情况?本节将更详细地研究三种可能性中的每一种。它们如下:

  1. 独特的解决方案
  2. 没有解决方案
  3. 无限解决方案

        唯一解决方案:对于具有两个变量(如上述变量)的线性系统,解决方案是交叉点。为什么?解是有序对,其中两个方程都必须满足,如果不存在这样的有序对,那一定意味着直线永远不会相交。这是一个独特解决方案的示例。只有一个解可以满足线性系统中的所有方程。

        没有解决方案考虑没有解决方案的情况。在具有两个变量的线性系统的上下文中,这可能意味着什么?在什么情况下,一组行永远不会相遇?一种情况是,如果它们是平行的。对于所有直线都平行的线性系统,线性系统将没有解。另一种情况是,虽然某些线可能与其他线相交,但没有一条所有线共享的共同交点。

        无限解:线性系统的最终情况是存在无限解。什么时候有可能为双变量线性系统提供无限解?如果线相同,则存在无限的交点,因为它们重叠,因此存在无限解。考虑以下线性系统:

6x + 3y = 18

2x + y = 6

        虽然系数可能不同,但这些线实际上是相同的!如果将第一个方程的每个系数除以 3,则得到的方程将为 2x + y = 6。

        线性系统解数的可视化随着变量数量的增加而变化。下图是具有三个变量的线性系统的所有三个解案例的可能图。三维之后的任何东西都变得难以想象,但同样的规则适用!无论有多少变量,所有线性系统要么没有解,要么只有一个解,要么有无限解。

此图改编自 src。

六、矩阵表示法

        随着线性方程变得越来越复杂,符号可能会变得笨拙。将线性系统的信息压缩为易于操作和使用非常重要,因此矩阵符号通常用于一组方程。系数矩阵是一种从每个方程中排除 b 系数的矩阵。增强矩阵包含 b 系数,因此它比系数矩阵多一列。

        矩阵的大小(也称为顺序)告诉我们矩阵有多少行和列。m x n 矩阵是包含 m 行和 n 列的矩阵。行数对应于系统有多少个线性方程,而列数告诉我们有多少变量。注意确保行数在列数之前,因为顺序不可互换。

七、求解线性系统

        有一种系统的方法可以确定线性系统是否有解,如果有,它是否有唯一的解或无限解,并从那里获得解。求解线性系统可以使用原始形式的线性方程或矩阵来执行,但建议使用矩阵,因为符号更清晰、更紧凑。然而,熟悉这两种方法是件好事,因为它们提供了对另一种方法机制的额外见解。

        下面是解决无矩阵方程组的逐步过程。基本思想是通过将预先存在的方程相乘来创建新方程,以获得相同的方程,然后可以从另一个方程中添加或减去以消除一个变量。然后重复这个过程,直到我们从系统中消除了足够多的未知数,以便能够解决一个变量,然后通过反向替换来求解其余变量。最后,需要进行检查以确保解实际上满足方程组。

八、行操作

        前面概述的步骤可以转移到以矩阵为中心的求解线性系统的过程。记下每次转换后如何在矩阵中指定消除的变量。但是,在我们开始之前,让我们定义一些行操作。两个实际上与我们之前应用的操作并行。

  1. 替换:“将一行替换为其自身和另一行的总和。*
  2. 交换:“交换两行。*
  3. 缩放:“将一行中的所有条目乘以非零常量。*

让我们再次重新接近相同的线性系统,但这次使用矩阵并应用行运算。

请注意,我使用了与线性方程方法完全相同的运算和比例因子。不出所料,我们最终得到了与以前相同的方程。其他需要注意的是最终矩阵左下角的三角形。这种模式的出现是有意义的,因为 0 是消除变量的标记,每个消除的变量都使我们更接近于确定可以轻松求解的方程;这反过来又使整个系统的解决方案取得进展。我们将重新审视这种情况,我将在下一章中为它提供一个更正式的定义。

九、总结

        在本章中,我们学习了:

  • 线性方程:具有一个或多个变量的方程,其中方程的次数必须等于 1。
  • 线性方程组:线性方程组的集合。
  • 一个或多个线性方程组的解:线性系统要么没有解,要么有唯一的解,要么有无限的解。
  • 矩阵表示法:矩形数组,用作表示线性系统的压缩方式。
  • 行操作:替换、交换和缩放操作允许我们将矩阵转换为已消除足够多的未知变量来为系统求解的矩阵。
  • 求解线性系统:一种系统的方法,用于查找 a) 给定线性系统是否存在解,以及 b) 如果存在解,它们的确切值是多少。

参考资料:

数学

数学

线性代数

Linear Algebra 1: Linear Equations and Systems | by tenzin migmar (t9nz) | Sep, 2023 | Towards Data Science (medium.com)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Overload游戏引擎细节分析】standard材质Shader

提示&#xff1a;Shader属于GPU编程&#xff0c;难写难调试&#xff0c;阅读本文需有一定的OpenGL基础&#xff0c;可以写简单的Shader&#xff0c;不适合不会OpenGL的朋友 一、Blinn-Phong光照模型 Blinn-Phong光照模型&#xff0c;又称为Blinn-phong反射模型&#xff08;Bli…

苹果将于8月31日举行今秋的第二场发布会

在今日凌晨&#xff0c;苹果宣布&#xff0c;将于北京时间10月31日早上8点举行今秋的第二场发布会&#xff0c;主题为“来势迅猛”。据多方猜测苹果本次活动的核心产品大概率是搭载全新M3芯片的Mac系列产品。 据了解&#xff0c;在苹果的产品线中&#xff0c;搭载M3芯片的Mac系…

Stable Diffusion WebUI扩展canvas-zoom详细讲解

canvas-zoom这是什么? 这是一个针对画布做一些操作的工具,比如缩放等。 下面来详细说一下这些操作的热键。 重要的热键: 缩放(Alt+滚轮)、移动画布 (F)、全屏 (S) 和重置缩放 (R) (1)Shift + wheel - 缩放画布 按住Shift + 滚轮之后,一点反应都没有,之后按…

vue3检测是手机还是pc端,监测视图窗口变化

1.超小屏幕&#xff08;手机&#xff09; 768px以下 2.小屏设备&#xff08;平板&#xff09; 768px-992px 3.中等屏幕&#xff08;旧式电脑&#xff09; 992px-1200px 4.大屏设备&#xff08;现代电脑&#xff09; 1200px以上 <script setup name"welcome"> i…

Games104现代游戏引擎笔记 网络游戏架构基础

挑战1:网络同步 挑战2:是网络的可靠性&#xff0c;包括应对网络的延迟&#xff0c;丢包和掉线 挑战3: 反作弊和安全系统&#xff0c;因为网络游戏的本质是经济系统 挑战4:多样性(不同设备&#xff0c;不同服务器)&#xff0c;在不停服的情况下热更新 挑战5:大量人数时对高并发…

为什么POST请求经常发送两次?

大多数初级前端程序员&#xff0c;在通过浏览器F12的调试工具调试网络请求时&#xff0c;可能都会有一个发现&#xff0c;在进行POST请求时&#xff0c;明明代码里只请求了一次&#xff0c;为什么network里发送了两次呢&#xff0c;难道我代码出bug了&#xff1f;带着疑问点开第…

javascript原生态xhr上传多个图片,可预览和修改上传图片为固定尺寸比例,防恶意代码,加后端php处理图片

//前端上传文件 <!DOCTYPE html> <html xmlns"http://www.w3.org/1999/xhtml" lang"UTF-8"></html> <html><head><meta http-equiv"Content-Type" content"text/html;charsetUTF-8;"/><title…

npm改变npm缓存路径和改变环境变量

在安装nodejs时&#xff0c;系统会自动安装在系统盘C&#xff0c; 时间久了经常会遇到C盘爆满&#xff0c;有时候出现红色&#xff0c;此时才发现很多时候是因为npm 缓存保存在C盘导致的&#xff0c;下面就介绍下如何改变npm缓存路径。 1、首先找到安装nodejs的路径&#xff0c…

【微信小程序】实现投票功能(附源码)

一、Vant Weapp介绍 Vant Weapp 是一个基于微信小程序的组件库&#xff0c;它提供了丰富的 UI 组件和交互功能&#xff0c;能够帮助开发者快速构建出现代化的小程序应用。Vant Weapp 的设计理念注重简洁、易用和高效&#xff0c;同时提供灵活的定制化选项&#xff0c;以满足开发…

【Redis】redis 十大数据类型 概述

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ redis十大数据类型 一、redis字符串&#xff0…

jenkins配置gitlab凭据

下载Credentials Binding插件&#xff08;默认是已经安装了&#xff09; 在凭据配置里添加凭据类型 点击保存 Username with password&#xff1a; 用户名和密码 SSH Username with private 在凭据管理里面添加gitlab账号和密码 点击全局 点击添加凭据&#xff08;版本不同…

Spring实例化源码解析之Bean的实例化(十二)

前言 本章开始分析finishBeanFactoryInitialization(beanFactory)方法&#xff0c;直译过来就是完成Bean工厂的初始化&#xff0c;这中间就是非lazy单例Bean的实例化流程。ConversionService在第十章已经提前分析了。重点就是最后一句&#xff0c;我们的bean实例化分析就从这里…

数据结构——栈与队列

目录 1. 中缀表达式转换为后缀表达式 2. 括号匹配问题 3. 栈实现队列 4. 约瑟夫环 1. 中缀表达式转换为后缀表达式 【问题描述】 输入一个中缀表达式&#xff0c;表达式中有、-、*、/四种运算以及&#xff08;、&#xff09;&#xff0c;表达式中的其他符号为大写的字母。实…

互联网Java工程师面试题·Spring篇·第五弹

目录 1、什么是 spring? 2、使用 Spring 框架的好处是什么&#xff1f; 3、Spring 由哪些模块组成? 4、核心容器&#xff08;应用上下文) 模块。 5、BeanFactory – BeanFactory 实现举例。 6、XMLBeanFactory 7、解释 AOP 模块 8、解释 JDBC 抽象和 DAO 模块。 9、…

javaEE -7(网络原理初识 --- 7000字)

一&#xff1a;网络初识 计算机的独立模式是指多台计算机在网络中相互独立运行&#xff0c;彼此之间不共享资源或信息。在早期&#xff0c;计算机主要采用独立模式&#xff0c;每台计算机都拥有自己的操作系统、应用程序和数据&#xff0c;它们之间没有直接的连接或通信。 在…

【Spring Boot 源码学习】HttpEncodingAutoConfiguration 详解

Spring Boot 源码学习系列 HttpEncodingAutoConfiguration 详解 引言往期内容主要内容1. CharacterEncodingFilter2. HttpEncodingAutoConfiguration2.1 加载自动配置组件2.2 过滤自动配置组件2.2.1 涉及注解2.2.2 characterEncodingFilter 方法2.2.3 localeCharsetMappingsCus…

【开源框架】Glide的图片加载流程

引入依赖 以下的所有分析都是基于此版本的Glide分析 //引入第三方库glide implementation com.github.bumptech.glide:glide:4.11.0 annotationProcessor com.github.bumptech.glide:compiler:4.11.0分析 Glide的使用就是短短的一行代码 Glide.with(this).load("xxx&q…

01.MySQL(SQL分类及使用)

注意&#xff1a;DML只是进行增删改&#xff0c;DQL才有查询 分类全称说明DDLData Definition Language数据定义语言&#xff0c;用来定义数据库对象&#xff08;数据库&#xff0c;表&#xff0c;字段&#xff09;DMLData Manipulation Language数据操作语言&#xff0c;用来…

STM32-通用定时器

通用定时器 通用定时器由一个可编程预分频器驱动的16位自动重新加载计数器组成。应用&#xff1a;测量输入的脉冲长度信号&#xff08;输入捕获&#xff09;、产生输出波形&#xff08;输出比较和PWM&#xff09;。 脉冲长度和波形周期可以从几微秒调制到几毫秒&#xff0c;使用…

*Django中的Ajax 纯js的书写样式1

搭建项目 建立一个Djano项目&#xff0c;建立一个app&#xff0c;建立路径&#xff0c;视图函数大多为render, Ajax的创建 urls.py path(index/,views.index), path(index2/,views.index2), views.py def index(request):return render(request,01.html) def index2(requ…