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

线性代数

时间:2024-07-28 20:30:26浏览次数:7  
标签:reshape sum torch arange 线性代数 print axis

线性代数

一.标量

只有一个元素的张量

import torch#pytorch引用
x=torch.tensor(3.0)
y=torch.tensor(4.0)
print(x)
print(y)
print(x+y)
print(x**y)#x的y次方

二.向量 

(1)由标量值组成的列表

a=torch.arange(5)
print(a)
print(a[3])#下标从0开始

输出:

(2)张量长度和形状

h=torch.tensor([1,8,2])
print(len(h))#张量长度
print(h.shape)#张量形状,因为这个是一维向量所以结果是[张量长度]

输出:

(3)创建矩阵,reshape重新设定形状

A=torch.arange(16).reshape(2,8)#2行8列16个元素
print(A)

 

(4)转置

A=torch.arange(12).reshape(3,4)
print(A)
print("-------------------------")
print(A.T)#转置.T

(5)对称矩阵AT=A

B=torch.tensor([[1,2,3],[2,0,4],[3,4,5]])
print("转置前:")
print(B)
print("---------------------------")
print("转置后")
print(B.T)
print(B.T==B)#对比每个元素是否相等,相等用True

 

(6)三维矩阵

C=torch.arange(24).reshape(2,3,4)#2个部分,每个部分3行4列。三维,从左到右1~3维
print(C)
tensor([[[ 0,  1,  2,  3],          [ 4,  5,  6,  7],          [ 8,  9, 10, 11]],           [[12, 13, 14, 15],          [16, 17, 18, 19],          [20, 21, 22, 23]]]) (7)clone()重新分配地址,将值复制过去!
D=torch.arange(24).reshape(4,6)
print("D矩阵:")
print(D)
print(id(D))
E=D.clone()
print("E矩阵:")
print(E)
print(id(E))
print(E+D)

(8)矩阵乘法(点乘)

D=torch.arange(24).reshape(4,6)
E=D.clone()
print(E*D)

D矩阵,E矩阵都是这样如下

结果输出:

(9)降维

import torch
A=torch.arange(12).reshape(3,4)
print(A)
print(A.sum())#对所有元素求和
print(A.sum(axis=0))#0维指的是对每一列的所有行求和
print(A.sum(axis=1))#1维,对每一行的所有列求和
print(A.sum(axis=[0,1]))#0,1两个维度就是对所有元素求和

 

 

 (10)求平均值

import torch
A=torch.arange(12,dtype=torch.float32).reshape(3,4)#在arrange里要设置变量类型为float或复合型
print(A.sum())
print(A)
#print(A.size)
print(A.mean())
print(A.mean(axis=0))#第0维平均值

 

 (11)非降维

import torch
A=torch.arange(12,dtype=torch.float32).reshape(3,4)
print("A:")
print(A)
print("A.sum(axis=1)")#按列求和
print(A.sum(axis=1))
print(" A.sum(axis=1, keepdims=True)")#按列求和且保持维度不变
sum_A = A.sum(axis=1, keepdims=True)
print(sum_A)
print("A/sum_A")#A中每一个元素除以sum_A对应行的元素
print(A / sum_A)
print("A.cumsum(axis=0)")
print(A.cumsum(axis=0))#按行依次叠加!

 

 (12)点积(正常向量积)

import  torch
import numpy as np
x=np.arange(4)
y=np.ones(4)
print(x)
print(y)
print(np.dot(x,y))
print(np.sum(x*y))

import numpy as np
A=np.arange(12).reshape(3,4)
print(A)
B=np.arange(8).reshape(4,2)
print(B)
print(np.dot(A,B))

(13)对应位置相乘

标签:reshape,sum,torch,arange,线性代数,print,axis
From: https://www.cnblogs.com/luckyhappyyaoyao/p/18328824

相关文章

  • 可逆矩阵的概念、定理、判断条件和性质(线性代数基础)
    可逆矩阵的概念、定理、判断条件和性质可逆矩阵的概念定义:设AAA为n......
  • [3B1B]线性代数的本质
    video向量空间中的箭头,指导我们如何从起点走到终点。从二维向量开始考虑,例如\(\operatorname{transform}[2,3]\)。三维向量同理,\(\operatorname{transform}[2,3,4]\)。向量相加时,考虑本质,\(\operatorname{transform}[a,b]+\operatorname{transform}[c,d]=\operatorname{tran......
  • 线性代数知识回顾
    最近阅读论文,再回顾一些基础的线性代数知识1.行列式转置不改变行列式的值\[|A|=|A^T|\]对某一行加上另外一行的K倍,不改变行列式的值只要矩阵有一行为0,行列式就是0。因为行列式等于任意一行/列的元素和其代数余子式的乘积之和,元素本身是0,行列式就是0\[|A|=a_{i0}M_{i0}+......
  • 【线性代数】向量空间,子空间
    向量空间设V为n维向量的集合,如果V非空,且集合V对于向量的加法以及数乘两种运算封闭,那么就称集合V为向量空间x,y是n维列向量。x向量组等价说明可以互相线性表示向量组等价则生成的向量空间是一样的子空间例题18是三位向量的全体R3的子空间。而例题19只是全体R3的子集......
  • 线性代数及其应用 第四章
    第4章向量空间4.1向量空间和子空间定义\(\;\)一个向量空间是由一些被称为向量的对象构成的非空集合\(V\),在这个集合上定义了两种运算,称为加法和标量乘法(标量取实数),服从以下公理(或法则),这些公理必须对\(V\)中所有向量\(\bmu,\bmv,\bmw\)及所有标量(或数)\(c\)和\(d......
  • 线性代数笔记——行列式(1)
    1.n级排列:由1,2,3,...,n组成的一个有序数组  n级排列的个数有n!=n(n-1)(n-2)...3*2*12.逆序:大数排在小数前面逆序数:逆序的总数如4213的逆序数    N(4213)=3+1+0+0=4如标准排列的逆序数为   N(123....n)=0n,n-1,n-2,...,3,2,1的逆序数为N(n(n-1)(n......
  • 《线性代数的本质》笔记10
    10-特征值与特征向量特征向量几何含义:在一次特定的线性变换中没有脱离原本张成空间的向量。特征值即为这个特征向量在这次变换中缩放的比例。推导:$$A\vec{v}=\lambda\vec{v}$$$$(A-\lambda\textit{I})\vec{v}=\vec{0}$$$$det(A-\lambda\textit{I})=0$$但并非所有线性变......
  • 线性代数
    线性代数线性对于函数\(f(x)\)(在实数域上)是线性的,当且仅当:对于任意\(x,y,c\),有\(f(x+y)=f(x)+f(y)\)和\(f(cx)=cf(x)\)。定义域和值域:\(c\)是“数”,\(x\)和\(f(x)\)均为“可运算的元素”向量表示与矩阵向量向量\(\vec{v}\),是一个纵向的列表,列表的每个元素都是一个......
  • 网课-线性代数学习笔记
    线性一个函数\(f(x)\)是线性的,当且仅当:\(f(x+y)=f(x)+f(y),f(kx)=kf(x)\)其中\(c\in\mathbf{R}\),\(x,y\)为某种可运算的元素。向量纵向的列表。\[\begin{bmatrix}a\\\vdots\\c\end{bmatrix}\]线性函数:\(c_1x_1+c_2x_2+\dots+c_nx_n\)线性变换:定......
  • 线性代数基础
    线性代数基础煎蛋的东西不再赘述。\(n\)个向量,若存在向量能被其他向量线性表示,则称这些向量线性相关,否则线性无关。矩阵的行秩,将矩阵看成若干个行向量,从这些向量中选取尽可能多的向量满足这些向量线性无关,选取的个数\(k\)即为矩阵的秩。矩阵的列秩同理,一般来说,矩阵的秩默认......