当前位置:首页 > 开发 > IT生活 > 正文

素数与音乐

发表于: 2012-03-27   作者:bookjovi   来源:转载   浏览:
摘要:     由于一直在看haskell,不可避免的接触到了很多数学知识,其中数论最多,如素数,斐波那契数列等,很多在学生时代无法理解的数学现在似乎也能领悟到那么一点。     闲暇之余,从图书馆找了<<The music of primes>>和<<世界数学通史>>读了几遍。其中素数的音乐这本书与软件界熟知的&l

    由于一直在看haskell,不可避免的接触到了很多数学知识,其中数论最多,如素数,斐波那契数列等,很多在学生时代无法理解的数学现在似乎也能领悟到那么一点。

    闲暇之余,从图书馆找了<<The music of primes>>和<<世界数学通史>>读了几遍。其中素数的音乐这本书与软件界熟知的<<黑客与画家>>一书极为相似,一个用音乐比拟素数,一个用画家比拟Lisp。数学的世界是奇妙的,同时也是艺术的,在我看来所有的数学家都是艺术家,他们把数学当做一门蕴藏美学的艺术,追求着那些永恒的真理。

 

数学是永恒的:请仔细体会永恒这两个字,在所有自然学科中唯一能用永恒形容的只有数学,不是语言,N年后语言还是今天这样吗?N年后English还存在吗?物理永恒吗?原子分子夸克只是我们现在对世界的认识而已,化学永恒吗?谁说宇宙中就是那几个元素组成的?只有数学,数学的定理和公理无论到多久都是永恒的,而且是历史持续的。

 

数学是艺术的:从小老是不明白那些数学家整天研究素数干嘛?小学数学中称之为质数,素数有啥奇特的呢?读了The music of primes后才会明白素数是数论中的核心问题,而且素数是这么的美。在数学家看来,素数是所有数的基石,这是因为所有数可有素数生成,哥德巴赫猜想就是阐述这个问题的,任意一个大于2的偶数都可以写成两个素数之和,通俗的叫"1+1",这里的1+1不是普通的1+1,表示两个素因子为1的数相加,陈景润证明的"1+2",还差一点就证明了哥德巴赫猜想。围绕素数的另一个著名问题就是素数的分布,数学家的要求是完美的,他们无法接受素数的随机性,他们相信素数一定存在着某种特定规律,数学家们的奋斗目标就是找到一个通项公式能生出所有的素数,可惜现在还未找到这样的公式,这个问题难道了几个世纪的数学家们,但他们却发现了素数分布的规律,首先素数有无穷多个,数越大,素数就越少,而且分布呈对数趋势下降,为了精确发现素数的分布规律,黎曼假设就出现了,黎曼假设是关于素数分布的一个未解难题之一,同时也是Hilbert problem之一。

    关于素数的问题一直是数学界研究课题的常青树,直到密码学的诞生,素数的实际作用才逐渐显现出来,RSA加密算法就是基于现在任未有一个快速的大数的因子分解方法为前提的,因此素数对电子商务(加密)的作用是不小的。

 

    数学是所有自然科学的奠基石,同时数学的分支是极为庞大的,代数,几何,解析几何,射影几何,微积分,概率论,数论,数值计算,数理逻辑等,每个分支又衍生出各种学科,物理学建筑学天文学都离不开解析几何和微积分,人口统计则离不开概率论,我们所处的计算机学科则是从数理逻辑发展而来的,图灵和丘奇,haskell都是数理逻辑方面的数学家,前几天爆出的中南大学刘路解决的西塔潘猜想也是数理逻辑范畴的。

 

    回到开头,很多人觉得现在的编程语言离数学很远,这是很狭义的理解,不要把数学看做仅仅是代数,没有数理逻辑的发展就没有今天的计算机科学,不可否认C/C++/Java一路走来,建筑学的意味越来越浓,尤其是OO的火爆发展更导致了数学不用的思想。编程语言的另一个范式则完全离不开数学的知识,看看haskell吧,看看map/filter/folder,看看monad吧。

    最后看看素数筛选的haskell实现:

let sieve (p : xs) = p : sieve [x | x <- xs, x `mod` p > 0] in sieve [2..]
 

 

素数与音乐

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

推荐文章
编辑推荐
1 素数
#include <stdio.h> int main( ) { int k,i ,tag; for(i=2;i<100 ;i++) { tag=0 ; for(k=2
2 素数
/* 02.* Copyright (c) 2012, 烟台大学计算机学院 03.* All rights reserved. 04.* 作 者:刘明亮 0
3 素数
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserve
  这几天围着素数统计这一题就把我搞蒙了.. 题目是这样的: 输入一个整数n, 输出小于等于n的素数个
题目: 写一个程序,找出前N个素数。比如N为100,则找出前100个素数。 分析 最基本的想法就是对1到N
题目: 写一个程序,找出前N个素数。比如N为100,则找出前100个素数。 分析 最基本的想法就是对1到N
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserve
/* 02.* Copyright (c) 2012, 烟台大学计算机学院 03.* All rights reserved. 04.* 作 者:徐汉玉 0
/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者:赵洋 * 完成日期:
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserve
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号