1. list 画点

>>> from plotting import plot
>>> L = [[2, 2], [3, 2], [1.75, 1], [2, 1], [2.25, 1], [2.5, 1], [2.75, 1], [3, 1], [3.25, 1]]
>>> plot(L)

2. 缩放

alpha × vec = [alpha × elem for elem in vec]

>>> def scalar_vector_mult(alpha, v): return [alpha*x for x in v]
...
>>> v = [3, 2]
>>> plot([scalar_vector_mult(i/10., v) for i in range(11)], 5)

3. 仿射:加乘组合

得到从 [0, 0] + [0.5,1] 开始到 [3, 2] + [0.5, 1] 结束的线段。 这种表示方法对 端点来说不具有对称性。如何转换?

现在对于端点来说就具有对称性了。通过这两个端点的直线包含了两个端点对应向量的 仿射集合。

4. GF(2) 加密

a) 要将期中考试的一份试卷交给两个助教,为了防止某一个助教舞弊,发给两个人的加密后的数据必须 合二为一才能进行解密,具体过程如下:

b) 电脑认证登陆——黑客可能窃听,不适合直接传输用户密码。解决方案:电脑给出一串二进制问题,用户掌握一串二进制密码,在 GF(2) 上点乘(先乘再加),得到输出。

黑客窃听到数个电脑的问题 alpha 和用户计算后的结果 beta,需要知道用户的密码,需要解方程:

5. 点乘

两个向量a = [a1, a2,…, an]和b = [b1, b2,…, bn]的点积定义为:

在欧几里得空间中,点积可以直观理解为:

用公式可以表示为:

直观地说,就是向量 A 在向量 B 方向的投影,再乘以 B 的长度。如果将 B 的长度标准化,那么点乘就可以表示两个向量之间的相似性了。比如在一段长音频中匹配一段短音频,可以把短的音频逐个往后移动,每次移动进行一次点乘计算,值越大,相似性越大,DFT 和 DCT 变换都是基于这种操作求不同频域的组分大小的。

编程待续:点乘——用字典类型编写向量类

                             用向量类解三角线性方程组的根

Coding the Matrix (1):向量的更多相关文章

  1. 【Python】Coding the Matrix:Week 5: Dimension Homework 5

    这一周的作业,刚压线写完.Problem3 没有写,不想证明了.从Problem 9 开始一直到最后难度都挺大的,我是在论坛上看过了别人的讨论才写出来的,挣扎了很久. Problem 9在给定的基上分 ...

  2. Coding the Matrix Week 1 The Vector Space作业

    Coding the Matrix: Linear Algebra through Computer Science Applications 本周的作业较少,只有一个编程任务hw2.作业比较简单,如 ...

  3. Coding the Matrix作业Python Lab及提交方法

    Coding the Matrix: Linear Algebra through Computer Science Applications 这是一门用python实现矩阵运算的课,第一次作业就感觉 ...

  4. Coding the Matrix (3):矩阵

    1. 矩阵与映射 矩阵和映射包含两方面的关系: 简单:已知矩阵 M, 从向量 x 映射到 M * x. (注:矩阵与行向量的点乘) 稍微复杂:已知映射 x ->M * x, 求矩阵 M. 第一种 ...

  5. Coding the Matrix (2):向量空间

    1. 线性组合 概念很简单: 当然,这里向量前面的系数都是标量. 2. Span 向量v1,v2,.... ,vn的所有线性组合构成的集合,称为v1,v2,... ,vn的张成(span).向量v1, ...

  6. Coding the Matrix (0):映射、复数和域

    1. 非常好的 Python 教程 <深入 Python 3.0> 以及 IBM 开发社区的博客探索 Python. 2. 子集: s 是 S 的子集 >>>S = {2 ...

  7. 【Python】Coding the Matrix:Week 5 Perspective Lab

    这个Lab的内容光是说明就有7页之巨,我反复看了很久才看懂一点点,Lab主要完成的是从不同坐标系表示之间变换的方法. 原始的图片,从Camera basis的表示转换成WhiteBoard basis ...

  8. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  9. [Java]编写自己的Matrix矩阵类

    用java实现一个简单的矩阵类,可以实现简单的矩阵计算功能. class Matrix 1.向量点乘 public static double dot(double[] x,double[] y) 2 ...

随机推荐

  1. Redhat6.5 安装64位oracle11.2.0.1

    系统架构 [root@localhost ~]# uname -a Linux db 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 ...

  2. spark Basic code demo

    spark-shell --master=spark://namenode01:7077 --executor-memory 2g --driver-class-path /app/spark141/ ...

  3. JVM 垃圾回收算法

    在说垃圾回收算法之前,先谈谈JVM怎样确定哪些对象是“垃圾”. 1.引用计数器算法: 引用计数器算法是给每个对象设置一个计数器,当有地方引用这个对象的时候,计数器+1,当引用失效的时候,计数器-1,当 ...

  4. 自定义input[type="file"]的样式

    input[type="file"]的样式在各个浏览器中的表现不尽相同: 1. chrome: 2. firefox: 3. opera: 4. ie: 5. edge: 另外,当 ...

  5. 小白有问题-下雨天给linux装adobe flash player更配

    上班出门还没下雨天气闷热,现在的外面下的却是倾盆大雨.还好出门带了伞,内心还是快乐的. 上班我们都是用的Debian系统,平时没事上上网偶尔会遇到提示没安装flash的问题,正好现在没啥事,就打算把它 ...

  6. NYOJ-301递推求值

    递推求值 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 给你一个递推公式: f(x)=a*f(x-2)+b*f(x-1)+c 并给你f(1),f(2)的值,请求出f ...

  7. AC日记——逃跑的拉尔夫 codevs 1026 (搜索)

    1026 逃跑的拉尔夫  时间限制: 1 s    空间限制: 128000 KB    题目等级 : 黄金 Gold 题解       题目描述 Description   年轻的拉尔夫开玩笑地从一 ...

  8. 创建自定义的Cocos2d-x场景

    操作步骤 1.创建cocos2d-x工程 2.新建 Scene1.cpp Scene1.h Scene1.h代码 #ifndef __SCENE1_H__#define __SCENE1_H__ #i ...

  9. Javascript 中的 in, hasOwnProperty, delete, for/in

    in 运算符 判断对象是否拥有某一属性只要对象拥有该属性,就会返回true,否则false var point = { x:1, y:1 };alert( 'x' in point );  //tru ...

  10. WPF登陆窗口、主窗口切换问题

    代码 MainWindow mwin = new MainWindow(); Application.Current.MainWindow = mwin; this.Close(); mwin.Sho ...