数学复习 ---- 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 ...
随机推荐
- WPF中RadioButton的分组
当界面上出现多组Radiobutton时,将所有的Radiobutton写在同一个Grid里面,导致系统认为所有的Radiobutton是同一组,造成选择混乱,解决的方法: 1.要为属于同个组的Rad ...
- Nginx下用webbench进行压力测试
在运维工作中,压力测试是一项非常重要的工作.比如在一个网站上线之前,能承受多大访问量.在大访问量情况下性能怎样,这些数据指标好坏将会直接影响用户体验. 但是,在压力测试中存在一个共性,那就是压力测试的 ...
- Sublime-jQueryDocs
Package Control Messages======================== jQueryDocs---------- This package shows a selected ...
- python 条件判断和循环
一.条件判断 if if age>= 18: 记住在判断语句后面要加上 : 还有要注意他的缩进 age = 20if age >= 18: print 'your age ...
- C语言中常用的string.h的字符函数
strcmp 字符串比较函数 原型: int strcmp(char *str1, char *str2); 例子: ) printf("buffer 1 is greater than b ...
- Longest Common Subsequence (LCS)
最长公共子序列(LCS)是经典的DP问题,求序列a[1...n], b[1..m]的LCS. 状态是DP[i][j],表示a[1..i],b[1..j]的LCS. DP转移方程是 DP[i][j]= ...
- 找出进程中各线程cpu消耗情况
以root用户执行以下命令,以PID 5423举例: 1,根据top命令,找到占用CPU高的进程,找到PID PID USER PR NI VIRT RES SHR S %CPU ...
- WAMP 403 Forbidden禁止访问
WAMP .5修改方法 修改httpd.conf文件 # onlineoffline tag - don't remove Require local To # onlineoffline tag - ...
- Shell编程检测监控mysql的CPU占用率
shell编程很强大! 网站访问量大的时候mysql的压力就比较大,当mysql的CPU利用率超过300%的时候就不能提供服务了,近乎卡死状态,这时候最好的方法就是重启mysql服务.由于这种事具有不 ...
- Note:JSON
JSON是JavaScript的原生格式,意味着在JavaScript中处理JSON数据不需要特殊的API或工具包,它是完全独立于语言的文本格式,可以把JavaScript对象中的一组对象转化为字符串 ...