矩阵乘法

numpy常用用法总结

Deadly 提交于 2020-03-03 00:26:59
numpy 简介 numpy的存在使得python拥有强大的矩阵计算能力,不亚于matlab。 官方文档( https://docs.scipy.org/doc/numpy-dev/user/quickstart.html ) 各种用法介绍 首先是numpy中的数据类型,ndarray类型,和标准库中的array.array并不一样。 ndarray的一些属性 ndarray.ndim the number of axes (dimensions) of the array. In the Python world, the number of dimensions is referred to as rank. ndarray.shape the dimensions of the array. This is a tuple of integers indicating the size of the array in each dimension. For a matrix with n rows and m columns, shape will be (n,m). The length of the shape tuple is therefore the rank, or number of dimensions, ndim. ndarray.size the

Numpy详解

吃可爱长大的小学妹 提交于 2020-03-02 03:48:59
NumPy 简介 Python并没有提供数组功能。虽然列表可以完成基本的数组功能,但它不是真正的数组,而且在数据量比较大时,使用列表的速度会很慢。为此,Numpy提供了真正的数组功能,以及对数据进行快速处理的函数。 NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。 例如,在3D空间一个点的坐标 [1, 2, 3] 是一个秩为1的数组,因为它只有一个轴。那个轴长度为3.又例如,在以下例子中,数组的秩为2(它有两个维度).第一个维度长度为2,第二个维度长度为3. [[ 1., 0., 0.], [ 0., 1., 2.]] NumPy的数组类被称作 ndarray 。通常被称作数组。注意numpy.array和标准Python库类array.array并不相同,后者只处理一维数组和提供少量功能。 数据类型 numpy的数据类型有下面的几个 数据类型 描述 bool_ 以字节存储的布尔值(True 或 False) int_ 默认的整数类型(和 C 的 long 一样,是 int64 或者 int32) intc 和 C 的 int 相同(一般为 int64 或 int32) intp 用于下标的整数(和 C 的

试题 基础练习 矩阵乘法

心不动则不痛 提交于 2020-03-01 17:42:21
资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述   给定一个N阶矩阵A,输出A的M次幂(M是非负整数)   例如:   A =   1 2   3 4   A的2次幂   7 10   15 22 输入格式   第一行是一个正整数N、M(1<=N<=30, 0<=M<=5),表示矩阵A的阶数和要求的幂数   接下来N行,每行N个绝对值不超过10的非负整数,描述矩阵A的值 输出格式   输出共N行,每行N个整数,表示A的M次幂所对应的矩阵。相邻的数之间用一个空格隔开 样例输入 2 2 1 2 3 4 样例输出 7 10 15 22 提交代码 import java.util.Scanner; public class Main { static int n; static int m; public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt();//n阶行列式 m = sc.nextInt();//幂数 int[][] nn = new int[n][n]; int[][] nm = new int[n][n];//M次幂 //创建 for(int i = 0; i < n; i++) { for(int j = 0; j < n; j+

矩阵基础知识

五迷三道 提交于 2020-03-01 12:14:45
文章目录 1.矩阵的一些基础知识 1.1 矩阵只有乘法 1.2 向量有点乘(也是内积)和叉乘: 1.3 单位向量 1.4 正交矩阵 1.5 线性无关和线性相关的向量 1.6 矩阵的逆 1.7 对称矩阵 1.7 矩阵的秩(rank) 1.8 伴随矩阵 1.9 矩阵的零空间 1.10 矩阵的扩展基定理 1.矩阵的一些基础知识 1.1 矩阵只有乘法 1.2 向量有点乘(也是内积)和叉乘: (1)点乘就是两个对应向量值相乘 :得到的是一个数值 高中知道两个向量的长度解法: a ⋅ b = ∣ a ∣ ∣ b ∣ c o s < a , b > a · b = |a||b|cos<a,b> a ⋅ b = ∣ a ∣ ∣ b ∣ c o s < a , b > 如果给出两个向量的值: a = [ a 1 , a 2 , . . . , a n ] b = [ b 1 , b 2 , . . . , b n ] a=[a_1,a_2,...,a_n] \\ b=[b_1,b_2,...,b_n] a = [ a 1 ​ , a 2 ​ , . . . , a n ​ ] b = [ b 1 ​ , b 2 ​ , . . . , b n ​ ] 则两个向量的内积: a b = a 1 b 1 + a 2 b 2 + . . . + a n b n ab=a_1b_1+a_2b_2+...+a

SVD 奇异值分解与word embedding

血红的双手。 提交于 2020-02-29 22:21:35
在研究NLP的过程中,遇到了word embedding, 经过一系列学习,发现它最初的原理之一来自奇异值分解。于是对奇异值分解做一个简单的记录。 资料中比较好的资料: https://www.cnblogs.com/endlesscoding/p/10033527.html 原理讲解简单,demo做的十分好! https://www.cnblogs.com/litaotao-doctor/p/5320521.html 这篇把特征值和奇异值放在一起讲,十分到位。 看完上面的资料后,我觉得自己没必要记录公式原理了,自惭形秽。好,下面开始: SVD: Sigular Value Decomposition 个人认为奇异值和特征值应该可以有相同的理解,这里我们先谈特征值: 特征值的定义为对矩阵A存在特征值 λ,特征向量x,使下式成立: 而对A的所有特征值,我们称为A的谱,记为λ(A)。 那么我们该如何理解这个式子? 有几个相关的关系可以给我们参考:矩阵A的秩不小于A的非零特征值数;如果矩阵A不满秩,则一定存在0特征值;若矩阵A可对角化,则rankA = A的非零特征值数。 也就是说 矩阵的特征值与矩阵的线性相关性是有关系的。 则我们对特征值的理解可以为: 任意矩阵A对向量x的矩阵乘法,可以理解为对x向量的表换(旋转、平移、缩放),那么Ax可以理解为一次表换,而特征值λ与x的相乘

斯坦福大学机器学习课程第一周笔记

你。 提交于 2020-02-28 19:26:53
课程地址: https://www.coursera.org/learn/machine-learning/home/welcome 简记 机器学习mechine learning 监督学习Supervised learning 回归问题regression problem 分类问题classification problem 无监督学习Unsupervised learning 聚类问题clustering 非聚类non-clustering 线性回归linear regression 代价函数cost function 梯度下降算法gradient descent---第一个算法 线性代数知识 矩阵matrix 矩阵加addition 实数矩阵乘scalar Multipliction 矩阵矩阵乘matrix matrix multipliction 向量vector 矩阵标量乘matrix vector multipliction 标量identity matrix 方阵square matrix 奇异矩阵singular/退化矩阵degenerate 逆矩阵inverse 转置矩阵transponse 乘法性质 不符合交换律和结合律(除标量外) 来源: https://www.cnblogs.com/ephemerid/p/10838329.html

HDU-4686 Arc of Dream 构造矩阵

a 夏天 提交于 2020-02-28 11:33:25
  题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4686   因为a i = a i-1 *AX+AY ,b i = b i-1 *BX+BY ,那么ai*bi=AX*BX*A*a i-1 *b i-1 +AX*BY*a i-1 +BX*AY*b i-1 +AY*BYAY。令Sn为ai*bi前n项的和,Sn=Sn-1 + an*bn,因此我们可以构造一个如下的转移矩阵:   然后矩阵乘法优化就可以了。。。   注意此题n=0的情况!   其实矩阵大小只要5就可以了,那几个常数项可以合并到一列。。。 1 //STATUS:C++_AC_1296MS_232KB 2 #include <functional> 3 #include <algorithm> 4 #include <iostream> 5 //#include <ext/rope> 6 #include <fstream> 7 #include <sstream> 8 #include <iomanip> 9 #include <numeric> 10 #include <cstring> 11 #include <cassert> 12 #include <cstdio> 13 #include <string> 14 #include <vector> 15

科学计算库Numpy基础操作

社会主义新天地 提交于 2020-02-27 03:22:17
pycharm,python3.7,numpy版本1.15.1 2018年9月11日04:23:06 """ 科学计算库Numpy基础操作 时间:2018\9\11 0011 """ import numpy print("""\n------以矩阵的方式读取数据------\n ------------genfromtxt函数('文件路径',delimiter = '分隔符',dtype = 读取方式)---------------------""") """ numpy.ndarray可以当做一个矩阵 """ np_test = numpy.genfromtxt('Numpy_test.txt', delimiter = ',', dtype = str) # 通常以str方式读取,如果有float,再进行转换 print(type(np_test)) print(np_test) # print(help(numpy.genfromtxt)) # 打印帮助文档 print("""\n------numpy.array------\n ------------numpy中最核心的结构------------------------------------------""") # 传入list结构,转换为ndarray格式 vector = numpy.array([5, 10,

通俗易懂的理解卷积

余生长醉 提交于 2020-02-26 14:54:58
教科书上一般定义函数 ​的卷积如下: 连续形式: ​​离散形式:​ 并且也解释了,先对g函数进行翻转,相当于在数轴上把g函数从右边褶到左边去,也就是卷积的“卷”的由来。 然后再把g函数平移到n,在这个位置对两个函数的对应点相乘,然后相加,这个过程是卷积的“积”的过程。 这篇文章主要想解释两个问题: 卷积这个名词是怎么解释?“卷”是什么意思?“积”又是什么意思? 卷积背后的意义是什么,该如何解释? ## 考虑的应用场景 为了更好地理解这些问题,我们先给出两个典型的应用场景: 信号分析 一个输入信号f(t),经过一个线性系统(其特征可以用单位冲击响应函数g(t)描述)以后,输出信号应该是什么?实际上通过卷积运算就可以得到输出信号。 图像处理 输入一幅图像f(x,y),经过特定设计的卷积核g(x,y)进行卷积处理以后,输出图像将会得到模糊,边缘强化等各种效果。 对卷积的理解 对卷积这个名词的理解: 所谓两个函数的卷积,本质上就是先将一个函数翻转,然后进行滑动叠加。 在连续情况下,叠加指的是对两个函数的乘积求积分,在离散情况下就是加权求和,为简单起见就统一称为叠加。 整体看来是这么个过程: 翻转——>滑动——>叠加——>滑动——>叠加——>滑动——>叠加…多次滑动得到的一系列叠加值,构成了卷积函数。 卷积的“卷”,指的的函数的翻转,从 g(t) 变成 g(-t) 的这个过程;同时,“卷

层次分析法

萝らか妹 提交于 2020-02-26 00:14:48
title: 层次分析法 date: 2020-02-25 19:14:41 categories: 数学建模 tags: [MATLAB, 评价模型] mathjax: true 定义 ​ 层次分析法(The Analytic Hierarchy Process即AHP)是由美国运筹学家、 匹兹堡大学教授T . L. Saaty于20世纪70年代创立的一种系统分析与决策的综合 评价方法,是在充分研究了人类思维过程的基础上提出来的,它较合理地解 决了定性问题定量化的处理过程。 ​ AHP的主要特点是通过建立递阶层次结构,把人类的判断转化到若干因 素两两之间重要度的比较上,从而把难于量化的定性判断转化为可操作的重 要度的比较上面。在许多情况下,决策者可以直接使用AHP进行决策,极大 地提高了决策的有效性、可靠性和可行性,但其本质是一种思维方式,它把 复杂问题分解成多个组成因素,又将这些因素按支配关系分别形成递阶层次 结构,通过两两比较的方法确定决策方案相对重要度的总排序。整个过程体 现了人类决策思维的基本特征,即分解、判断、综合,克服了其他方法回避 决策者主观判断的缺点。 步骤 第一步递阶层次结构 分析系统中各因素之间的关系,建立系统的递阶层次结构。 第二步构造判断矩阵 {1,2,3,...,9}:代表重要程度,逐渐递增 得到一个方阵,我们记为A,对应的元素为 \(a_{ij}\)