矩阵加法

矩阵快速幂小结

旧街凉风 提交于 2020-02-07 18:07:34
update in 9.17 矩阵 并不想扯什么高端线代的内容 因为我也不会 定义 由$n \times m$个数$a_{ij}$排成的$n$行$m$列的数表称为$n$行$m$列的矩阵,简称$n \times m$矩阵。 $$ A = \begin{bmatrix} a_{11} & a_{12} & \dots a_{1m} \\ a_{21}, & \dots & \dots \\ a_{31}, & \dots & \dots \\ a_{41} & \dots & a_{nm} \end{bmatrix} $$ 运算 这里只讲加法减法和乘法,其他的例如矩阵求逆等与本文内容出入较大,有兴趣的可以自己学习 加法 注意,只有行列均相同的矩阵才有加法! 运算也比较简单,把对应位置的数相加得到一个新的矩阵,即为答案 例如 $$ \begin{bmatrix} 1 & 1 & 2 \\ 1 & 0 & 1 \end{bmatrix} + \begin{bmatrix} 2 & 3 & 3 \\ 3 & 3 & 2 \end{bmatrix} = \begin{bmatrix} 3 & 4 & 5 \\ 4 & 3 & 3 \end{bmatrix} $$ 加法满足以下运算律 $A + B = B + A$ $(A + B) + C = A + (B + C)$ 减法 与加法同理。 乘法

[Python] numpy

耗尽温柔 提交于 2020-01-30 00:06:36
numpy中array的特性: https://www.jianshu.com/p/a75e522d5839# https://blog.csdn.net/zenghaitao0128/article/details/78300770 相关操作: #两个元素的向量 a = np.array([1,2]) #1X2矩阵 a1 = np.array([[1,2]]) #2X1矩阵 a2 = np.array([[1],[2]]) #三个元素的向量 b = np.array([1,2,3]) #1X3矩阵 b1 = np.array([[1,2,3]]) #3X1矩阵 b2 = np.array([[1],[2],[3]]) #3X2矩阵 c = np.array([[1,1],[1,2],[1,3]]) #2X2矩阵,不同维矩阵相加,先扩维 print(a1+a2) #1X2矩阵,向量加矩阵,扩为行矩阵 print(a+a1) #2X2矩阵,向量转为行矩阵,然后矩阵扩维 print(a+a2) #报错,向量元素个数不相等 print(a+b) #三个元素的向量,矩阵乘向量 print(np.dot(c,a)) #报错,不符合矩阵乘法定义 print(np.dot(c,a1)) #3X1矩阵,矩阵乘法 print(np.dot(c,a2)) 矩阵乘法按定义,矩阵加法会扩维

矩阵论 - Part II

拜拜、爱过 提交于 2020-01-25 21:31:26
矩阵论 - Part II 文章目录 矩阵论 - Part II 概念索引 4 矩阵空间 概念索引 4 向量空间, 最大线性无关组, 线性(子)空间, 线性空间的维数, 基和坐标, 同构映射, 同构空间, 基变换, 过度矩阵, 坐标变换, 线性变换, 线性变换的矩阵表示, 相似矩阵 , 欧式空间, 內积, 范数, Schwartz不等式, 夹角, 规范正交基, Schmidt正交化过程, 正交矩阵 4 矩阵空间 向量空间 向量空间: n n n 维向量的集合 V V V , 如果对加法和数乘运算封闭, 则集合 V V V 称为 向量空间 生成向量空间 子空间 空间维数 0空间 最大线性无关组 : 向量组 A A A 中有 r r r 个向量(设为向量组 A 0 A_0 A 0 ​ )线性无关, 任意 r + 1 r+1 r + 1 个向量线性相关, 则称 A 0 A_0 A 0 ​ 是一个 最大线性无关组 , r r r 称为向量组的 秩 , 只含有0向量的向量组没有最大无关组, 规定其秩为 0 0 0 矩阵的秩等于其列向量组的秩, 也等于其行向量组的秩 向量组 B B B 可以由向量组 A A A 线性表示, 则向量组 B B B 的秩不大于向量组 A A A 的秩 等价的向量组秩相等 设 C = A B C = AB C = A B , 则 { R ( C ) ≤ R ( A

线性代数学习笔记——矩阵

陌路散爱 提交于 2020-01-17 23:39:25
1.引出 在利用Gauss消元法求解线性方程组的过程中,参与运算的只是其中的系数和常数项,将这些系数和常数项写成"表格"的形式来表示求解的过程,于是引入矩阵的概念。 2.定义 矩阵及其初等行变换  ①矩阵 ( a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋮ ⋮ a s 1 a s 2 ⋯ a s n ) (1) \left( \begin{matrix} a11 &a12 &\cdots &a1n \\ a21 &a22 &\cdots &a2n \\ \vdots &\vdots &\vdots &\vdots \\ as1 &as2 &\cdots &asn \end{matrix} \right)\tag{1} ⎝ ⎜ ⎜ ⎜ ⎛ ​ a 1 1 a 2 1 ⋮ a s 1 ​ a 1 2 a 2 2 ⋮ a s 2 ​ ⋯ ⋯ ⋮ ⋯ ​ a 1 n a 2 n ⋮ a s n ​ ⎠ ⎟ ⎟ ⎟ ⎞ ​ ( 1 ) a ij 称为矩阵的 元素 。元素为实数的矩阵称为 实矩阵 ,元素为复数的矩阵称为 复矩阵 。如果s=n,则(1)式中的矩阵称为 n阶矩阵 或 n阶方阵 两个矩阵完全相同时(行数相同,列数相同,对应元素相同),称他们 相等 两个或两个以上矩阵,行数相同,列数相同,称它们为 同型矩阵  ②初等行变换

线性代数学习笔记

大城市里の小女人 提交于 2020-01-13 22:51:26
线性代数学习笔记 1 矩阵 1.0 矩阵的基本概念 首先需要了解基本的东西,矩阵. 定义一个矩阵 \(A\) 有 \(m\) 行 \(n\) 列,那么可以写成: \[ \begin{matrix} A_{1,1}\ A_{1,2}\cdots A_{1,n}\\ A_{2,1}\ A_{2,2}\cdots A_{2,n}\\ \ \ \ \ \ \ \ \vdots \\ A_{m,1}\ A_{m,2}\cdots A_{m,n}\\ \end{matrix} \] 我们还可以定义矩阵的数乘为 \(\lambda A\) ,相当于是给矩阵中所有的元素都乘上一个数字. 然后矩阵有如下性质: 结合率: \(ABC=A(BC)\) 数乘结合律: \(\beta(\lambda A)=\beta\lambda A\) ...(自行百度) 有一些特殊的矩阵,我们称之为 \(I\) , \(0\) . \(I\) ,单位矩阵,就是对角线全是 \(1\) ,其他位置都是 \(0\) 的矩阵. \(0\) ,零矩阵,就是所以位置都是 \(0\) 的矩阵. 1.1 矩阵的逆,矩阵的秩 矩阵的逆,就是存在一个矩阵 \(A^{-1}*A=I\) ,我们就称 \(A^{-1}\) 为 \(A\) 的逆矩阵. 矩阵的秩 \(A^{T}\) ,定义就是 \(A^{T}(i,j)=A(j,i)\) .

线性代数基础知识(三)—— 矩阵乘法

谁说胖子不能爱 提交于 2020-01-05 22:13:13
矩阵 A ∈ R m × n 和 B ∈ R n × p 的乘积为矩阵 : 其中: . 请注意,矩阵A的列数应该与矩阵B的行数相等,这样才存在矩阵的乘积。有很多种方式可以帮助我们理解矩阵乘法,这里我们将通过一些例子开始学习。 2.1 向量的乘积 给定两个向量x,y ∈ R n ,那么x T y的值,我们称之为向量的 内积 或 点积。它 是一个由下式得到的实数: . 可以发现,内积实际上是矩阵乘法的一个特例。通常情况下x T y = y T x。 对于向量x ∈ R m , y ∈ R n (大小不必相同),xy T ∈ R m×n 称为向量的 外积 。外积是一个矩阵,其中中的每个元素,都可以由 得到,也就是说, . 我们举个例子说明外积有什么用。令 1 ∈ R n 表示所有元素都是1的n维向量,然后将矩阵 A ∈ R m × n 的每一列都用列向量 x ∈ R m 表示。使用外积,我们可以将A简洁的表示为: . 2.2 矩阵 - 向量的乘积 对于一个矩阵 A ∈ R m × n 和向量 x ∈ R n ,他们的乘积为向量 y = Ax ∈ R m 。理解矩阵向量乘法的方式有很多种,我们一起来逐一看看。 以行的形式书写A,我们可以将其表示为Ax的形式: . 也就是说, y 第 i 行的元素等于A的第 i 行与x的内积 . 咱们换个角度,以列的形式表示A,我们可以看到: . 换言之,

机器学习_基础数学

☆樱花仙子☆ 提交于 2020-01-05 22:06:58
机器学习中所需要用到的数学知识: 微积分  线性代数  概率论  最优化方法 1.导数 求导公式 (一元)左导数与右导数都存在且相等,此处的导数才存在。 基本函数求导: 两个重要极限:   单调有界的序列必定收敛   夹逼定理 导数四则运算: 复合函数求导: 高阶导数: 导数与函数单调性的关系: :函数在此点单调增 :函数在此点单调减 极值定理: :(驻点)函数在此点是极值点,可能是极大值(二阶导小于零),也可能是极小值(二阶导大于零)可能是拐点(二阶导等于零) 拐点是凹函数与凸函数的交替点。 导数与函数凹凸性的关系: 凸函数:函数内任意两点的连线,大于两点间的任一点的函数值。 凹函数:函数内任意两点的连线,小于两点间的任一点的函数值。 二阶导大于零,是凸函数。 二阶导小于零,是凹函数。 2.一元函数泰勒展开 3.向量 向量与其运算: 向量分为行向量和列向量。 转置:行向量转置变为列向量,列向量转置变为行向量。 加法:对应位置分量相加 减法:对应位置分量相减 数乘:数与每个分量分别相乘 内积:两个向量的对应分量相乘再相加,两个向量转换为一个标量 a=(a1,a2,...,an),b=(b1,b2,...,bn)-------->a与b内积=a1b1+a2b2+...+anbn 向量的范数 L-P:L的P范数: ,P一般取整数。 L-1范数: L-2范数: 3.矩阵 矩阵与其运算

矩阵论

自古美人都是妖i 提交于 2019-12-28 15:47:50
矩阵论 矩阵论札记. 梁昌洪 . 2014学习概要 文章目录 矩阵论 第1部分 线性基础 第2部分 矩阵代数 第3部分 线性方程组 第4部分 矩阵空间 第5部分 本征问题与二次型 第6部分 矩阵变换 第7部分 矩阵应用 第1部分 线性基础 矩阵3大特点 : 矩阵是线性的 矩阵是离散的 矩阵是代数和几何交融的 行列式 n n n 阶 行列式 D D D 的值为 D = ∣ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a n n ∣ = ∑ t = 0 n ! ( − 1 ) t a 1 p 1 a 2 p 2 ⋯ a n p n D = \left| \begin{matrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & &\vdots \\ a_{n1} & a_{n2} & \cdots &a_{nn} \end{matrix} \right | = \sum_{t=0}^{n!} (-1)^ta_{1p_1}a_{2p_2}\cdots a_{np_n} D = ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ​ a 1 1 ​ a 2 1 ​ ⋮ a n 1 ​ ​ a 1 2 ​

Numpy

时间秒杀一切 提交于 2019-12-27 07:22:10
ndarray的优势—为什么快? 存储空间连续,访问速度快 可以并行执行-Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,所以,其效率远高于纯Python代码。 numpy基于矩阵,矩阵可以分块计算,所以可以实现并行 ndarray的属性 Shape—形状—注意:返回的是元组 ndim—维度的个数—就是shape的长度 size—元素个数=shape的各个值想乘 dtype—元素的类型 ndarray的形状 生成数组的方法 生成0和1的数组 np.ones(shape) np.ones_like(array)—根据给定数组生成一个形状一样的数组 np.zeros np.zeros_like 从现有数组生成 np.array--深拷贝 np.asarray--浅拷贝 生成固定范围的数组 np.linspace—start,stop,num 在star到stop之间等区间的选取num个数,注意:一定可以去到stop np.arange(start,stop,step) 以start未开始,每隔step取一个值 stop肯定取不到(左闭右开) 等于python的range np.logspace(start,stop,num) 以10为低的指数值,等比 生成随机数组 均匀分布 np.random.rand—0

优雅的线性代数系列一

狂风中的少年 提交于 2019-12-26 09:47:51
 说道线性代数, 我们自然就想到矩阵, 那我们该如何理解矩阵呢? 矩阵与线性变换 若一个变换 \(L\) 满足以下两条性质 \[ \begin{align*} L(\vec v+ \vec w) &= L(\vec v) + L(\vec w) &(1) \text{"可加性"} \\ L(c\vec v) &= c L(\vec v) \quad\quad\ &(2) \text{"成比例"} \end{align*} \] 则称 \(L\) 是线性的. 值得注意的一点时, 线性变换中, 坐标系的原点不动, 即零向量的变换结果还是零向量. 我们来看看矩阵与线性变换的关系 \[ A(v+w) = Av + Aw \Leftrightarrow L(\vec v+ \vec w) = L(\vec v) + L(\vec w)\\ A(cv) = c(Av) \Leftrightarrow L(c\vec v) = c L(\vec v) \] 可以看出矩阵完全满足线性变换的要求, 所以现在你应该将矩阵看做线性变换, 这会给我们理解很多线性问题带来很大的好处. \(\bigstar\) 如果想知道线性变换对于一个输入向量空间有什么影响, 我们只需要知道该线性变换对该输入空间的基有什么影响, 我们就能知道所有信息. 假设 n 维输入空间 \(R^n\) 的基为 \(v1, v_2,