随笔分类 -  Mathematics

证明:log(n!)与nlogn是等价无穷大
摘要:(log的底大于1即可)1、首先由Stirling's formula:也就是分子、分母是等价无穷大(n->oo)。2、再来证明log(n!) 与 nlogn是等价无穷大(n->oo):挺不可思议的,n! 与 n^n相差很大,但取对数后就相差不了多少了。再上张图:看图发现两者还不是很“靠近”,我想了一下原因,还是因为极限式的最后一项1/lnn不够小,也就是lnn不够大,对数的增长太慢,这是根本原因啊!不过对数最终还是无穷大。扩展阅读:http://en.wikipedia.org/wiki/Factorialhttp://en.wikipedia.org/wiki/Gamm 阅读全文

posted @ 2012-05-20 01:39 c语言源码 阅读(516) 评论(0) 推荐(0)

Sudan Function
摘要:维基百科介绍:http://en.wikipedia.org/wiki/Sudan_functionn=1时的实现:#include <iostream> using namespace std; int Sudan(int x, int y) { return (2 + x) * (1 << y) - y - 2; // (2^(y + 1) - y - 2) + (x * 2^y) } int main(void) { int x; int y; while(cin >> x >> y) cout << Sudan(x, y) & 阅读全文

posted @ 2012-05-11 01:19 c语言源码 阅读(129) 评论(0) 推荐(0)

理解矩阵(三)
摘要:理解矩阵(一)理解矩阵(二) 这两篇文章发表于去年的4月。在第二部分结束的时候,我说:“矩阵不仅可以作为线性变换的描述,而且可以作为一组基的描述。而 作为变换的矩阵,不但可以把线性空间中的一个点给变换到另一个点去,而且也能够把线性空间中的一个坐标系(基)表换到另一个坐标系(基)去。而且,变换点 与变换坐标系,具有异曲同工的效果。线性代数里最有趣的奥妙,就蕴含在其中。理解了这些内容,线性代数里很多定理和规则会变得更加清晰、直觉。这个留在下一篇再写吧。因为有别的事情要做,下一篇可能要过几天再写了。 ”然而这一拖就是一年半。一年半以来,这两篇粗糙放肆的文章被到处转载,以至于在Google的搜索... 阅读全文

posted @ 2012-04-28 16:49 c语言源码 阅读(254) 评论(0) 推荐(0)

理解矩阵(二)
摘要:接着理解矩阵。上一篇里说“矩阵是运动的描述”,到现在为止,好像大家都还没什么意见。但是我相信早晚会有数学系出身的网友来拍板转。因为运动这个概念,在数学和物理里是跟微积分联系在一起的。我们学习微积分的时候,总会有人照本宣科地告诉你,初等数学是研究常量的数学,是研究静态的数学,高等数学是变量的数学,是研究运动的数学。大家口口相传,差不多人人都知道这句话。但是真知道这句话说的是什么意思的人,好像也不多。简而言之,在我们人类的经验里,运动是一个连续过程,从A点到B点,就算走得最快的光,也是需要一个时间来逐点地经过AB之间的路径,这就带来了连续性的概念。而连续这个事情,如果不定义极限的概念,根本就解释不 阅读全文

posted @ 2012-04-28 16:47 c语言源码 阅读(202) 评论(0) 推荐(0)

理解矩阵(一)(转自孟岩兄)
摘要:http://blog.csdn.net/myan/article/details/647511前不久chensh出于不可告人的目的,要充当老师,教别人线性代数。于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次。很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情。可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊!线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无来者”的古怪概念,然后用逆序数 阅读全文

posted @ 2012-04-28 16:45 c语言源码 阅读(256) 评论(0) 推荐(0)

汉诺塔问题(竟然还与Sierpiński三角形分形有关)
摘要:Tower of Hanoi// 把n个盘子从1(a)号柱子借助2(b)号柱子移到3(c)号柱子 // 总共要移 2^n-1 次 #include <iostream> using namespace std; void Move(int &x, int &y) // 没有真正移动盘子,只是输出方案 { cout << x << " --> " << y << endl; } void Hanoi(int n, int a, int b, int c) { if(n > 0) { Han 阅读全文

posted @ 2012-04-21 22:49 c语言源码 阅读(264) 评论(0) 推荐(0)

Bell number
摘要:Bell number定义:应用:1、集合A的基数为n,A上可定义的等价关系(A的划分)有B(n)种。 阅读全文

posted @ 2012-04-20 12:44 c语言源码 阅读(227) 评论(0) 推荐(0)

我的第一个动态规划程序(试图用递归求斐波拉契数)
摘要:1、这是一般的递归(指数爆炸型,时间复杂度O(1.618^n)):#include <iostream> #include <cstdio> using namespace std; __int64 Fib(int n) { if(n == 1 || n == 2) return 1; return Fib(n - 1) + Fib(n - 2); } int main(void) { int n; while(cin >> n) printf("%I64d\n", Fib(n)); return 0; }2、今天看了动态规划的入门,觉得 阅读全文

posted @ 2012-04-07 14:31 c语言源码 阅读(268) 评论(0) 推荐(0)

Catalan number
摘要:Catalan number 定义:,n>=0学到现在,已知的用处如下:1、n个元素进栈,有C(n)种不同的出栈序列。2、二叉树。学到了再补充。 阅读全文

posted @ 2012-04-06 13:04 c语言源码 阅读(188) 评论(0) 推荐(0)

矩阵的特征值 => 矩阵的幂 => 广义斐波拉契数列的通项公式
摘要:众所周知,计算机里动辄涉及到斐波拉契数列,本文主要是运用线性代数的方法求出广义斐波拉契数列的通项公式。广义斐波拉契数列的定义(自定义,可能还不够严谨,欢迎指教)如下:且a,b满足a^2 + 4b > 0(原因后面有,即保证分母Δ>0)观察递推公式可知: (1)OK!写这篇博客有两点启示:1.亦可用差分方程的方法求通项公式,不过我还没学,我发现把递推关系用矩阵的形式写成再求通项也是可以的,不过要构造出这个关系比较困难,比如(1)式。2.在一般的算法中求矩阵的幂几乎都是用二分法求,殊不知若λi下有ki个线性无关的特征向量(ki是λi的重根数),即可用相似对角形的方法求,这在高等数学里可 阅读全文

posted @ 2012-03-29 09:58 c语言源码 阅读(348) 评论(0) 推荐(0)

Ackermann Function C++实现
摘要:Ackermann Function 是用递归方法定义的,定义如下:(有的资料上阿克曼函数的定义中 m, n 的位置调换了,相应的函数式要对称性地变化,注意取值。)A: N^2 -> N 它的部分函数值如下:C++ 代码如下:#include <iostream> #include <cstdio> using namespace std; __int64 Ackermann (int m, int n) { if(m == 0) return (n + 1); if( m > 0 && n == 0 ) return Ackermann(m 阅读全文

posted @ 2012-03-07 17:34 c语言源码 阅读(713) 评论(0) 推荐(0)

对三大数学软件 Mathematica 、Maple 、MATLAB 的小测试比较
摘要:今天一时兴起,突然想试试几个数学软件的功能,就测试了一个不定积分,看看哪个算得最好,最简洁。计算:以下计算结果我都一一验算了。1).先在Mathematica(我用的是在线的wolframalpha)中计算,结果是:2).然后是在Maple 中计算,结果是3).最后再用MATLAB ,结果是当然了,被积函数是可以变形的 ,比如把被积函数通过三角变换化一下之后积分就可以写成这样:再用Mathematica计算,结果就不一样了:好了,从计算结果比较看来,我认为在这方面 Mathematica 最智能,不过都是电脑在算,人是活的,换种给出的形式得到的结果可能就会不同,正如最后的例子所示。今天就写到. 阅读全文

posted @ 2012-03-05 16:54 c语言源码 阅读(368) 评论(0) 推荐(0)

导航