矩阵乘法的结合律的证明

news2024/9/23 17:25:27

       矩阵的乘法在矩阵运算中相较于加法更加复杂,对矩阵乘法的运算律的证明也更复杂,但其中对结合律的证明是最难的,因为它涉及到3个矩阵的相乘。本证明不同于其他一些比较粗浅的用方阵去证明或者用三个含很少元素的简单矩阵做一个例证,而是用纯代数的知识做一个纯粹的证明,当然实际上它的证明也不难,并没有超出高中代数的范畴。矩阵代数本身也不难,但发明矩阵代数的人绝对是天才。

      设A是一个m行s列的矩阵,B是一个s行n列的矩阵,C是一个n行t列的矩阵,证明(AB)C = A(BC)

     证明:我们用 (a_{ij})_{m \times s}来表示矩阵A, $a_{ij}$是A的第i行j列的元素,类似得矩阵B我们用 (b_{ij})_{s \times n}来表示,矩阵C我们用 (c_{ij})_{n \times t}来表示。

      根据矩阵乘法可知(AB)C和A(BC)都是m行t列的矩阵,(AB)C我们用 (v_{ij})_{m \times t}来表示,A(BC)我们用 (w_{ij})_{m \times t}来表示,要证明(AB)C = A(BC),只需要证明 v_{ij}w_{ij}即可。要证明这一点,我们面临三个问题,1)如何得到(AB)C的元素 v_{ij}?2)如何得到A(BC)的元素w_{ij}?3)如何证明  v_{ij}w_{ij}

      (AB)C的元素v_{ij}是用AB的第i行和C的第j列相乘得到,而AB的第i行是用A的第i行和B的所有列相乘得到,用求和公式表达如下:v_{ij}  =  \sum _{l=1} ^{n} \left(\sum _{k=1} ^{s} a_{ik} b_{kl}\right) * c_{lj}  ,根据加法和乘法的分配律我们可以把c_{lj}放到里面那个求和的式子中得v_{ij}  = \sum _{l=1} ^{n} \sum _{k=1} ^{s} a_{ik} b_{kl}c_{lj}

       A(BC)的元素w_{ij}是用A的第i行和BC的第j列相乘得到,而BC的第j列是用B的所有行和C的第j列相乘得到,用求和公式表达如下:w_{ij}  =  \sum _{k=1} ^{s} a_{ik} * \left( \sum _{l=1} ^{n} b_{kl}c_{lj} \right),同样根据加法和乘法的分配律我们可以把c_{lj}放到里面那个求和的式子中得w_{ij}  = \sum _{k=1} ^{s} \sum _{l=1} ^{n} a_{ik} b_{kl}c_{lj}

      那么 v_{ij}w_{ij}?感觉是相等的,但确实是相等的,这里的i和j可取任意的可选的值,选定了之后我们把它们看成常量值,就可以用e_{kl} 来代换 a_{ik} b_{kl}c_{lj}于是v_{ij}  =  \sum _{l=1} ^{n} \sum _{k=1} ^{s} e_{kl},  w_{ij} =  \sum _{k=1} ^{s} \sum _{l=1} ^{n} e_{kl},这就很明显了,一个是矩阵的按列求所有元素的和一个是矩阵的按行求所有元素的和的式子, v_{ij}w_{ij}成立,于是矩阵乘法的结合律成立。

       矩阵的乘法的结合律成立之后,就可以去证明一系列的n阶矩阵(方阵)的幂运算的运算律,比如 A ^k A ^l = A ^{k+l}(A^k)^l = A^{kl}。同时n阶矩阵A和B如果可交换,也可以去证明一些涉及到A、B的运算律,比如(AB)^k = A^kB^k(A+B)^2 = A^2 + 2AB + B^2(A - B)(A + B) = A^2 - B^2

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

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

相关文章

App渗透测试(工具使用)

Python工具 在文件中打开终端,执行如下命令进行装库。 python3 -m pip install -r txt文件 执行如下命令扫描 python3 .py -i apk文件

Docker最佳实践(七):安装MinIO文件服务器

大家好,欢迎各位工友。 Minio是一个开源免费的高性能对象存储服务器,专为大规模数据集和高并发访问而设计。它具有出色的读写性能和低延迟,可以满足对数据速度和效率要求较高的应用场景。本篇呢我们就来演示一下如何在Docker中搭建Minio容器&…

MySQL数据库基础:约束

💎我的主页:MySQL 💎1. 约束的概述 约束是作用于表中字段的规则,用于限制存储在表中的数据 目的:保证数据库中数据的正确性,有效性和完整性 💎2. 约束的分类 💎2.1 非空约束 非空…

linux之top

要在 Linux 系统上查看 CPU 使用情况,可以使用top命令: 根据您提供的 top 命令的输出,我们可以看到系统的一些基本信息和当前运行的进程。下面是输出的主要部分的解释: 仅供参考: 系统概述: 时间:当前时间…

MATLAB(R和C++)大肠杆菌合成生物机械数学模型

🎯要点 🎯合成大肠杆菌生物学网络 | 🎯量化基因型-表型图 | 🎯化学诱导离散浓度下培养细菌评估整个浓度范围内的表达模式 | 🎯定性更改合成模型拓扑结构、定量更改相互作用的强度 | 🎯开发机械数学模型 | …

新增题目同步到ES

文章目录 🌞 Sun Frame:SpringBoot 的轻量级开发框架(个人开源项目推荐)🌟 亮点功能📦 spring cloud模块概览常用工具 🔗 更多信息1.创建ES的索引和映射1.创建索引2.创建映射 2.sun-club-infra …

C语言 ——— 学习、使用memmove函数 并模拟实现

目录 memmvoe函数的功能 学习memmove函数​编辑 模拟实现memmove函数 memmvoe函数的功能 memmvoe函数的功能类似于memcpy函数,都是内存拷贝,唯一的区别是memcpy函数不能成功拷贝原数据,而memmvoe函数可以 举例来说: [1, 2, 3…

【Material-UI】Checkbox 组件自定义详解

文章目录 一、Checkbox 组件概述1. 组件介绍2. 基本用法 二、Checkbox 组件的基本自定义1. 更改复选框的颜色2. 调整复选框的大小 三、Checkbox 组件的高级自定义1. 自定义图标2. 自定义复选框的边框和形状 四、使用主题进行全局自定义1. 定义全局主题2. 动态主题切换 五、总结…

springboot整合springmvc使用外置的Servlet容器

目录 1. 创建2. 配置3. 配置Tomcat4. 心得 1. 创建 2. 配置 首先创建两个文件夹 配置: 3. 配置Tomcat 右上角的按钮 添加 保证这几个不冲突,保证你的tomcat的文件没问题!!! 点击部署 选择第二个war exploded…

零基础5分钟上手谷歌云GCP核心云开发技能 - 搭建和维护高可用数据库集群

简介: 欢迎来到小李哥全新谷歌云GCP云计算知识学习系列,适用于任何无云计算或者谷歌云技术背景的开发者,让大家零基础5分钟通过这篇文章就能完全学会谷歌云一个经典的服务开发架构方案。 我将每天介绍一个基于全球三大云计算平台&#xff0…

GPT解逻辑数学题之8个8变1000的故事

目录 初试正解 我: GPT4: 再问思索 我: GPT4: 提醒错误 我: GPT4: 给出正解提示 我: GPT4: 不愿放弃 我: GPT4: 再次尝试 我: …

Web开发:web服务器-Nginx的基础介绍(含AI文稿)

目录 一、Nginx的功能: 二、正向代理和反向代理的区别 三、Nginx负载均衡的主要功能 四、nginx安装目录下的各个文件(夹)的作用: 五、常用命令 一、Nginx的功能: 1.反向代理:例如我有三台服务器&#x…

Linux源码阅读笔记20-PCI设备驱动详解

PCI基础 PCI总线为高性能局部总线,主要解决外部设备之间以及外部设备与主机之间高速数据传输。在数字图形、图像等处理,以及告诉实时数据采集与处理等队数据传输速率要求高的应用中,采用PCI总线进行数据传输。PCI规范能够实现32位并行数据传…

我在高职教STM32——I2C通信入门(3)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正是如此,才有了借助CSDN平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思设计的教学课件分…

STM32G070KBT6的RTC HAL库使用

*配置问题 首先使能时钟源,这里在时钟配置中选择LSI,为什么后面会说,然后使能Calender结构体,保证可以对RTC的年月日时分秒等进行写入和读取;alarmA和alarmB是闹钟,这里不用就Disable; Tam…

突破•指针六

听说这是目录哦 数组和指针笔试题解析🫧一维数组1🍕🍕🍕🍕🍕🍕🍕 字符数组1🍔🍔🍔🍔🍔🍔🍔2&#…

高并发下的分布式缓存 | Read-Through缓存模式

缓存系列文章链接如下: 高并发下的分布式缓存 | 缓存系统稳定性设计 高并发下的分布式缓存 | 设计和实现LRU缓存 高并发下的分布式缓存 | 设计和实现LFU缓存 高并发下的分布式缓存 | Cache-Aside缓存模式 Read-Through 模式的缓存操作 Read-Through模式的一个关键…

Scanner类、String类和StringBuffer类的相关使用

一、Scanner: 主要用于键盘录入的 构造方法: Scanner(InputStream source) 构造一个新的 Scanner ,产生从指定输入流扫描的值。 1、next()和nextLine()区别: String line sc.next(); // 不会接收特殊字符,比如空格回…

高效的编程学习方法和技巧

编程小白如何成为大神?大学新生的最佳入门攻略 编程已成为当代大学生的必备技能,但面对众多编程语言和学习资源,新生们常常感到迷茫。如何选择适合自己的编程语言?如何制定有效的学习计划?如何避免常见的学习陷阱&…

基于单片机的智能空气净化系统

【摘 要】 设计了一种基于单片机的智能空气净化系统。通过传感器实时采集空气中 PM2.5 、甲醛等有害健康物质的浓度,将各项数据显示到液晶显示屏,当浓度超过设置的警戒值时,控制蜂鸣器发出警报。根据浓度大小控制空气净化器电机转速&#xf…