线性代数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)

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

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

相关文章

前端下载文件

下载文件最简单的方式&#xff0c;就是后端提供一个下载地址。前端只需要a链接绑定这个下载地址即可 <a href"下载地址" download>下载</a> download也可以等于一个值&#xff0c;这个值就是文件名 但是如果后端传给我们的是一个文本或者字节流&#xf…

出差学小白知识No5:|Ubuntu上关联GitLab账号并下载项目(ssh key配置)

1 注冊自己的gitlab账户 有手就行 2 ubuntu安装git &#xff0c;并查看版本 sudo apt-get install git git --version 3 vim ~/.ssh/config Host gitlab.example.com User your_username Port 22 IdentityFile ~/.ssh/id_rsa PreferredAuthentications publickey 替换gitl…

C++多态的认识与理解

多态的概念 通俗来说&#xff0c;多态就是多种形态。具体点就是去完成某个行为&#xff0c;当不同的对象去完成时会产生出不同的状态。 比方说买高铁票时&#xff0c;如果你是学生的话&#xff0c;买票就有优惠。如果你是军人的话&#xff0c;就可以优先买票。普通人的话&…

Vue自定义指令实现按钮级的权限控制

通过v-指令&#xff0c;控制页面上的权限按钮的显示隐藏。首先是我的权限按钮数据&#xff0c;通过登录接口后端返回&#xff0c;前端将数据存在vuex里&#xff0c;在调用指令时候获取到当前页面对应的按钮权限数组&#xff0c;通过v-指令传递标识判断是否在当前页按钮权限数组…

一文了解和使用nginx(附带图文)

前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 一文了解和使用nginx 一. nginx 简介1.1 什么是 nginx 和可以做什么事情1.2 正向代理1.3 反向代理1.4 负载均衡1.5 SSL 配置1.6 管理…

代码训练营第51天:leetcode121买卖股票的最佳时机|leetcode122买卖股票的最佳时机2

leetcode121&#xff1a;买卖股票的最佳时机 文章讲解&#xff1a;leetcode121 leetcode122&#xff1a;买卖股票的最佳时机2 文章讲解&#xff1a;leetcode122 目录 1&#xff0c;leetcode121 买卖股票的最佳时机 2&#xff0c;leetcode122 买卖股票的最佳时机2 1&#xff0…

react中的函数式组件和类式组件

一、函数组件 1. 定义函数组件 在React中&#xff0c;函数组件&#xff08;Functional Component&#xff09;是一种通过纯粹的JavaScript函数定义的UI组件。函数组件采用函数的方式接收一个输入参数 props&#xff0c;并返回一个React元素或者一组React元素作为输出。定义函…

苹果官宣新品发布会 10月31日发布会与Mac有关

10 月 25 日消息&#xff0c;苹果宣布将于北京时间 10 月 31 日上午 8 点举行主题为“来势迅猛”的线上特别活动&#xff0c;届时或将有新品发布。 这场发布会与以往不同&#xff0c;将在北京时间 10 月 31 日上午 8 点举行。有很多猜测认为苹果届时会发布新款 Mac 电脑&#x…

TS的内置类型-Pick,Omit

简介 今天我们聊聊Typescript的内置工具类型&#xff0c;其中有两个类型颇为有意思。那就是 Pick (选取) 和 Omit (排除)。 核心&#xff1a;Pick 与 Omit 从现有类型中得到可复用类型 Pick 作用&#xff1f; 从类型对象中选取指定的属性类型 Omit 作用&#xff1f; 从类型…

Jenkins+Ant+Jmeter接口自动化集成测试

一、Jenkins安装配置 1、安装配置JDK1.6环境变量&#xff1b; 2、下载jenkins.war&#xff0c;放入C:\jenkins目录下&#xff0c;目录位置随意&#xff1b; Jenkins启动方法&#xff1a; cmd进入Jenkins目录下&#xff0c;执行java -jar jenkins.war 浏览器输入&#xff1a;l…

行为型模式-观察者模式

观察者模式是一种行为型设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;其所有依赖者都会收到通知并自动更新。 当对象间存在一对多关系时&#xff0c;则使用观察者模式。比如&#xff0c;当一个对象被修改时&#xff0…

JavaSE 二叉树

目录 1 树型结构1.1 概念1.2 树的表示形式1.3 树的应用 2 二叉树2.1 概念2.2 二叉树的基本形态2.3 两种特殊的二叉树2.4 二叉树的性质2.5 二叉树的存储2.6 二叉树的基本操作2.6.1 二叉树的遍历2.6.2 二叉树的基本操作 2.7 基础练习题2.7.1 二叉树的前序遍历2.7.2 二叉树中序遍历…

Vue组件的本质和手写通过render渲染函数渲染组件

1.组件的本质 组件就是一组 DOM 元素的封装&#xff0c;本质就是一个对象 (mounted函数中打印一下组件即可看到打印的是一个对象) 如何利用javascript对象来描述一个组件&#xff1f; const MyComponent {render() {return {tag: div,props: {onClick: () > alert(hell…

TensorFlow2从磁盘读取图片数据集的示例(tf.data.Dataset.list_files)

import os import warnings warnings.filterwarnings("ignore") import tensorflow as tf from tensorflow.keras.optimizers import Adam from tensorflow.keras.applications.resnet import ResNet50 from pathlib import Path import numpy as np#数据所在文件夹 …

Unity C#中LuaTable、LuaArrayTable、LuaDictTable中数据的增删改查

LuaTable、LuaArrayTable、LuaDictTable中数据的增删改查 介绍Lua表lua表初始化lua移除引用lua中向表中添加数据lua中表中移除数据lua表中连接数据lua表中数据排序获取lua表长度获取表中最大值 UnityC#中LuaTableUnityC#中LuaArrayTable、LuaDictTable、LuaDictTable<K,V>…

Java游戏修炼手册:2023 最新学习线路图

前言 有没有一种令人兴奋的学习方法&#xff1f;当然有&#xff01;绝对有&#xff01;而且我要告诉你&#xff0c;学习的快乐可以媲美游戏的刺激。 小学时代&#xff0c;我曾深陷于一款名为"八百万勇士的梦"的游戏。每当放学&#xff0c;我总是迫不及待地打开电脑&a…

ES(elasticsearch) - 三种姿势进行分页查询

1. from size 浅分页 "浅"分页可以理解为简单意义上的分页。它的原理很简单&#xff0c;就是查询前20条数据&#xff0c;然后截断前10条&#xff0c;只返回10-20的数据。这样其实白白浪费了前10条的查询。 GET test_dev/_search {"query": {"bool&…

【tg】 7 GroupInstanceCustomImpl

group GroupInstanceCustomImpl 核心GroupInstanceCustomInternal G:\CDN\P2P-DEV\tdesktop-offical\Telegram\ThirdParty\tgcalls\tgcalls\group\GroupInstanceCustomImpl.h 最核心是是GroupInstanceCustomInternal: private:std::shared_ptr<Threads> _threads;std::u…

Spring-Bean的生命周期概述

Bean的生命周期概述 入门使用的Spring代码&#xff1a; ClassPathXmlApplicationContext context new ClassPathXmlApplicationContext("spring.xml"); UserService userService (UserService) context.getBean("userService"); userService.test(); …

Node.js的readline模块 命令行交互的模块

Node.js是一个非常流行的JavaScript运行时环境&#xff0c;它提供了许多内置模块来帮助我们开发应用程序。其中之一是readline模块&#xff0c;它提供了一种简单的方法来读取用户输入并进行交互。 本文将详细介绍readline模块的API和使用案例&#xff0c;并附有代码注释。 re…