当前位置: 首页 > news >正文

按行分块和按列分块

前置知识:

  • 【定义】分块矩阵
  • 分块矩阵的运算规则

m × n m \times n m×n 矩阵 A \boldsymbol{A} A n n n 列,称为矩阵 A \boldsymbol{A} A n n n 个列向量。若第 j j j 列记作
a j = ( a 1 j a 2 j ⋮ a m j ) \boldsymbol{a}_j = \begin{pmatrix} a_{1j} \\ a_{2j} \\ \vdots \\ a_{mj} \end{pmatrix} aj= a1ja2jamj
A \boldsymbol{A} A 可按列分块为
A = ( a 1 , a 2 , ⋯   , a n ) \boldsymbol{A} = (\boldsymbol{a}_1,\boldsymbol{a}_2,\cdots,\boldsymbol{a}_n) A=(a1,a2,,an)
m × n m \times n m×n 矩阵 A \boldsymbol{A} A m m m 行,称为矩阵 A \boldsymbol{A} A m m m 个行向量。若第 i i i 行记作
α i T = ( a i 1 , a i 2 , ⋯   , a i n ) \boldsymbol{\alpha}_i^T = (a_{i1},a_{i2},\cdots,a_{in}) αiT=(ai1,ai2,,ain)
A \boldsymbol{A} A 可按行分块为
A = ( α 1 T α 2 T ⋮ α m T ) \boldsymbol{A} = \begin{pmatrix} \boldsymbol{\alpha}_1^T \\ \boldsymbol{\alpha}_2^T \\ \vdots \\ \boldsymbol{\alpha}_m^T \\ \end{pmatrix} A= α1Tα2TαmT

(1)通过矩阵的按行分块和按列分块,可以直观地表示,在矩阵乘法 A B = C = ( c i j ) m × n \boldsymbol{A} \boldsymbol{B} = \boldsymbol{C} = (c_{ij})_{m \times n} AB=C=(cij)m×n 中, c i j c_{ij} cij A \boldsymbol{A} A 中的一个行向量与 B \boldsymbol{B} B 中的一个列向量的乘积。

对于矩阵 A = ( a i j ) m × s \boldsymbol{A} = (a_{ij})_{m \times s} A=(aij)m×s 与矩阵 B = ( b i j ) s × n \boldsymbol{B} = (b_{ij})_{s \times n} B=(bij)s×n 的乘积矩阵 A B = C = ( c i j ) m × n \boldsymbol{A} \boldsymbol{B} = \boldsymbol{C} = (c_{ij})_{m \times n} AB=C=(cij)m×n,若把 A \boldsymbol{A} A 按行分成 m m m 块,将 B \boldsymbol{B} B 按列分成 n n n 块,便有
A B = ( α 1 T α 2 T ⋮ α m T ) ( b 1 , b 2 , ⋯   , b n ) = ( α 1 T b 1 α 1 T b 2 ⋯ α 1 T b n α 2 T b 1 α 2 T b 2 ⋯ α 2 T b n ⋮ ⋮ ⋮ α m T b 1 α m T b 2 ⋯ α m T b n ) = ( c i j ) m × n \boldsymbol{A} \boldsymbol{B} = \begin{pmatrix} \boldsymbol{\alpha}_1^T \\ \boldsymbol{\alpha}_2^T \\ \vdots \\ \boldsymbol{\alpha}_m^T \end{pmatrix} (\boldsymbol{b}_1, \boldsymbol{b}_2, \cdots, \boldsymbol{b}_n) = \begin{pmatrix} \boldsymbol{\alpha}_1^T \boldsymbol{b}_1 & \boldsymbol{\alpha}_1^T \boldsymbol{b}_2 & \cdots & \boldsymbol{\alpha}_1^T \boldsymbol{b}_n \\ \boldsymbol{\alpha}_2^T \boldsymbol{b}_1 & \boldsymbol{\alpha}_2^T \boldsymbol{b}_2 & \cdots & \boldsymbol{\alpha}_2^T \boldsymbol{b}_n \\ \vdots & \vdots & & \vdots \\ \boldsymbol{\alpha}_m^T \boldsymbol{b}_1 & \boldsymbol{\alpha}_m^T \boldsymbol{b}_2 & \cdots & \boldsymbol{\alpha}_m^T \boldsymbol{b}_n \\ \end{pmatrix} = (c_{ij})_{m \times n} AB= α1Tα2TαmT (b1,b2,,bn)= α1Tb1α2Tb1αmTb1α1Tb2α2Tb2αmTb2α1Tbnα2TbnαmTbn =(cij)m×n
其中
c i j = α i T b j = ( a i 1 , a i 2 , ⋯   , a i s ) ( b 1 j b 2 j ⋮ b s j ) = ∑ k = 1 s a i k b k j c_{ij} = \boldsymbol{\alpha}_i^T \boldsymbol{b}_j = (a_{i1},a_{i2},\cdots,a_{is}) \begin{pmatrix} b_{1j} \\ b_{2j} \\ \vdots \\ b_{sj} \end{pmatrix} = \sum_{k=1}^s a_{ik} b_{kj} cij=αiTbj=(ai1,ai2,,ais) b1jb2jbsj =k=1saikbkj
(2)通过将矩阵乘法中的矩阵按行分块和按列分块,可以得到线性方程组的另一个表达式。

已知线性方程组
{ a 11 x 1 + a 12 x 2 + ⋯ a 1 n x n = b 1 a 21 x 1 + a 22 x 2 + ⋯ a 2 n x n = b 2 ⋯ a m 1 x 1 + a m 2 x 2 + ⋯ a m n x n = b m (1) \begin{cases} a_{11} x_1 + a_{12} x_2 + \cdots a_{1n} x_n = b_1 \\ a_{21} x_1 + a_{22} x_2 + \cdots a_{2n} x_n = b_2 \\ \cdots \\ a_{m1} x_1 + a_{m2} x_2 + \cdots a_{mn} x_n = b_m \end{cases} \tag{1} a11x1+a12x2+a1nxn=b1a21x1+a22x2+a2nxn=b2am1x1+am2x2+amnxn=bm(1)
它的矩阵乘积形式为
A m × n x n × 1 = b m × 1 \boldsymbol{A}_{m \times n} \boldsymbol{x}_{n \times 1} = \boldsymbol{b}_{m \times 1} Am×nxn×1=bm×1
将上式中 A \boldsymbol{A} A 按列分块, x \boldsymbol{x} x 按行分块,由分块矩阵的乘法有
( a 1 , a 2 , ⋯   , a n ) ( x 1 x 2 ⋮ x n ) = b (\boldsymbol{a}_1,\boldsymbol{a}_2,\cdots,\boldsymbol{a}_n) \begin{pmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{pmatrix} = \boldsymbol{b} (a1,a2,,an) x1x2xn =b

x 1 a 1 + x 2 a 2 + ⋯ x n a n = b x_1 \boldsymbol{a}_1 + x_2 \boldsymbol{a}_2 + \cdots x_n \boldsymbol{a}_n = \boldsymbol{b} x1a1+x2a2+xnan=b
这等价于将方程组表示为
( a 11 a 21 ⋮ a m 1 ) x 1 + ( a 12 a 22 ⋮ a m 2 ) x 2 + ⋯ + ( a 1 n a 2 n ⋮ a m n ) x n = ( b 1 b 2 ⋮ b m ) \begin{pmatrix} a_{11} \\ a_{21} \\ \vdots \\ a_{m1} \end{pmatrix} x_1 + \begin{pmatrix} a_{12} \\ a_{22} \\ \vdots \\ a_{m2} \end{pmatrix} x_2 + \cdots + \begin{pmatrix} a_{1n} \\ a_{2n} \\ \vdots \\ a_{mn} \end{pmatrix} x_n = \begin{pmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{m} \end{pmatrix} a11a21am1 x1+ a12a22am2 x2++ a1na2namn xn= b1b2bm

相关文章:

  • 【Vue3】穿梭框 -- 思路与实现分析
  • SpringBoot读取yml配置文件
  • 制胜充电桩下半场,特来电、星星充电们要靠运营?
  • 使用Keras Tuner进行自动超参数调优的实用教程
  • Vue2.0到3.0的过渡,setup,ref函数,reactive函数,计算属性computed、监听属性watch
  • Springboot毕设项目基于Springboot的手机电商网站lmo47(java+VUE+Mybatis+Maven+Mysql)
  • springboot-rabbitmq-reply 消息直接回复模式
  • “查找”学习提纲(二)——树型查找和散列查找
  • 5-8 uni-app 全端离线本地存储方案
  • 三维感知/三维生成与重建讲座笔记( GAMES Webinar 246期)
  • EarlyStopping
  • 北京十大律师事务所排名前十名更新(2022最新发布)
  • 马克思主义基本原理
  • 七、JavaScript:DOM对象、元素选择器
  • Rstudio必用快捷键
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  •  D - 粉碎叛乱F - 其他起义
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • js学习笔记
  • Octave 入门
  • PHP CLI应用的调试原理
  • Python - 闭包Closure
  • select2 取值 遍历 设置默认值
  • TypeScript迭代器
  • 后端_MYSQL
  • 你不可错过的前端面试题(一)
  • 深度学习在携程攻略社区的应用
  • 微服务核心架构梳理
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 用Visual Studio开发以太坊智能合约
  • 我们雇佣了一只大猴子...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #QT(智能家居界面-界面切换)
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三
  • (SpringBoot)第二章:Spring创建和使用
  • (第61天)多租户架构(CDB/PDB)
  • (二十四)Flask之flask-session组件
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)ssm高校实验室 毕业设计 800008
  • (利用IDEA+Maven)定制属于自己的jar包
  • (十三)Flask之特殊装饰器详解
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)大型网站的系统架构
  • (转)母版页和相对路径
  • .Net CF下精确的计时器
  • .NET NPOI导出Excel详解
  • .net下的富文本编辑器FCKeditor的配置方法
  • /etc/motd and /etc/issue
  • []T 还是 []*T, 这是一个问题
  • [20150629]简单的加密连接.txt