内积 点积 转置 迹 秩 行列式 逆 伪逆 扁平化 特征值和特征向量 内积 Inner product 内积接收两个大小相等的向量,并返回一个数字(标量)。...点积 Dot product 点积是为矩阵定义的。它是两个矩阵中相应元素的乘积的和。为了得到点积,第一个矩阵的列数应该等于第二个矩阵的行数。 有两种方法可以在numpy中创建矩阵。...迹 Trace 迹是方阵中对角线元素的和。有两种方法来计算迹。我们可以简单地使用ndarray对象的trace()方法,或者先获取对角线元素,然后再获取和。...行列式(决定式) 方阵的行列式可以计算det()函数,该函数也来自numpy linalg包。如果行列式是0,这个矩阵是不可逆的。在代数术语中,它被称为奇异矩阵。...如果方阵是非奇异的(行列式不为0),则真逆和伪逆没有区别。 扁平化 Flatten是一种将矩阵转换为一维numpy数组的简单方法。为此,我们可以使用ndarray对象的flatten()方法。
基础概念和符号 线性代数提供了一种紧凑地表示和操作线性方程组的方法。...表示向量的第个元素 我们使用符号 (或,等)来表示第 行和第列中的 的元素: 我们用或者表示矩阵的第列: 我们用或者表示矩阵的第行: 在许多情况下,将矩阵视为列向量或行向量的集合非常重要且方便。...我们可以使用外积紧凑地表示矩阵 : 2.2 矩阵-向量乘法 给定矩阵 ,向量 , 它们的积是一个向量 。有几种方法可以查看矩阵向量乘法,我们将依次查看它们中的每一种。...这些矩阵向量乘积可以使用前一小节中给出的两个观点来解释。 最后,我们有类似的观点,我们用行表示,的行作为和行之间的矩阵向量积。...可以看出,对于任何非奇异, 虽然这是一个很好的“显式”的逆矩阵公式,但我们应该注意,从数字上讲,有很多更有效的方法来计算逆矩阵。 3.11 二次型和半正定矩阵 给定方矩阵和向量,标量值被称为二次型。
点和矢量 点是n维空间(游戏中主要是用二维、三维空间)中的一个位置,没有大小、宽度的概念。...为区分点和矢量,在变量书写上,标量用小写字母表示,如:a, b, x, y, z等;矢量用小写的粗体字母表示,如:a, b, u, v等。...矢量的减法类似: 在图形学中,矢量通常用于描述位置偏移(简称位移)。我们可以利用矢量的加法和减法来计算一点相对于另一点的位移。 矢量的模 矢量的模是一个标量,可以理解为矢量在空间中的长度。...在Unity Shader中,会经常遇到法线方向、光源方向,这些矢量不一定是归一化后的矢量,计算的时候需要将这些矢量归一化成单位矢量。...MI = IM = M 转置矩阵 转置矩阵实际是对原矩阵的一种运算,即转置运算。一个rxc的矩阵M,其转置表示成MT,是一个cxr的矩阵,本质是原来的矩阵行、列对换。
我们可以把导数理解为函数在几何曲线中某一点处切线的斜率,在这基础上加一个拓展,也很好理解。函数可导一定连续,但连续不一定可导。如果你感兴趣,可以证明一下这个过程,但我们现在记住这个定理就可以。...2 函数积的求导法则 若函数u = u(x) 和 v = v(x) 在点x处可导,则函数 y = uv 在点x处也必可导,并且 (uv)' = u'v + v'u,其证明过程也是类似的,这里我们不再花费篇幅论证了...矩阵的减法也很简单,就是把上边的加号变成减号,我们下边看一下矩阵的倍数运算吧。 ? 倍数运算也是一种特殊的矩阵的"积"运算,现在我们来学习一下矩阵的"积"运算吧。 ?...对称矩阵的转置矩阵和自己完全相同。 ? 上三角矩阵:在矩阵左下角都是0的n阶方阵。 ? 下三角矩阵:在矩阵右上角都是0的n阶方阵。 ? 对角矩阵:对角元素以外的元素都是0的n阶方阵。...下面来看一下逆矩阵的求解方法及确认是否存在逆矩阵的方法,求逆矩阵的方法有代数余子式法和消元法,利用代数余子式的方法来计算逆矩阵非常麻烦,用的也比较少。
语言以前是一种专门为进行矩阵计算所设计的语言,在以后的各个版本中逐步扩充其各种功能。...在MATLAB中几乎所有的运算符和操作符都是以矩阵为基本运算单元的,这和其他计算机语言有很大不同,这也是MATLAB的重要特点 运算符 矩阵的逆 INV(X) 矩阵的转置 X' 矩阵的加减法 其基本形式为...如果A是N×N的方阵,而B是N维列向量,或是由若干N维列向量组成的矩阵,则X=A \ B是方程AX=B的解,X与B的大小相同,对于X和B的每个列向量,都有AX(n)=B(n),此解是由高斯消元法得到的很显然.../A就是B中的元素除以A中的对应元素,所得结果矩阵大小与B和A都相同;如果B和A中有一个为数,在结果为此数与相应的矩阵中的每个元素做运算,结果矩阵与参加运算的矩阵大小相同。...张量积 K=KRON(A,B)返回A和B的张量积,它是一个大矩阵,取值为矩阵A和B的元素间所有的可能积。
** 哈达玛积 两个矩阵的按元素乘法称为 哈达玛积(Hadamard product)(数学符号 ? ) ? 点积 给定两个向量 ? ,它们的 点积(dot product) ? (或 ?...)是相同位置的按元素乘积的和: ? 。 矩阵-向量积 现在我们知道如何计算点积,我们可以开始理解 矩阵-向量积(matrix-vector products)。回顾矩阵 ? 和向量 ? 。...开始,用它的行向量表示 ? 其中每个 ? 都是行向量,表示矩阵的 ? 行。[矩阵向量积 ? 是一个长度为 ? 的列向量,其 ? 元素是点积 ? ]: ?...在代码中使用张量表示矩阵向量积,我们使用与点积相同的 dot 函数。当我们为矩阵 A 和向量 x 调用 np.dot(A, x)时,会执行矩阵向量积。...的 ? 行,并让列向量 ? 作为矩阵 ? 的 ? 列。要生成矩阵积 ? ,最简单的方法是考虑 ? 的行向量和 ? 的列向量: ? 当我们简单地将每个元素 ? 计算为点积 ? : ?
点积(dot product): 两个相同维度的x和y的点积可以看成矩阵的乘积,表示成 ? 一些性质:在运算、简化函数的时候非常有用,在本章最后一节PCA算法中可以看到。 ? ? ? ?...生成子空间(span):在向量空间中,其中一组最大的线性无关的组,成为生成子空间。 范数 范数(norms):通常我们使用范数来定义某个向量的大小,通常如下公式表示。...特征分解(eigendecomposition):是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。需要注意只有可对角化矩阵才可以施以特征分解。A的特征分解表示成如下形式。 ?...奇异值分解 奇异值分解(singular value decomposition):与特征分解类似,奇异值分解也是分解矩阵的一种方法,只是这次我们将向量A分解成三个矩阵的乘积的形式。...伪逆的定义帮助我们取得了一定的进展。矩阵A的伪逆定义为如下公式: ? 但是在实际计算伪逆的时候,没有用到这个定义去计算,而是使用如下公式。其中V,D,U是对矩阵A进行奇异值分解后的矩阵。
后续如果没有特殊说明,所有涉及的点、向量、坐标轴、矩阵等都是基于场景中的世界坐标系。...已知方阵即可得变换后的基向量 OC、OD,再根据平行四边形面积公式求该方阵行列式: ? 对于二维方阵来说,其行列式等于对角元素的积减去反对角元素的积。...代数余子式等于相应余子式的有符号行列式,计算方阵 M 第 i 行、第 j 列的代数余子式如下: ?...计算高阶方阵的行列式需要借助余子式和代数余子式;首先从矩阵中任意选择一行或一列,对该行或该列的每个元素都乘以对应的代数余子式,然后把它们加起来得到的和即是该矩阵的行列式。 ? 以三阶方阵为例: ?...当矩阵的行列式为零时上述公式是没有意义的,因此并不是所有矩阵都有逆矩阵,检测行列式的值是判断矩阵是否可逆的有效方法。 通过上述方法求矩阵 A 的逆矩阵详细过程如下: ?
Numpy库通常用于python中执行数值计算,并且对于矩阵操作做了特殊的优化,numpy库通过向量化避免许多for循环来更有效地执行矩阵操作。本文针对矩阵的部分问题使用numpy得到解决。...矩阵的点积 矩阵的转置 矩阵的秩 矩阵的行列式 矩阵的逆 解决方案 首先需要安装numpy库。在命令行中输入pip install numpy,点击回车 ?...安装好numpy库以后,调用库中的相关解决问题的函数库。 1.点积:点积是为矩阵定义的。它是两个矩阵中相应元素的乘积的和。...矩阵的表示为np.matrix([[],[]]),点积表示为np.dot(a,b) ? 2.转置:矩阵的转置是通过行与列的交换得到的。我们可以使用np.transpose()函数 ?...4.行列式:首先使用np.array(矩阵)将矩阵转化为array(数组),方阵的行列式可以计算det()函数 ?
Numpy库通常用于python中执行数值计算,并且对于矩阵操作做了特殊的优化,numpy库通过向量化避免许多for循环来更有效地执行矩阵操作。本文针对矩阵的部分问题使用numpy得到解决。...矩阵的点积 矩阵的转置 矩阵的秩 矩阵的行列式 矩阵的逆 2 算法描述 首先需要安装numpy库。...在命令行中输入pip install numpy,点击回车 安装好numpy库以后,调用库中的相关解决问题的函数库。 1.点积:点积是为矩阵定义的。它是两个矩阵中相应元素的乘积的和。...矩阵的表示为np.matrix([[],[]]),点积表示为np.dot(a,b) 2.转置:矩阵的转置是通过行与列的交换得到的。...4.行列式:首先使用np.array(矩阵)将矩阵转化为array(数组),方阵的行列式可以计算det()函数 5.矩阵的逆:使用np.array创建一个数组(注:需要矩阵为非奇异矩阵),再使用np.linalg.inv
self-attention 中,sequence 中的每个词都会和 sequence 中的每个词做点积去计算相似度,也包括这个词本身。...那在 softmax 后的加权平均中,该词本身所占的比重将会是最大的,使得其他词的比重很少,无法有效利用上下文信息来增强当前词的语义表示。...那哪一个会是概率最大的呢?在 FC 层的每一行量级相同的前提下,理论上和 x 相同的那一行对应的点积和 softmax 概率会是最大的(可类比本文问题 1)。...维度与点积大小的关系是怎么样的,为什么使用维度的根号来放缩? 针对为什么维度会影响点积的大小,在论文的脚注中其实给出了一点解释: ?...「方差越大也就说明,点积的数量级越大(以越大的概率取大值)」。那么一个自然的做法就是把方差稳定到1,做法是将点积除以 ,这样有: 「将方差控制为1,也就有效地控制了前面提到的梯度消失的问题」。
表示从原点出发到向量x确定点的欧几里得距离。简化||x||,略去下标2。平方L⁽2⁾ 范数衡量向量大小,通过点积x⫟x计算。平方L⁽2⁾范数在数学、计算上比L⁽2⁾范数更方便。...平方L⁽2⁾范数对x中每个元素的导数只取决对应元素。L⁽2⁾范数对每个元素的导数和整个向量相关。平方L⁽2⁾范数,在原点附近增长缓慢。 L⁽1⁾范数,在各个位置余率相同,保持简单数学形式。...两个向量点积用范数表示,x⫟y=||x||2||y||2cosθ,θ表示x、y间夹角。 特殊类型矩阵、向量。 对角矩阵(diagonal matrix),只在主对角线上有非零元素,其他位置都是零。...diag(v)表示对角元素由向量v中元素给定一个对角方阵。对角矩阵乘法计算高效。计算乘法diag(v)x,x中每个元素xi放大vi倍。diag(v)x=v⊙x。计算对角方阵的逆矩阵很高效。...通过将矩阵限制为对象矩阵,得到计算代价较低(简单扼要)算法。 并非所有对角矩阵都是方阵。长方形矩阵也有可能是对角矩阵。非方阵的对象矩阵没有逆矩阵,但有高效计算乘法。
更快的训练等于更快的实验,更快的产品迭代,还有最重要的一点需要更少的资源,也就是更省钱。 熟悉PyTorch Profiler 在进行任何优化之前,你必须了解代码的某些部分运行了多长时间。...可以看到与分配器的保留内存相对应的红线不断变化。这意味着PyTorch分配器不能有效地处理分配请求。而当分配程序在没有频繁调用的情况下处理分配时,红线是完全笔直的,如下图所示: 我们如何解决呢?...在图像中,梯度在训练步骤之后没有被清除,因此它们在向前传递过程中处于无用状态,占用了宝贵的内存。...1、FlashAttention 首先可以使用FlashAttention来计算点积注意力来提高效率。如果你没有听说过它,它是一种计算精确的点积注意力的方法,并且不需要明确地构建注意力矩阵。...在Torch2.0中增加了compile方法,他会跟踪执行图,并尝试将其编译成一种有效的格式,以便几乎无需Python调用即可执行模型。
矩阵的乘方运算 (1)x^Y表示,如果x为数,而Y为方阵,结果由各特征值和特征向量计算得到。...(2)X^y表示,如果X是方阵、y是一个大于1的整数,所得结果由X重复相乘y次得到;如果y不是整数,则将计算各特征值和特征向量的乘方。 (3)如果X和Y都是矩阵,或X或Y不是方阵,则会显示错误信息。...如果A是N×N的方阵,而B是N维列向量,或是由若干N维列向量组成的矩阵,则X=A\B是方程AX=B的解,X与B的大小相同,对于X和B的每个列向量,都有AX(n)=B(n),此解是由高斯消元法得到的。.../A就是B中的元素除以A中的对应元素,所得结果矩阵的大小与B和A都相同;如果B和A中有一个为数,在结果为此数与相应的矩阵中的每个元素做运算,结果矩阵与参加运算的矩阵大小相同。...在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵。
点积表示输入序列中两个向量的由学习任务定义的“相关”程度,并且输出向量是整个输入序列的加权和,其权重由这些点积确定。...这产生一批大小为(b, t, e)的输出矩阵Y,其行是对矩阵X的行的加权和。...接下来,我们需要计算点积。这与每个head的操作相同,因此我们将head折叠到batch的维度中。...由于点积矩阵的大小在序列长度上呈二次方式增长,因此当我们尝试扩展输入序列的长度时,这很快成为瓶颈。Transformer-XL是首批成功解决此问题的Transformer模型之一。...我们为模型提供了一个很长的序列,但只反向传播它的一部分。序列中第一个没有计算梯度的部分仍然影响它们所在部分中隐藏状态的值。 为了使这个方法有效,作者不得不放弃标准位置编码/嵌入方案。
范数是一种数学概念,可以将向量或矩阵映射到非负实数上,通常被用来衡量向量或矩阵的大小或距离。在机器学习和数值分析领域中,范数是一种重要的工具,常用于正则化、优化、降维等任务中。...标准二范数也可以表示为向量的点积和向量的模长的乘积,即: ||x||_2 = \sqrt{x·x}= |x|\sqrt{\frac{x}{|x|}·\frac{x}{|x|}} 其中, · 表示点积...F范数的计算方法类似于标准二范数,都是将所有元素的平方和开根号。与标准二范数不同的是,F范数的加和是在矩阵的所有元素上进行的,而不是在向量的所有元素上进行的。...无穷范数在矩阵计算和优化中有广泛的应用。例如,在矩阵乘法中,可以使用无穷范数来衡量矩阵乘积的大小;在优化问题中,可以使用无穷范数作为约束条件或者目标函数。...在实际应用中,计算矩阵的 L2 范数可以使用 SVD 分解,例如: PyTorch 中其对应的参数为ord='2',例如: A = torch.tensor([[1, 2, 3],
向量的点积 点乘,也叫向量的内积、数量积。顾名思义,求下来的结果是一个数。两个维度相同的向量,点积定义如下: ?...点积和顺序无关 两个向量相互垂直时,点积为0 两个向量方向相同时,点积为正;相反时,点积为负 ? ? 向量的叉积 叉乘,也叫向量的外积、向量积。顾名思义,求下来的结果是一个向量。...奇异值分解 特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的,在现实的世界中,我们看到的大部分矩阵都不是方阵,比如说有N个学生,每个学生有M科成绩,这样形成的一个N * M的矩阵就不可能是方阵...奇异值分解可以用来干这个事情,奇异值分解是一个能适用于任意的矩阵的一种分解的方法: 分解形式: ?...零矩阵表示的映射是将所有的点都映射到原点的映射。 对角矩阵 在方阵中,对角线(从左上到右下)上的值称为对角元素。 非对角元素全部为0的矩阵称为对角矩阵。
如果矩阵有m行和n列,我们就说矩阵的大小为m*n,如果m=n,我们称为方阵(square matrix)。 矩阵的元素下标表示,先行后列: ? 矩阵与标量相乘:每一个元素分别与该标量相乘。...从行的角度来看矩阵和向量相乘:从行的角度看,矩阵A和向量x相乘,其结果是矩阵的A的每一行与向量x做点积(dot product,后面再介绍) 的结果。 ?...逆矩阵可以用来求解一个线性方程组,但这种方法要求A是一个方阵,同时在计算上并不是十分有效率的: ?...判断一个矩阵是否是可逆的,可以用下面条件中的任意之一,不过一定要是一个方阵才行: ?...14.2 点积和正交 点积(Dot Product)的计算如下: ? 两个向量是正交的(Orthogonal),如果两个向量的点积是0,那么零向量和任何向量都是正交的。 点积具有如下的性质: ?
无论数据采用何种格式,都需要将其转换为一组待分析的数字。因此,有效地存储和修改数字数组在数据科学中至关重要。...NumPy (Numerical Python)是一个科学计算包,它提供了许多创建和操作数字数组的方法。...如果我们在一个6x3数组上应用hsplit得到3个子数组,得到的数组的形状将是(6,1)。 ? 数组合并 在某些情况下,我们可能需要组合数组。NumPy提供了以多种不同方式组合数组的函数和方法。...NumPy作为使用最广泛的科学计算库,提供了大量的线性代数运算。 16. Det 返回一个矩阵的行列式。 ? 矩阵必须是方阵(即行数等于列数)才能计算行列式。...点积 计算两个向量的点积,这是关于它们的位置的元素的乘积的和。第一个向量的第一个元素乘以第二个向量的第一个元素,以此类推。 ? 20. 矩阵相乘 Matmul 矩阵乘法。 ?
领取专属 10元无门槛券
手把手带您无忧上云