Yurchiu's Blog

Matrix

Yurchiu 2022-02-15, 23:24:29 1.4k 隐藏左右两栏 展示左右两栏

在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 ,最早来自于方程组的系数及常数所构成的方阵。这一概念由 19 世纪英国数学家凯利首先提出。

mnmn 个数 aija_{ij} 排成的 mmnn 列的数表称为 mmnn 列的矩阵。

A=[a11a12a13a1na21a22a23a2na31a32a33a3nam1am2am3amn]A= \begin{bmatrix} a_{11} & a_{12} & a_{13} & \cdots & a_{1n}\\\\ a_{21} & a_{22} & a_{23} & \cdots & a_{2n}\\\\ a_{31} & a_{32} & a_{33} & \cdots & a_{3n}\\\\ \vdots & \vdots & \vdots & \ddots & \vdots\\\\ a_{m1} & a_{m2} & a_{m3} & \cdots & a_{mn} \end{bmatrix}

LaTeX\LaTeX

A=
\begin{bmatrix}
a_{11} & a_{12} & a_{13} & \cdots & a_{1n}\\\\
a_{21} & a_{22} & a_{23} & \cdots & a_{2n}\\\\
a_{31} & a_{32} & a_{33} & \cdots & a_{3n}\\\\
\vdots & \vdots & \vdots & \ddots & \vdots\\\\
a_{m1} & a_{m2} & a_{m3} & \cdots & a_{mn}
\end{bmatrix}

前置知识

aija_{ij} 位于 AAiijj 列,称为 AA(i,j)(i,j) 元,这个矩阵可记为 (ai,j)(a_{i,j})(a_i,j)_mn(a\_{i,j})\_{mn},矩阵 AA,矩阵 AmnA_{mn}。行列数都是 nn 的矩阵称为 nn 阶矩阵。

矩阵的大小由行数和列数确定。mmnn 是矩阵的维度。只有一行的矩阵成为行向量,只有一列的矩阵称为列向量,行和列相同的矩阵称为方阵。

矩阵运算

矩阵的加减法

两个行列数均相同的矩阵 A,BA,B 可通过加减产生矩阵 CC

C=A+bcij=aij+bijC=A+b \quad\quad\quad\quad c_{ij}=a_{ij}+b_{ij}

C=Abcij=aijbijC=A-b \quad\quad\quad\quad c_{ij}=a_{ij}-b_{ij}

矩阵的数乘

数字 λ\lambda 和矩阵 AA 相乘得到矩阵 BB

B=λAbij=λaijB=\lambda A \quad\quad\quad\quad b_{ij}=\lambda a_{ij}

对于任意的实数 λ,μ\lambda,\mu 和矩阵 A,BA,BA,BA,B 行列数均相同),有:

λ(μA)=μ(λA)λ(μA)=(λμ)A(λ+μ)A=λA+μAλ(A+B)=λA+λB\begin{aligned} \lambda(\mu A)&=\mu(\lambda A)\\\\ \lambda(\mu A)&=(\lambda\mu)A \\\\ (\lambda+\mu)A&=\lambda A+\mu A\\\\ \lambda(A+B)&=\lambda A+\lambda B\\\\ \end{aligned}

矩阵的加减法和数乘运算称为矩阵的线性运算。

矩阵乘法

矩阵 AnmA_{nm}BmpB_{mp} 可进行矩阵乘法。得到的矩阵 Cnp=AnmBmpC_{np}=A_{nm}B_{mp},其中:

cij=k=1maikbkjc_{ij}=\sum_{k=1}^ma_{ik}b_{kj}

举个例子:

[102131]×[312110]=[(1×3+0×2+2×1)(1×1+0×1+2×0)(1×3+3×2+1×1)(1×1+3×1+1×0)]=[5142]\begin{aligned} &\begin{bmatrix} 1 & 0 & 2\\\\ -1 & 3 & 1 \end{bmatrix} \times \begin{bmatrix} 3 & 1\\\\ 2 & 1\\\\ 1 & 0 \end{bmatrix}\\\\\\\\ =& \begin{bmatrix} (1\times3+0\times2+2\times1) & (1\times1+0\times1+2\times0)\\\\ (-1\times3+3\times2+1\times1) & (-1\times1+3\times1+1\times0) \end{bmatrix}\\\\\\\\ =& \begin{bmatrix} 5 & 1\\\\ 4 & 2 \end{bmatrix} \end{aligned}

矩阵乘法满足以下运算律:

  • 结合律:(AB)C=A(BC)(AB)C=A(BC)
  • 左分配律:(A+B)C=AC+BC(A+B)C=AC+BC
  • 右分配律:C(A+B)=CA+CBC(A+B)=CA+CB

显然,矩阵乘法不满足交换律

转置

AA 的转置 ATA^T 通过反转 AA 的行和列得到。

A=[123456]AT=[142536]\begin{aligned} A&=\begin{bmatrix} 1 & 2 & 3\\\\ 4 & 5 & 6 \end{bmatrix}\\\\\\\\ A^T&= \begin{bmatrix} 1 & 4\\\\ 2 & 5\\\\ 3 & 6 \end{bmatrix} \end{aligned}

单位矩阵

单位矩阵 EE 的对角线都是 11,其他等于 00

EA=AEA=A

E=[1000010000100001]E= \begin{bmatrix} 1 & 0 & 0 & \cdots & 0\\\\ 0 & 1 & 0 & \cdots & 0\\\\ 0 & 0 & 1 & \cdots & 0\\\\ \vdots & \vdots & \vdots & \ddots & \vdots\\\\ 0 & 0 & 0 & \cdots & 1 \end{bmatrix}

矩阵快速幂

P3390 【模板】矩阵快速幂

运用了矩阵乘法的结合律。

模板

typedef long long ll;
const ll N=5,mod=1000000007;
struct Matrix //方阵 
{
	ll M[N][N],n;
	Matrix(ll type,ll s)//若 type 不为 0,构造一个单位矩阵
	{
		memset(M,0,sizeof(M)); n=s;
		if(type) for(ll i=1;i<=N-1;i++) M[i][i]=1;
	}
	Matrix(ll s,const ll N[])//根据数组 N 进行初始化
	{
		memset(M,0,sizeof(M)); n=s;
		for(ll i=1;i<=n;i++)
			for(ll j=1;j<=n;j++)
				M[i][j]=N[i*n-n+j-1];
	}
	void print()
	{
		for(ll i=1;i<=n;i++)
		{
			for(ll j=1;j<=n;j++)
				printf("%lld ",M[i][j]);
			printf("\n");
		}
		printf("\n");
		return;
	}
	Matrix operator*(const Matrix &N)//矩阵乘法
	{
		Matrix ret(0,n);
		for(ll i=1;i<=n;i++)
			for(ll k=1;k<=n;k++)
				for(ll j=1;j<=n;j++)//j,k 互换可能会更快
					ret.M[i][j]=(ret.M[i][j]+M[i][k]*N.M[k][j]%mod)%mod;
		return ret;
	}
	Matrix operator^(ll k)//矩阵快速幂
	{
		Matrix ret(1,n),tmp=*this;
		while(k)
		{
			if(k%2) ret=ret*tmp;
			tmp=tmp*tmp; k/=2;
		}
		return ret;
	}
	void operator^=(ll k) {*this=*this^k;}
};




本文作者:Yurchiu

本文链接:https://yz-hs.github.io/2bd2b1fd788c/

版权声明:本博客中所有原创文章除特别声明外,均允许规范转载,转载请注明出处。所有非原创文章,按照原作者要求转载。


By Yurchiu.
其他物件杂物收纳
Hitokoto

Yurchiu 说,除了她以外的人都很强!嘤嘤嘤~~
81%
博客信息
文章数目
158
最近更新
08-21
本站字数
350.6k
文章目录
  1. 前置知识
    1. 矩阵运算
    2. 单位矩阵
  2. 矩阵快速幂
  3. 模板
  1. 1 S.A.T.E.L.L.I.T.E. かめりあ
  2. 2 电·爱 猎豹游戏-Cheetah Mobile Games / 闫东炜
  3. 3 Sad Machine Porter Robinson
  4. 4 Shelter Porter Robinson / Madeon
  5. 5 命日 LeaF
  6. 6 Ad astra per aspera Rabbit House
  7. 7 驟雨の狭間 Silentroom
  8. 8 Luminescence 米虾Fomiki / 初云CLoudie / 卉HUI-Works
  9. 9 DESTRUCTION 3,2,1 Supa7onyz
  10. 10 Arete II Tim Shiel
  11. 11 THREE-BODY 重塑雕像的权利
  12. 12 Find You RiraN
  13. 13 Your Reality Dan Salvato / Jillian Ashcraft
  14. 14 Something Just Like This The Chainsmokers / Coldplay
  15. 15 Finally Tim Shiel
  16. 16 BIG SHOT Toby Fox
S.A.T.E.L.L.I.T.E. - かめりあ
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : かめりあ

作曲 : かめりあ

编曲 : かめりあ

制作人 : かめりあ

作词:かめるかめりあ

作曲:かめるかめりあ

Long ago, people prayed for a wish (很久以前 人们许下愿望)

to a star who floated in the sky (向着那浮在天际的一粒星星)

Only artifacts can be seen there, (那是仅看得见人造物之地)

no matter how much we try (无论我们如何尝试)

Instead of natural scintillation, (它们都是机械地闪烁)

they always mechanically blink (而不是自然地闪耀)

No one believes fairytales anymore, (没有人再相信童话)

but our two hearts in sync (但我们的两颗心同步了)

To wish upon a satellite, satellite (为了向那卫星祈求)

Wish upon a satellite, satellite (向那卫星祈求)

Wish upon a satellite... (向那卫星祈求…)

一万年前の”ヒト”は 星ってやつに祈ったんだって (据说一万年前的“人们” 曾是向名为星星的东西祈祷的)

機械めいた信号じゃなく 瞬いたらしいんだ (并非带着机械感的信号 它好像会闪闪发光)

記録か絵の中か おとぎ話にしか無いけど (尽管只在那记录、绘画或是传说之中存在)

星の代わりに 二つの願いをそっと (但作为星星的替代品 轻轻地将两个愿望)

To wish upon a satellite, satellite (向那卫星许下)

Wish upon a satellite, satellite (向那卫星祈求)

Wish upon a satellite... (向那卫星祈求…)