ones_ like以另一个数组为参数,并根据其形状和dtype创建个全 1数组 zeros、zeros_ like 类似于ones和ones_ like, 只不过产生的是全0数组而已 empty、empty.... like 创建 新数组,只分配内存空间但不填充任何值 eye、identity 创建一个正方的NXN单位矩阵(对角线为1,其余为0) 通用函数 通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数...,保留dtype modf 将数组的小数和整数部分以两个独立数组的形式返回 isnan 返回一个表示“ 哪些值是NaN (这不是一个数字)”的布尔型数组 isfinite、isinf 分别返回一个表示“...常用的numpy.linalg函数 线性代数函数 numpy.linalg中有一组标准的矩阵分解运算以及诸如求逆和行列式之类的东西 函数 说明 diag 以一维数组的形式返回方阵的对角线(或非对角线...)元素,或将一维组转换为方阵(非对角线元素为0) dot 矩阵乘法 trace 有计算对角线元素的和 det 计算矩阵行列式 eig 计算方阵的本征值和本征向量 inv 计算方阵的逆 pinv 计算矩阵的
numpy.array 中的运算 给定一个向量,让向量中每一个数乘以 2 a = (0, 1, 2) a * 2 = (0, 2, 4) 如何解决上面的问题呢?...为了让列表中的每一个元素都乘以 2,我们可以使用 for 循环实现。...这种将数组看成向量或矩阵的运算有一个名字:Universal Functions。...为底取对数 np.log2(X) # 以2为底取对数 np.log10(X) # 以10为底取对数 以上这些运算都是针对一个数组进行运算,并且这些运算作用在数组中的每一个元素。...(未必任何方阵都有逆矩阵),不是方阵的矩阵肯定没有逆矩阵。
特征值与特征向量的几何意义 上面提到一个矩阵乘以一个向量就相当于一个线性变化可能难以理解,我们举个例子: 然后向量 所以M乘以一个向量(x,y)就表示为: * = 我们在平面上化出这个变换过程如下:...什么是奇异值分解 奇异值分解(SVD)是一个能适用于任意矩阵的一种分解的方法,对于任意矩阵A总是存在一个奇异值分解: 假设A是一个m*n的矩阵,那么得到的U是一个m*m的方阵,U里面的正交向量被称为左奇异向量...首先,我们用矩阵A的转置乘以矩阵A,得到一个方阵,用这个方阵进行特征值分解,得到的特征值和特征向量满足下面的等式: 这里的就是我们要求的右奇异向量。...其次,我们将A和A的转置做矩阵的乘法,得到一个方阵,用这样的方阵进行特征分解,得到的特征和特征向量满足下面的等式: 这里的就是左奇异向量。 上面直接给出了是左奇异向量,是右奇异向量,根据是什么呢?...如果r的取值远远小于n,从计算机内存的角度来说,右边三个矩阵的存储内存要远远小于矩阵A的。所以在奇异值分解中r的取值很重要,就是在计算精度和时间空间之间做权衡。
反正看不懂,就先记个函数叭 函数 说明 diag 以一维数组的形式返回方阵的对角线(或非对角线)元素,或将一维数组转换为方阵(非对角线元素为0) dot 矩阵乘法 trace 计算对角线元素的和 det...计算矩阵行列式 eig 计算方阵的本征值和本征向量 inv 计算方阵的逆 pinv 计算矩阵的Moore-Penrose伪逆 qr 计算QR分解 svd 计算奇异值分解 solve 解线性方程组Ax=...b,其中A为一个方阵 lstsq 计算Ax=b的最小二乘解 随机数生成 numpy.random效率比Python标准库的随机快的多 函数 说明 seed 确定随机生成器的种子 permutation...返回一个序列的随机排列或返回一个随机排列范围 shuffle 对一个序列就地随机排列 rand 产生均匀分布的样本值 randint 从给定的上下限范围内随机选取整数 randn 产生正态分布(平均值...,价格的下一步将走向哪里,是没有规律的。
首先,要明确的是,一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。比如说下面的一个矩阵: ? 它其实对应的线性变换是下面的形式: ?...首先,我们将一个矩阵A的转置 * A,将会得到一个方阵,我们用这个方阵求特征值可以得到: ? 这里得到的v,就是我们上面的右奇异向量。此外我们还可以得到: ?...Lanczos迭代就是一种解对称方阵部分特征值的方法(之前谈到了,解A’* A得到的对称方阵的特征值就是解A的右奇异向量),是将一个对称的方程化为一个三对角矩阵再进行求解。...还是假设我们矩阵每一行表示一个样本,每一列表示一个feature,用矩阵的语言来表示,将一个m * n的矩阵A的进行坐标轴的变化,P就是一个变换的矩阵从一个N维的空间变换到另一个N维的空间,在空间中就会进行一些类似于旋转...V,由于V是一个正交的矩阵,所以V转置乘以V得到单位阵I,所以可以化成后面的式子 将后面的式子与A * P那个m * n的矩阵变换为m * r的矩阵的式子对照看看,在这里,其实V就是P,也就是一个变化的向量
首先,要明确的是,一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。比如说下面的一个矩阵: ?...因为这个矩阵M乘以一个向量(x,y)的结果是: ?...首先,我们将一个矩阵A的转置 * A,将会得到一个方阵,我们用这个方阵求特征值可以得到: ? 这里得到的v,就是我们上面的右奇异向量。此外我们还可以得到: ?...Lanczos迭代就是一种解对称方阵部分特征值的方法(之前谈到了,解A’* A得到的对称方阵的特征值就是解A的右奇异向量),是将一个对称的方程化为一个三对角矩阵再进行求解。...还是假设我们矩阵每一行表示一个样本,每一列表示一个feature,用矩阵的语言来表示,将一个m * n的矩阵A的进行坐标轴的变化,P就是一个变换的矩阵从一个N维的空间变换到另一个N维的空间,在空间中就会进行一些类似于旋转
,计算机不能显示(NaN);③进行归一化的原因是把各个特征的尺度控制在相同的范围内,这样可以便于找到最优解,不进行归一化时如左图,进行归一化后如右图,可发行能提高收敛效率。...对称矩阵:是指以主对角线为对称轴,各元素对应相等的矩阵。...机器学习的本质:将数据分解到特征方向上,在每个特征方向单独判断,结果统一起来得到一个结果。...上图:一个向量x要变换到Ax上去,就给它乘以一个矩阵,做线性变换。 一个例子理解矩阵乘法:一个向量A与一个矩阵B做向量乘法,这就是一个线性变换的过程。...2.5 仿射变换 2.6 特征方程 特征方程的理解:可以给等式两边同乘一个向量v,相当于向量v乘以一个变换矩阵A,得到的新向量再乘一个向量x,相当于在x方向上的投影 等价于 向量v做缩放,在向量
如果矩阵A中m等于n,称为矩阵A为n阶矩阵(或n阶方阵) 从左上到右下的对角线为主对角线,从右上到左下的对角线为次对角线 行列式在数学中,是一个函数,其定义域为det的矩阵A,取值为一个标量,写作det...将面积定向处理,右手定则是大家普遍遵守的,因此,行1,行2对应向量的方向满足右手定则,则定义det(A)为正,否则为负。...性质5:若矩阵中有一行为全0行,则行列式为0.利用性质3,全0行,提出一个因子0,行列式肯定为0. 性质6:从一行中减去其它行的几倍,行列式不变。...性质9:矩阵AB的行列式等于A的行列式乘以B的行列式行列式的含义是面积(体积)的放大倍数,AB可以看成是级联系统,级联系统的放大倍数等于分别每一级放大倍数的乘积。...设A是一个n阶矩阵,若存在另一个n阶矩阵B,使得:AB=BA=E ,则称方阵A可逆,并称方阵B是A的逆矩阵。
什么是矩阵 矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,元素是实数的矩阵称为实矩阵,元素是复数的矩阵称为复矩阵。而行数与列数都等于n的矩阵称为n阶矩阵或n阶方阵。...matrix) 体——张量(tensor) image.png 百度百科和维基百科 百度百科版本 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵...矩阵的运算是数值分析领域的重要问题。将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算。对一些应用广泛而形式特殊的矩阵,例如稀疏矩阵和准对角矩阵,有特定的快速运算算法。...例如,下面矩阵的尺寸是2×3(读“两乘三”),因为有两行三列: 如果它们具有相同的大小(每个矩阵具有与另一个相同的行数和相同的列数),则可以逐个元素地添加或减去两个矩阵(参见符合矩阵)。...然而,矩阵乘法的规则是,只有当第一列中的列数等于第二列中的行数时,两个矩阵才能相乘(即,内部维度相同,n为(m × n)) – 矩阵乘以(n × p)矩阵,得到(m × p)-矩阵。
有没有那么一个矩阵,可以把变换过的原料再变回去。 (不能不说矩阵)一个矩阵就像是一个加工厂,它能把输入的原材料(向量)加工成输出产品(另一个向量)。这个加工过程可以看成是一个线性变换。...矩阵与线性变换: 每一个线性变换都可以用一个矩阵来表示。矩阵的每一列代表了基向量经过线性变换后的像。 矩阵乘法与线性变换: 当我们用一个矩阵乘以一个向量时,实际上就是对 这个向量进行了线性变换。...矩阵乘法: 当我们用这个矩阵乘以一个向量时,实际上就是把这个向量分解到基向量上,然后分别对每个基向量进行变换,最后将变换后的结果相加。...如果这个函数满足以下两个条件,那么它就是一个线性变换: 加法性: 函数作用于两个向量的和,等于分别作用于这两个向量再相加。 齐次性: 函数作用于一个向量的倍数,等于将向量先乘以这个倍数,再作用于函数。...换句话说,对于一个方阵 A,如果存在另一个方阵 B,使得 AB = BA = I(其中 I 是单位矩阵),那么矩阵 A 就是可逆的,矩阵 B 就是 A 的逆矩阵。
由于数组在内存中是连续存储的,所以可以通过下标直接访问数组中的元素,而不需要像链表那样遍历整个结构。这样可以提高访问元素的效率。...当我们定义一个数组时,编译器会分配一段连续的内存空间来存储数组元素,并将数组名指向该内存空间的首地址。...以下是一些常见的矩阵结构分类: 方阵和非方阵:方阵是行数和列数相等的矩阵,即n x n的矩阵。非方阵则是行数和列数不相等的矩阵。 稀疏矩阵和稠密矩阵:稀疏矩阵是指其中绝大多数元素为0的矩阵。...以一个4x5的矩阵为例: 1 0 0 2 0 0 0 3 0 4 0 5 0 0 0 6 0 0 7 8 用三元组结构进行存储的结果为: (0, 0, 1) (0, 3, 2) (1, 2, 3) (1...子表元素则是指广义表中的另一个广义表,也就是说广义表可以嵌套存储。 广义表的存储结构通常可以使用链表或数组实现。
比例函数的系数是“数”与“数”之间的线性对应关系,是把一个数变为另一个数,那么矩阵则是向量与向量之间的线性对应关系,是把一个向量变成另一个向量。...矩阵把一个向量变成另一个向量是发生在向量空间里的变换运动,该变换有个专业名词叫线性变换或线性映射。这可以称为矩阵的几何意义。 矩阵独立的几何意义表现为对向量的作用结果。矩阵对一个向量是如何作用的?...如果把矩阵A看做一个几何图形,那么乘以B就是把A的图形进行了有规律的变换,这个变换就是线性变换(将矩阵A看做多个向量的组合)。...2.3 矩阵与线性变换关系的几何意义 m×n阶矩阵可表示把一个n维空间的向量映射到m维空间的向量的线性映射,而一个n阶方阵是把一个n维空间的向量映射到自身空间另外一个向量的线性变换。...2.3.1 线性变换如何用矩阵表示 举例说明: 2.4 两个矩阵相乘是两个线性变换的复合 2.5 特征值和特征向量的几何意义 考研人很熟悉。 什么样的方阵对向量只有旋转而没有伸缩变化呢?
元素;当矩阵行数和列数相同时,称为方阵。 矩阵就是映射,或者说是向量运动的描述。 将 ? 维向量 ? 乘以 ? 矩阵 ? ,能得到 ? 维向量 ? 。...奇异矩阵 行列式为零的矩阵 特征值和特征向量 ? 特征分解 如果说一个向量 ? 是方阵 ? 的特征向量,将一定可以表示成下面的形式: ? ? 为特征向量 ? 对应的特征值。...特征值分解是将一个矩阵分解为如下形式: ? 其中, ? 是这个矩阵 ? 的特征向量组成的矩阵, ?...奇异值分解 特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的,在现实的世界中,我们看到的大部分矩阵都不是方阵,比如说有N个学生,每个学生有M科成绩,这样形成的一个N * M的矩阵就不可能是方阵...零矩阵表示的映射是将所有的点都映射到原点的映射。 对角矩阵 在方阵中,对角线(从左上到右下)上的值称为对角元素。 非对角元素全部为0的矩阵称为对角矩阵。
矩阵乘法 矩阵可以和标量相乘,矩阵可以和矩阵相乘,另外行数或者列数为 1 的矩阵等价于向量,那么矩阵也可以和向量相乘。 标量乘以矩阵,即标量乘以矩阵中的每个元素,最终结果为一个新的矩阵,如下: ?...但是平移变换矩阵为 3 X 3 矩阵,根据矩阵乘以矩阵需要满足前一个矩阵的列数等于后一个矩阵的行数这一原则,它们之间是不能相乘的;解决的办法是其它线性变换也引入齐次坐标,最终得到的变换矩阵就可以相乘了。...以某 2X2 方阵 A 为例: ? 二维坐标系中的基向量 X、Y 分别乘以方阵 A 得到新向量,画图表示如下: ?...计算高阶方阵的行列式需要借助余子式和代数余子式;首先从矩阵中任意选择一行或一列,对该行或该列的每个元素都乘以对应的代数余子式,然后把它们加起来得到的和即是该矩阵的行列式。 ? 以三阶方阵为例: ?...逆矩阵 给定一个 n X n 方阵 A,若存在另一 n X n 方阵 B,使得 A*B = B*A = I,其中 I 为 n X n 单位矩阵,如下: ?
学过线性代数的都知道矩阵的乘法,矩阵乘法条件第为一个矩阵的行数等与第二个矩阵的列数,乘法为第一个矩阵的第一行乘以第二个矩阵的第一列的对应元素的和作为结果矩阵的第一行第一列的元素。...我们参考快速幂,将数字的乘法换成矩阵的乘法,可以得出矩阵快速幂的代码; #include using namespace std; const int MOD=1e8+5;...const int maxn=2; //定义方阵的阶数 struct JZ{ int m[maxn][maxn]; };//定义maxn阶方阵 JZ muti(JZ a,JZ b,int mod...我们定义一个矩阵A |0 1| |1 1| 定义F(0)=0,F(1)=1。 构成矩阵F矩阵|0 1| A矩阵的N次幂,乘以F矩阵的第一项就是第N个斐波那契数列。...证明: F矩阵乘以A矩阵代表将右侧元素给左侧,右侧元素等于右侧加左侧。矩阵的乘法满足结合律,所以FXX*……N……X = F (XXX……*X) 所以定义不同的F矩阵可以得到不同的斐波那契数列。
当把矩阵以动态信息来看待时,其信息的侧重点在于变化二字。这时的矩阵可以看做是一个方程。 通过矩阵内所描述的变化规则从一个状态变换到另一个状态。变换可以理解为事物本身的变化,也可以理解为坐标系的变化。...:里面有无穷多的点,通过某些动作,可以从一个点“移动”到另一个点,容纳运动是空间的本质特征。...比如[-1,2]就这样表示: 我们可以通过某种运算,把空间里的一个点“移动”另一个位置。...伴随矩阵:矩阵A的伴随矩阵就是其余子矩阵的转置矩阵,记做: 用伴随矩阵求逆矩阵 这个是我自己想飞算法: 逆矩阵:设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B...矩阵乘以标量 类似,矩阵除以标量不再赘述 矩阵相乘 需要注意的是: 1.左边矩阵的列数,要和右边矩阵的行数相同。
,这是因为在进行约旦消元法的过程中,将主元列上面的数减去主元值乘以一个系数,全部化成0,也就变成了对角矩阵,而主元列的主元值都不变。 下三角矩阵的行列式 ?...矩阵的LDU分解,PLU分解,PLUP分解 LDU分解 之前我们讲过矩阵的LU分解,将一个矩阵分解成了一个单位下三角矩阵L和一个上三角矩阵U ?...在不做归一化处理的高斯消元法中,将矩阵A化成一个上三角矩阵U,同时产生一个初等矩阵的逆矩阵L。...所以这里特征值可以为0 我们再对这个等式进行一系列的变形(由于矩阵不能与常数相减,所以将常数乘以一个单位矩阵,等式两边依然成立) ? 我们其实是希望 ?...我们将任意两个向量,先相加再投影,和先投影再相加,所得到的结果一定是相同的。同一个向量乘以一个常数再投影,与先投影再乘以一个常数也是相同的。
比如将x用A的所有特征向量表示为: ? 则通过第一个变换就可以把x表示为 ? 。 ? 然后,在新的坐标系表示下,由中间那个对角矩阵对新的向量坐标换,其结果就是将向量往各个轴方向拉伸或压缩: ?...最后一个变换就是Q对拉伸或压缩后的向量做变换,由于Q和 ? 是互为逆矩阵,所以Q变换是 ? 变换的逆变换。 特征值的几何意义 一个矩阵乘以一个列向量相当于矩阵的列向量的线性组合。...一个行向量乘以矩阵,相当于矩阵的行向量的线性组合。 所以向量乘以矩阵之后,相当于将这个向量进行了几何变换。 之前讲了 Λ 是对角矩阵,其对角线上的元素为对应的特征值,也即Λii=λi。也就是 ?...奇异值分解SVD 特征值分解可以方便的提取矩阵的特征,但是前提是这个矩阵是一个方阵。如果是非方阵的情况下,就需要用到奇异值分解了。先看下奇异值分解的定义: ?...其中A是目标要分解的m * n的矩阵,U是一个 n * n的方阵,Σ 是一个n * m 的矩阵,其非对角线上的元素都是0。 ? 是V的转置,也是一个n * n的矩阵。
比如将x用A的所有特征向量表示为: 则通过第一个变换就可以把x表示为 。...最后一个变换就是Q对拉伸或压缩后的向量做变换,由于Q和 是互为逆矩阵,所以Q变换是 变换的逆变换。 特征值的几何意义 一个矩阵乘以一个列向量相当于矩阵的列向量的线性组合。...一个行向量乘以矩阵,相当于矩阵的行向量的线性组合。 所以向量乘以矩阵之后,相当于将这个向量进行了几何变换。 之前讲了 Λ 是对角矩阵,其对角线上的元素为对应的特征值,也即Λii=λi。...奇异值分解SVD 特征值分解可以方便的提取矩阵的特征,但是前提是这个矩阵是一个方阵。如果是非方阵的情况下,就需要用到奇异值分解了。...先看下奇异值分解的定义: 其中A是目标要分解的m * n的矩阵,U是一个 n * n的方阵,Σ 是一个n * m 的矩阵,其非对角线上的元素都是0。 是V的转置,也是一个n * n的矩阵。
领取专属 10元无门槛券
手把手带您无忧上云