线性代数基础2矩阵

news2024/12/26 11:43:46

矩阵是什么
矩阵就是二维数组,下面是一个 m 乘 n 的矩阵,它有 m 行,n 列,每行每列上面都有元素,每个元素都有行标i 和列标 j, a ij 。简称m × n矩阵,记作:
在这里插入图片描述
注意a11的索引是 A[0,0]。
这 m×n 个数称为矩阵 A 的元素,简称为元,数aij
位于矩阵 A 的第 i 行第 j 列,称为矩阵 A 的 (i,j) 元,m×n 矩阵 A 也记作 A mn 。

常见矩阵
方阵
如果 m 等于 n,那就称为方阵
在这里插入图片描述
对称矩阵
定义是 a ij 等于 a ji 那么就是对称矩阵,对称矩阵首先是个方阵
在这里插入图片描述
单位矩阵
主对角线都是 1,其它位置是 0,这称之为单位矩阵,单位矩阵写为 I,一定是方阵,等同于数字里面的 1。
在这里插入图片描述
对角矩阵
对角矩阵,就是主对角线非 0,其它位置是 0。
对角矩阵一定是方阵。不然没有对角线!

矩阵运算
矩阵加减法
矩阵的加法就是矩阵的对应位置相加,减法也是一样就是对应位置相减。
在这里插入图片描述
数乘在这里插入图片描述
矩阵乘法
矩阵的乘法和一般的乘法是不太一样!
它是把第一个矩阵的每一行,和第二个矩阵的每一列拿过来做内积得到结果。
在这里插入图片描述
在这里插入图片描述
矩阵乘法运算结果
在这里插入图片描述
矩阵转置
转置的操作和向量是一样的,就是把 a ij变成 a ji ,把行和列互换一下
在这里插入图片描述
矩阵运算法则
矩阵加减法
满足:分配律、结合律、交换律
在这里插入图片描述
矩阵乘法
满足结合律在这里插入图片描述
满足分配律在这里插入图片描述
不满足交换律:不一定相等,甚至 AB 的尺寸和 BA 的尺寸是不同的。
在这里插入图片描述
矩阵乘法 + 转置

在这里插入图片描述

逆矩阵
逆矩阵定义
矩阵有 AB 乘法,但是没有 A/B 这么一说,只有逆矩阵。
逆矩阵怎么定义的?
假设有个矩阵 A,注意它一定是方阵(必须是方阵),乘以矩阵 B 等于单位矩阵I:在这里插入图片描述
那么我们称这里的 B 为 A 的右逆矩阵,和左逆矩阵。

有个很重要的结论就是,如果这样的 B 存在的话,它的左逆和右逆一定相等,统称为 A 的逆矩阵 A −1 。则:A=B−1 B=A−1 (-1次方)
逆矩阵作用
矩阵求逆有什么用呢?它可以帮助我们解线性方程组,比如 XW=Y 。两边同时乘以 X 的逆:在这里插入图片描述
就可以求解出方程的系数,它发明的目的也是干这样的事情用的。
举例说明:

# 三元一次方程
# 3x + 2y + 4z = 19
# 2x -y + 3z = 9
# x + y - z = 0
import numpy as np
X = np.array([[3,2,4],[2,-1,3],[1,1,-1]])
Y = np.array([19,9,0])

display(X,Y)

# np.linalg.inv表示矩阵求逆
# dot表示矩阵乘法
W = np.linalg.inv(X).dot(Y)
print('求解方程得x,y,z为:',W)
'''
array([[ 3,  2,  4],
       [ 2, -1,  3],
       [ 1,  1, -1]])
array([19,  9,  0])
求解方程得x,y,z为: [1. 2. 3.]
'''

从这里我们也可以看出来单位矩阵像我们乘法里面的 1。
逆矩阵相关公式:在这里插入图片描述

伴随矩阵
伴随矩阵定义
设有一矩阵 A在这里插入图片描述
设 A ij 是矩阵A中元素 a ij 的代数余子式,那么矩阵 A ∗称为矩阵 A 的伴随矩阵
代数余子式
1、代数余子式定义在这里插入图片描述
2、代数余子式计算在这里插入图片描述
计算过程如下:在这里插入图片描述
伴随矩阵性质I,E都表示单位矩阵
伴随矩阵与逆矩阵
在这里插入图片描述
根据上式可得:在这里插入图片描述

import numpy as np
# 声明矩阵
A = np.array([
    [1,2,3],
    [2,2,1],
    [3,4,3]])
A_bs = [] # 伴随矩阵
n = 3 # A方阵的行、列数量
for i in range(n):
    for j in range(n):
        row = [0,1,2] # 行索引
        col = [0,1,2] # 列索引
        row.remove(i) # 去除行
        col.remove(j) # 去除列
        # 代数余子式
        A_ij = A[np.ix_(row,col)]
        A_bs.append(((-1)**(i+j)) * np.linalg.det(A_ij))
A_bs = np.array(A_bs).reshape(3,3).T
print('根据伴随矩阵求逆矩阵:\n',A_bs/np.linalg.det(A))
print('用NumPy模块求逆矩阵 :\n',np.linalg.inv(A))
'''
根据伴随矩阵求逆矩阵:
 [[ 1.   3.  -2. ]
 [-1.5 -3.   2.5]
 [ 1.   1.  -1. ]]
用NumPy模块求逆矩阵 :
 [[ 1.   3.  -2. ]
 [-1.5 -3.   2.5]
 [ 1.   1.  -1. ]]
'''

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

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

相关文章

多模态视觉语言模型:BLIP和BLIP2

1. BLIP BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation BLIP的总体结构如下所示,主要包括三部分: 单模态编码器(Image encoder/Text encoder):分别进…

论文笔记:UrbanGPT: Spatio-Temporal Large Language Models

1 intro 时空预测的目标是预测并洞察城市环境随时间和空间不断变化的动态。其目的是预见城市生活多个方面的未来模式、趋势和事件,包括交通、人口流动和犯罪率。虽然已有许多努力致力于开发神经网络技术,以准确预测时空数据,但重要的是要注意…

卷王问卷考试系统/SurveyKing调查系统源码

SurveyKing是一个功能强大的开源调查问卷和考试系统,它能够快速部署并适用于各个行业。 这个系统提供了在线表单设计、数据收集、统计和分析等功能,支持20多种题型,提供多种创建问卷的方式和设置。 项 目 地 址 : runruncode.c…

[阅读笔记16][Orca-2]Teaching Small Language Models How to Reason

接下来是Orca-2,这篇是微软在23年11月发表的论文,在Orca-1的基础上又进行了一些改进。 作者希望教会Orca-2各种推理策略,例如逐步思考、回忆然后回答、先回忆再推理再回答、直接生成回答等等策略。并且Orca-2应该能针对不同任务应该使用最合适…

安装Zipkin

官网:https://zipkin.io/pages/quickstart.html Jar包方式 下载 方式一:百度网盘下载 链接:https://pan.baidu.com/s/1PRV1RamJ8IWX32IJb7jw3Q?pwde8vu 提取码:e8vu 方式二:Central Repository: io/zipkin/zipk…

linux离线安装mysql

一、下载mysql 地址:MySQL 这里选择64为还是32为要根据操作系统来 uname -m 二、上传解压配置mysql 使用root账户登录linux服务器,在opt文件下创建mysql文件夹 cd /opt sudo mkdir mysql 使用Xftp上传mysql压缩包到此文件夹下(自行决定路径) cd mysql/…

李宏毅2022机器学习/深度学习 个人笔记(2)

本系列用于推导、记录该系列视频中本人不熟悉、或认为有价值的知识点 本篇记录第一讲(选修):神奇宝贝分类(续) 如图,boundary变为直线,结果也有上升 我们不一定采用高斯几率模型,…

【C++初识继承】

博主首页: 有趣的中国人 专栏首页: C进阶 本篇文章主要讲解 继承 的相关内容 目录 1. 继承的概念和定义 1.1 继承的概念 1.2 继承的定义 1.2.1 继承定义格式 1.2.2 继承方式与访问修饰限定符 2. 基类和派生类对象赋值转换 3. 继承中的作用域 …

NIMAX下载安装使用,pyvisa基本使用

NIMAX部分: 1、先在NI官网下载系统配置和NI-VISA: 系统配置: https://www.ni.com/zh-cn/support/downloads/drivers/download.system-configuration.html#532687https://www.ni.com/zh-cn/support/downloads/drivers/download.system-conf…

机器学习基本流程

Jupyter Notebook 代码连接: machine_learning_demo machine_learning_ensembles Step 1: Imports and Configuration import pandas as pd import numpy as np import copy import json import pickle import joblib import lightgbm as lgb import optuna impor…

IDEA插件:CodeGeex

前言 CodeGeeX是由清华大学和智谱AI联合开发的多语言代码生成模型。CodeGeeX是一款AI编程助手,其功能类似于Github Copilot、Codeium、CodeWhisperer、Bito等智能编程助手。CodeGeeX支持Python、C、Java、JavaScript、Go等10多种主流编程语言。它可以帮助程…

【小程序】IOS wx小程序解压获取源文件

根据自己手机的系统,获取wx小程序的缓存目录 一、微信小程序文件存放路径 安卓: /data/data/com.tencent.mm/MicroMsg/{{user哈希值}}/appbrand/pkg/iOS越狱: /User/Containers/Data/Application/{{系统UUID}}/Library/WechatPrivate/{{user…

unity学习(89)——unity塞满c盘!--删除editor下的log文件

卸了一个视频后强制续命打开详细信息: 这个再往下找也是没用的! 显示隐藏文件夹后!执行如下操作! 30个g! 其中unity占23g editer占了21g 删除C:\Users\王栋林\AppData\Local\Unity\Editor下的log文件 恢复到之前的水…

建筑楼宇VR火灾扑灭救援虚拟仿真软件厂家

在传统消防安全教育方式中,往往存在内容枯燥、参与度低和风险大等问题,使得消防安全知识难以深入人心。然而,借助VR消防安全逃生教育系统,我们可以打破这一困境,为公众带来前所未有的学习体验。 VR消防安全逃生教育系统…

【后端】Thymeleaf模板引擎学习笔记

文章目录 1. java体系模板引擎介绍2. 使用2.1 初步使用 视频地址 1. java体系模板引擎介绍 FreeMarkerThymeleafVelocity 2. 使用 2.1 初步使用 引入依赖 <dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf</artifactId><…

SpringBoot学习之Kafka下载安装和启动(三十三)

一、Mac环境 1、下载Kafka&#xff1a;Apache Kafka 2、这里我选择的版本是kafka_2.12-3.7.0&#xff0c;下载最新版的Kafka二进制文件&#xff0c;解压到你喜欢的目录&#xff08;建议目录不要带中文&#xff09;。 3、启动ZooKeeper服务&#xff0c;Kafka需要使用ZooKeeper&…

Claude 3 Opus 效果是否真的可以超过GPT-4?

实测,不仅是超过,而且我个人感觉这个差距甚至大于GPT3.5到GPT4的距离. claude3在长篇理学论文的解析能力是非常显著的,可以扩展补完作者省略的大量运用高等数学,复变函数以及更多数理方法的计算过程,并且将中间过程补完的非常完美.不会漏符号,错符号,偏差数值之类的问题.工科许…

【网站项目】党员之家服务系统小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【BUG】前端|GET _MG_0001.JPG 404 (Not Found),hexo博客搭建过程图片路径正确却找不到图片

我的问题 我查了好多资料&#xff0c;结果原因是图片名称开头是_则该文件会被忽略。。。我注意到网上并没有提到这个问题&#xff0c;遂补了一下这篇博客并且汇总了我找到的所有解决办法。 具体检查方式&#xff1a; hexo生成一下静态资源&#xff1a; hexo g会发现这张图片…

嵌入式linux中利用QT控制蜂鸣器方法

大家好,今天给大家分享一下,如何控制开发板上的蜂鸣器。 第一:开发板原理图 从原理图中可以得出,当引脚输出低电平的时候,对应的蜂鸣器发出响声。 第二:QT代码详细实现 设置一个按钮,点击即可控制BEEP状态发生反转。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#in…