首页 > 其他分享 >线性代数

线性代数

时间:2024-02-20 15:11:05浏览次数:26  
标签:10 int 元素 矩阵 times 线性代数 include

线性代数

矩阵四则运算

矩阵

  • 矩阵:就是高维数组
  • 向量:一维数组,通常用列向量表示,即这个数组的形状是 \(n\times1\)​ 的
  • 矩阵的四则运算包括加法、减法、乘法和数乘,它们遵循特定的规则

矩阵加法

  • 需要两个相同(指维度相同,即行数和列数)的矩阵

  • 矩阵加法是对应元素相加

    设 \(A\) 为 \(P\times M\) 的矩阵, \(B\) 为 \(P\times M\) 的矩阵,设矩阵 \(C\) 中的第 \(i\) 行第 \(j\) 列元素可以表示为:

    ​ \(C_{i,j}=A_{i,j}+B_{i,j}\)

    例如: \(A=[[1,2],[3,4]]\) , \(B=[[5,6],[7,8]]\)

    则 \(A+B=[[1+5,5+6],[1+7,4+8]]=[[6,8],[10,12]]\)

矩阵减法

  • 与加法类似,矩阵减法也要求两个矩阵具有相同的维度,然后进行对应元素相减

矩阵乘法

  • 矩阵乘法并不像加减法那样简单对应元素相乘,而是有更严格的规则

  • 设矩阵 \(A(P\times M)\) 和矩阵 \(B(M\times Q)\) ,要计算 \(A*B\) ,其结果矩阵 \(C(P\times Q)\) 中的每个元素 \(C_{i,j}\) 是由矩阵 \(A\) 的第 \(i\) 行和矩阵 \(B\) 的第 \(j\) 列对应元素按顺序相乘再求和得到的

    设 \(A\) 为 \(P\times M\) 的矩阵, \(B\) 为 \(M\times Q\) 的矩阵,设矩阵 \(C\) 中的第 \(i\) 行第 \(j\) 列元素可以表示为:

    ​ \(C_{i,j}=\sum^{M}_{k=1}A_{i,k}B_{k,j}\)

    例如: \(A=[[1,2],[3,4]]\) , \(B=[[5,6],[7,8]]\)

    则 \(A*B=[[15+27,16+28],[35+47,36+48]]=[[19,22],[43,56]]\)

#include<algorithm>
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<string>
#include<vector>
#include<math.h>
#include<stack>
#include<queue>
#include<set>
#include<map>
using namespace std;
const int N=1e3+10;
int read(){
	int s=0,f=1;
	char _z=getchar();
	while(_z<'0'||_z>'9'){
		if(_z=='-')
		break;
		_z=getchar();
	}
	if(_z=='-'){
		f=-1;
		_z=getchar();
	}
	while(_z>='0'&&_z<='9'){
		s=(s<<3)+(s<<1)+(_z-'0');
		_z=getchar();
	}
	return s*f;
}
void print(int x){
	if(x<0){
		print(-x);
		return;
	}
	if(x>9)
	print(x/10);
	putchar(x%10+'0');
	return;
}
int a[N][N],b[N][N],c[N][N];
int main(){
	int p=read(),m=read(),q=read();
	for(int i=1;i<=p;i++)
	for(int j=1;j<=m;j++)
	a[i][j]=read();
	for(int i=1;i<=m;i++)
	for(int j=1;j<=q;j++)
	b[i][j]=read();
	for(int i=1;i<=p;i++)
	for(int j=1;j<=q;j++)
	for(int k=1;k<=m;k++)
	c[i][j]+=a[i][k]*b[k][j];
	for(int i=1;i<=p;i++){
		for(int j=1;j<=q;j++)
		print(c[i][j]),putchar(' ');
		puts("");
	}
	return 0;
}

数乘(标量乘法)

  • 一个标量(实数) \(k\) 与矩阵 \(A\) 相乘,就是将矩阵 \(A\) 的所有元素都乘以这个标量

    设 \(A\) 为 \(P\times M\) 的矩阵, \(k\) 为标量,设矩阵 \(C\) 中的第 \(i\) 行第 \(j\) 列元素可以表示为:

    ​ \(C_{i,j}=A_{i,j}\times k\)

    例如: \(A=[[1,2],[3,4]]\) , \(k=5\)

    则 \(A*k=[[1\times5,2\times5],[3\times5,4\times5]]=[[5,10],[15,20]]\)

以上就是在数学中矩阵的基本四则运算规则。

标签:10,int,元素,矩阵,times,线性代数,include
From: https://www.cnblogs.com/liuqichen121/p/18023166

相关文章

  • 线性代数 A 的 LU 分解
    我们本章的目的是对\(A=LU\)进行分析,我们以这种思路来看待高斯消元。好现在还是从简单的开始。首先,讲一下上一章中没讲完的内容——乘积的逆。假设\(A\)和\(B\)均是可逆矩阵,即有:\[A·A^{-1}=I=A^{-1}·A\]那\(AB\)的逆是什么?使用单独的逆相乘吗?是的。用矩阵\(A......
  • 线性代数 方程组的几何解释
    本次,我们将讲述线性代数的基础——求线性方程组,下面从方程组讲起,它有\(n\)个未知数以及\(n\)个方程,方程数量与未知数个数相等,这是最普遍的状况。我们会了解到“行图像(\(RowPictrue\))”和“列图像(\(ColumnsPictrue\))”,行图像想必大家都见过就是两个方程的函数图像交于一......
  • 线性代数基础
    元素:一个个体,一般是一个数。【向量】向量:一组元素,向量\(a\)记作\(\vec{a}\)。我们只在乎向量的方向和大小,并不在乎向量的起点和终点。定义:\(n\)维向量,即\(\vec{a}\)中包含\(n\)个元素。向量的运算:向量的大小:\(|\vec{a}|\)。向量加减:只有两个规模相等的向量的......
  • 10线性代数基础综合卷
    张宇基础卷线代发现很多问题,值得再做一遍3行变换是把E放到右方,列变换是把E放到下方。这道题求逆可以用穿脱原则解出来4首先记结论,AB=O则r(a)+r(b)<n,学会证明(解集的秩为n-r(a)),B是从解集中抽出来的;5根据秩的情况判断特征值,不满秩则一定有0特征值; 当可对角化时,零特征值所对应的特征......
  • 线性代数
    元素:一个个体,一般是一个数。【向量】向量:一组元素,向量\(a\)记作\(\vec{a}\)。我们只在乎向量的方向和大小,并不在乎向量的起点和终点。定义:\(n\)维向量,即\(\vec{a}\)中包含\(n\)个元素。向量的运算:向量的大小:\(|\vec{a}|\)。向量加减:只有两个规模相等的向量的......
  • 线性代数小结
    主要是线性方程组和特征值这两章明白齐次和非齐次解的情况(齐2非3)知道n-r的含义和来历会化行阶梯型矩阵(不要有分数,箪食壶浆以迎王师)明白解的结构,同常微分一样。给你两个非齐次特解,你要立马能写出齐次的解,特征值这一章矩阵a的行列式和迹跟特征值的关系,不是对角线元素之积特......
  • 线性代数
    线性相关若有\(\mathbb{a}=\{a_1,a_2,\dots,a_n\}\),且\(x\mathbb{a}=0\),那么这组向量线性相关。大致可以理解成有一些无用的方程。一组可以表示原来所有线性组合的向量叫做一组基。如果值域只有\(0/1\),那这就是异或线性基。否则,上高消就可以搞出一组这样的基。异或线性基......
  • Matlab与线性代数
    %判断一个矩阵是否可以对角化并求解其对角化矩阵%定义矩阵AA=[4,2,-2;2,1,-1;-2,-1,1];%定义矩阵A%A=[4,-2;1,1];%计算特征向量和特征值[V,D]=eig(A);%判断是否存在足够数量的线性无关特征向量ifrank(V)==size(A,1)%构造对角矩阵D=d......
  • 线性代数基础-矩阵奇异值分解-02
    目录1.引入2.几何的角度理解SVD3.空间的角度理解4如何求解SVD5.SVD的应用1.引入奇异值分解,singularvaluedeconposition是6种矩阵分解方式中,综合性最强应用最广泛的分解技术,是PCA(主成分分析)的基础六种矩阵分解技术:只有矩阵为方阵(m=n)时,才有特征值;但对任何一个矩阵,都......
  • 线性代数基础-特征值与特征向量-01
    目录1.概念2.性质3.相似矩阵4.矩阵的行列式与迹5.特征值与特征向量分解矩阵1.概念特征值与特征向量的英文是eigenvalue和eigenvector,这个前缀eigen-起源于德语,意思是proper(这里应该是专属的意思)、characteristic(特征的),其实翻译成特征。矩阵A是一个线性变换,然后......