数学复习 ---- Mathematics Notes: A Programmer's Perspective ---- by Orzer ---- 我是沙茶
今年是好没长进的一年呢。。只学了些基本的方法。。
本文记号
0] x:p x类型为p
1] f(x) 表示一个函数
2] (n_1,n_2,...) 表示多元组,特别的,(n)表示一个一元组
3] x 表示一个代数符号/未知数/变量,即x:unm
4] {...} 表示一个集合(一般指无序)
- {expr|x in set} 表示对set里的每一个元素执行expr的集合,即
set2<-{expr|x in set} 此时expr是set关于set中的元素x到set2的映射之一,记为
expr:mapper((set,x,set2))
- 特别的,符号的集合被记为unm (Universal names),所有集合的集合被记为als (All sets)
1[e] 函数的类型:
- f(x:(set:als)):(set2:als) (为f:fun<(x:(set:als)):(set2:als)>简写)
abbr. f(x): set->set2
- 某类型的函数构成集合{(f:unm):(set:als)->(set2:als)}
- 例: mapper({(set:als,sy:unm,set2:unm)}):{(f:unm):(sy:set)->(py:set2)}
5] [...] 表示一个向量/矩阵/序列(根据上下文)
6] 某些集合的表示
- R/RR 实数集合
- 实数后继记为(x:RR)+,前导记为x-
- Q/QQ 有理数集合
- Z/ZZ 整数集合
- C/CC 复数集合
- 广义的,多元数集合将被记为<bS_1,bS_2...>
即C=<R,R>
二元整数将被记为CC^Z=<ZZ,ZZ>
- n次多项式集合被记为poly<n:ZZ>
- 多项式用某符号表示的函数集合记为(x:unm)(poly<n:ZZ>)
7] 极限的表示
- lim{x->n}(expr)
如
- lim{x:unm->n:RR}(p:poly<d:ZZ>)=p(x)
8] = 和 <- 和 ->
- = 表示意义等同或严格相等
- <- 表示赋值
- -> 是函数返回值的一个记号
* 记为 表示意义等同
9] 运算符
-
+ - * / ^ 等常见的
10]括号的滥用
别见怪
1. 极限
思想
我们有一个函数f(x):RR->RR.
函数,大概学过编程的人都认得。但是计算机的函数和数学的比,有拓展的方面,也有不如的方面。
一个单变量函数可以看成是一个集合到另一个集合的映射。类似的,多变量函数没有区别,因为我们可以将它归为多元组。
大多数情况下,f(x)的值都是可计算的。确实,当f(x:RR):x(poly<n:ZZ>)时,是可计算的。但是回想起这一个式子,典型的"错误"式子:
1/0
它的值无法计算。我们简单地将这个值称为NaN或CCInf。或直接抛出错误。
NaN是个很特殊的值。NaN{operator}(p:als)=NaN。你可能会说这是无穷大oo..其实它不是。oo是一个过程的数形记号。oo不会等于任何数.
那么让我们看看这两个函数f(x)=e^x和g(x)=sin(x)/x.
f(x)=e^x($f(x)=e^x$)是一个普通的例子,在函数作用域上的任何一点可求值。g(x)=sin(x)/x($g(x)=\frac{\sin{x}}{x}$)似乎也是处处可求值的,但是在x=0时却无意义。
(16x SSAA 高斯模糊平滑4px 立方缩放)
就是中间那个白色圆点的地方。观察这个函数,显然的,这个点的值应该是1;因为越接近这个点,值越趋向于1.我们还发现,我们可以从两个方向逼近这个点,
那么我们把从右向左逼近称为lim{x->N+}(f(x)),从左往右逼近称为lim(x->N-}(f(x)),字面上看,也就是说从左往右逼近永远小于N.
如果一个函数对于某一个N有lim{x->N+}(f(x)}=lim{x->N-}(f(x))等价于lim(x->N)(f(x))
但是如何求这个值呢?显然观察法是不靠谱的.为此,我们先引出严格的定义.
背景知识
数列的极限
假使我们有一个无穷序列x=Senquence[x_1,x_2,x_3,...]和一个数N:RR:const
如果对于任意小的p:RR,我们总能找到一个数d:ZZ+,使得foreach i >= d:abs(x[i]-N)<=p
那么我们称N为数列x的极限 如果一个数列有极限,我们称这个数列是收敛(convergent)的,如果一个数列不是收敛的,那么我们说这个数列是发散(divergent)的.
这个数列的极限记为
lim{x}[oo]
(oo表示无限增长的过程)
为了建立统一方便的记号,我们将发散序列的表示记为
lim{x}[oo]=oo
由于oo是一个过程而不是实数,那么我们就来劲了
is_convergent(x[])=> is(lim{x}[oo],RR)
is_divergent(x[]) => if(lim{x}[oo]=oo)
函数某点的极限
我们这里的函数,指的当然是定义域为实数域的函数。
我们有一个函数f(x),给定一个足够小的r:RR,一个逼近的数N:RR和一个L:RR:const,对于任意的0<e:RR<=r,都有一个t:RR,使得f(x)在Range(x,N+,N+(-)t)范围内abs(f(x)-L)<=e,那么L被称为lim{x->N+(-)}(f(x))
这是一个相当精确的定义,只是LZ语文不好...注意上式中+(-)号必须相等. 另一个等价的定义,不过没说明N+,N-,N时的极限的关系...
e:RR
theta:RR
forall e>0 exist(theta>0)->{
when(x in UNull(N,theta))->
f(x) in UNull(L,e)
)
}
UNull 表示空心邻域即
UNull(x,y)={p|Range(p,x+,x+y)&Range(p,x-,x-y)}
Range 函数返回一个实数集表示范围,
Range(x,f,t)={x|f<=x<=t}
x+(-) 运算符表示去本身,例如
x+<=p 等价于 x<p 无穷处的极限 通过第一个定义我们可以推出函数在无穷处的极限的定义.
given(f(x)),if(exist(A:RR)):{
forall(small) e:RR > 0 exist t:RR :
when x > t:
abs(f(x)-A)<=e
}->A=lim{x->+oo}(f(x))
given(f(x)),if(exist(A:RR)):{
forall(small) e:RR > 0 exist t:RR :
when x < t:
abs(f(x)-A)<=e
}->A=lim{x->-oo}(f(x)) if(f(x).{lim{+oo}=lim{-oo}})f(x).{lim{oo}=lim(+oo)=lim(-oo)} 收敛的定义是类似的. 无穷小和无穷大 程序员的基本素养----你一定对时间复杂度不陌生.比如我一看到指数级复杂度就觉得是没法满足要求的,而事实上有些指数级算法的真实应用不错.我们叫它渐进复杂度.
数学上表示一个函数变化的速度也是用类似的,不过被称为阶(Order).
我们用O+(f(x))表示一个函数趋向无穷大的速度,用O-(f(x))表示趋向无穷小的速度. × 无穷小 什么是无穷小?
其实无穷大和无穷小一样,都是一个过程的描述.
定义 Definition
给定一个函数f(x),如果lim{x->x_0}(f(x))=0,记f(x)为x_0处的无穷小,(x->x_0时的无穷小),
表示为iS(f,x->x_0) × 无穷大 与无穷小类似.
iB(f,f->f_0) × 阶 阶表示接近的速度.
(注意,阶函数在逼近域中是单调函数)
设a=iS(f,x->x_0),b=iS(g,x->x_0)
1. lim(a/b)=0
O-(a)>O-(b)
2. lim(a/b)=oo
O-(a)<O-(b)
3. lim(a/b)=c:RR:const
O-(a)=O-(b) ....... 同阶无穷小
specially,when c=1,
O-(a)~O-(b) ............ 等价无穷小
O+阶正好相反. 计算 O(f)+O(g)=max(O(f),O(g))
求极限
目录
数学复习 ---- Mathematics Notes: A Programmer's Perspective ---- by Orzer ---- 我是沙茶的更多相关文章
- [数学笔记Mathematical Notes]目录
2.也许是一个问题,暂时没给出解答. 2015年7月5日 1. 这个一个笔记类型的数学杂志, 打算用来记录自己学数学时做的笔记,一般几页纸一期. 觉得有意思就摘抄下来,或者自己的感想. 可能有些不是原 ...
- [数学笔记Mathematical Notes]2-一个带对数的积分不等式
定理. $$\bex \int_0^1\frac{\ln^2x}{x^x}\rd x<2\int_0^1 \frac{\rd x}{x^x}. \eex$$ 证明: 由分部积分及 Fubini ...
- [数学笔记Mathematical Notes]1-调和级数发散的一个简单证明
定理. 调和级数 $\dps{\vsm{n}\frac{1}{n}}$ 是发散的. 证明. 设 $$\bex a_n=\sum_{k=1}^n\frac{1}{k}, \eex$$ 则 $a_n$ 递 ...
- 吴恩达机器学习笔记43-SVM大边界分类背后的数学(Mathematics Behind Large Margin Classification of SVM)
假设我有两个向量,
- 【数学/扩展欧几里得/线性求逆元】[Sdoi2008]沙拉公主的困惑
Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现 ...
- ELNEC Programmer
BeeHive204 Very fast universal 4x 48-pindrive concurrent multiprogramming system with ISP capability ...
- [吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释
12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.3 大间距分类背后的数学原理- Mathematic ...
- 经典数学问题<手电过河问题>的动态解法--问题规模扩展至任意大小
非常有趣的一件事是今天在TopCoder的1000分题里面发现了这道经典数学问题. Notes - In an optimal solution ...
- C# Windows Service调用IBM Lotus Notes发送邮件
近日研究了下IBM Lotus Mail,这货果然是麻烦,由于公司策略,没有开放smtp,很多系统邮件都没有办法发送,于是入手google学习Lotus Mail,想做成Windows服务,提供wcf ...
随机推荐
- C基础--C语言的数组
数组的定义: 一.正确写法: 1.int ages[5]--定义了一个5个长度的int类型的数组 2.int ages[]={1,2,3,4,5};--定义了一个5个长度的int类型的数组,并且初始化 ...
- Java-try-catch-finally
try-catch语句还可以包括第三部分,就是finally子句.它表示无论是否出现异常,都应当执行的内容.try-catch-finally语句的一般语法形式为: try { // 可能会发生异常的 ...
- java基础-关键字-native
一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口.一个Native Method是这样一个java的方法:该方法的实现由 ...
- scanf的一些技巧
一.scanf和gets 1.不同点: char string[50]; scanf("%s",string); //当遇到回车,空格和tab键会自动在字符串后面添加'\0',但是 ...
- 【UVA 11462】 Age Sort(基数排序)
题 题意 给你最多2000000个数据,大小是1到99的数,让你排序输出. 分析 快排也可以过.不过这题本意是要基数排序(桶排序),就是读入年龄age, a[age]++,然后输出时,从1到99岁(看 ...
- python_元组
元组 元组是用圆括号括起来的,其中的元素之间用逗号隔开.(都是英文半角) >>># 变量引用 str >>> s = "abc" >> ...
- 未完结第八节 JBPM流程节点
1.12个节点介绍 2.Node节点
- Java JDBC下执行SQL的不同方式、参数化预编译防御
相关学习资料 http://zh.wikipedia.org/wiki/Java数据库连接 http://lavasoft.blog.51cto.com/62575/20588 http://blog ...
- java反射学习
通过一个对象获得完整的包名和类名 package reflect; public class GetClass { public static void main(String[] args) { G ...
- 清除TFS版本控制信息
http://blog.csdn.net/feihu_guest/article/details/8442434 How to permanently remove TFS Source Contro ...