Coding the Matrix (0):映射、复数和域
1. 非常好的 Python 教程
《深入 Python 3.0》 以及 IBM 开发社区的博客探索 Python.
2. 子集: s 是 S 的子集
>>>S = {2, 3, 4, 5, 6, 7}
>>>s = {x for x in S if x%2==0} # 偶数子集
>>>s
set([2, 4, 6])
3. 映射:Ceasar 加密
>>> import string
>>> table = string.maketrans("abcdefghijklmnopqrstuvwxyz", "cdefghijklmnopqrstuvwxyzab") # 向后平移两位
>>> print "hello".translate(table)
jgnnq
4. 复数练习
>>> 1 + 1j
(1+1j)
>>> 1 + 1j + (10 + 20j) # 相加
(11+21j)
>>> x = 1 + 3j
>>> (x - 1)**2 # 相乘
(-9+0j)
>>> x.real # 实部
1.0
>>> x.imag # 虚部
3.0
>>> type(x)
<type 'complex'>
5. 复平面
复数的绝对值
>>> abs(3 + 4j)
5.0
复数画点
plotting.py 的下载地址
>>> from plotting import plot
>>> L = [2+2j, 3+2j, 1.75+1j, 2+1j, 2.25+1j, 2.5+1j, 2.75+1j, 3+1j, 3.25+1j]
>>> plot(L)画图如下:

复数画图
>>> from image import *
>>> I = color2gray(file2image('./pic/01.png'))
>>> row = len(I) # 垂直高度
>>> col = len(I[0]) # 水平长度
>>> M = [x + y*1j for x in range(col) for y in range(row) if I[row-y-1][x] < 120]
>>> plot(M, max(row, col), 1) # 第二个参数便于坐标系大小的自动调节, 第三个参数表示每个像素显示的大小
图像平移
(x + yi) to (a+x + (b+y)i)
>>> plot({z + (1+2j) for z in L})
图像缩放
(x + yi) to (0.5x + 0.5yi)
>>> plot([.5*z for z in M], max(row, col), 1)

中心对称变换
(x + yi) to (-x - yi)
>>> plot({-z for z in L})
以坐标轴为中心旋转 90 度
(x + yi) to (-y + xi)
the same as:
(x + yi) to i*(x + yi)
>>> plot({1j*z for z in L})
以坐标轴为中心任意旋转和缩放

旋转 45 度:
>>> from math import pi, e
>>> plot([e**(pi*1j/4)*z for z in M], max(row, col), 1)
欧拉恒等式:
欧拉公式:


6. Playing with GF(2)
玩玩有限域(伽罗华域, galois field)
galois field 2 只有两个元素: 0 和 1. 在这个域中,加法运算是异或操作,乘法运算是与操作。运算律比如分配律在这里仍然适用。
>>> from GF2 import one
>>> one + one
0
>>> one + 0
one
>>> one * one
one
>>> one * 0
0
>>> one / one
one对于这样一个加密系统:

概率均匀分布,并且密文与明文是独立的。
Network coding
Streaming video through network
a) 一个顾客木有问题

b) 两个顾客发生冲突

c) 先编码,再解码,两个发送端可同时发送到两个接收端

Coding the Matrix (0):映射、复数和域的更多相关文章
- 【Python】Coding the Matrix:Week 5: Dimension Homework 5
这一周的作业,刚压线写完.Problem3 没有写,不想证明了.从Problem 9 开始一直到最后难度都挺大的,我是在论坛上看过了别人的讨论才写出来的,挣扎了很久. Problem 9在给定的基上分 ...
- Coding the Matrix Week 1 The Vector Space作业
Coding the Matrix: Linear Algebra through Computer Science Applications 本周的作业较少,只有一个编程任务hw2.作业比较简单,如 ...
- Coding the Matrix作业Python Lab及提交方法
Coding the Matrix: Linear Algebra through Computer Science Applications 这是一门用python实现矩阵运算的课,第一次作业就感觉 ...
- Spring boot2.0 与 2.0以前版本 跨域配置的区别
一·简介 spring boot升级到2.0后发现继承WebMvcConfigurerAdapter实现跨域过时了,那我们就紧随潮流. 二·全局配置 2.0以前 支持跨域请求代码: import or ...
- Coding the Matrix (3):矩阵
1. 矩阵与映射 矩阵和映射包含两方面的关系: 简单:已知矩阵 M, 从向量 x 映射到 M * x. (注:矩阵与行向量的点乘) 稍微复杂:已知映射 x ->M * x, 求矩阵 M. 第一种 ...
- Vuejs2.0之异步跨域请求
Vuejs由1.0更新到了2.0版本.HTTP请求官方也从推荐使用Vue-Resoure变为了axios.接下来我们来简单地用axios进行一下异步请求.(阅读本文作者默认读者具有使用npm命令的能力 ...
- Natasha 4.0 探索之路系列(二) "域"与插件
域与ALC 在 Natasha 发布之后有不少小伙伴跑过来问域相关的问题, 能不能兼容 AppDomain, 如何使用 AppDomain, 为什么 CoreAPI 阉割了 AppDomain 等一系 ...
- tomcat7.0配置CORS(跨域资源共享)
平时我们做前台页面时可能会遇到浏览器以下提示(浏览器控制台): 已阻止跨源请求:同源策略禁止读取位于 http://xxx.xxx.com 的远程资源.(原因:CORS 头缺少 'Access-Con ...
- Coding the Matrix (2):向量空间
1. 线性组合 概念很简单: 当然,这里向量前面的系数都是标量. 2. Span 向量v1,v2,.... ,vn的所有线性组合构成的集合,称为v1,v2,... ,vn的张成(span).向量v1, ...
随机推荐
- oc-基本语法
一.第一个oc程序 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { NSLog(@& ...
- Mathout 安装部署
安装Mahout,并运行测试样例,抓图测试实验过程 证明已部署成功 Mahout 下载地址:http://apache.dataguru.cn/mahout/0.9/mahout-distributi ...
- 深入JVM系列(三)之类加载、类加载器、双亲委派机制与常见问题
一.概述 定义:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的java类型.类加载和连接的过程都是在运行期间完成的. 二. 类的 ...
- 开发一个App要多少钱?APP开发报价单,APP开发外包有哪些注意事项-广州达到信息www.ddapp.com.cn
来源:广州达到信息著作权归广州达到信息所有.商业转载请联系作者获得授权,非商业转载请注明出处. 作为一个APP开发从业者,经常会有人问到:开发一个App要多少钱?下面针对这个问题来好好解答解答正经的谈 ...
- DAC使用基本准则
DAC Nyquist Zones, Zero Order Hold, and Images why do the Fout images exist in every Nyquist zone? W ...
- 边工作边刷题:70天一遍leetcode: day 85-3
Zigzag Iterator 要点: 实际不是zigzag而是纵向访问 这题可以扩展到k个list,也可以扩展到只给iterator而不给list.结构上没什么区别,iterator的hasNext ...
- A*寻路初探 GameDev.net
A*寻路初探 GameDev.net MulinB按:经典的智能寻路算法,一个老外写的很透彻很清晰,很容易让人理解神秘的A*算法.以下是一个中文翻译版. A*寻路初探 GameDev.net 作者: ...
- 【hibernate】<第二节>hibernate的一对多映射(基本类型)
所需工具与前文一致! 第一部分内容:基本类型的一对多(one to many) 以部门表与员工表为例: 目录结构: hibernate.cfg.xml内容 <?xml version=" ...
- Android Studio系列教程二--基本设置与运行
Android Studio系列教程二--基本设置与运行 2014 年 11 月 28 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处! 上面一篇博客,介绍了Studio的 ...
- StackBlur.js
StackBlur.js 是 Mario Klingemann 创建的一个快速的.接近高斯模糊的效果库. 更多信息: http://incubator.quasimondo.com/processin ...