Sep 14, 2004

后天就要数模了--再也不参加这种比赛了

Sept.17
2004年的CUMCM就要开始了
想想在准备数模的这段时间里,学会了那么多东西,即使不拿奖也无所谓了,至少没有愧对当MathTools的版主
不过现在觉得中国大学的这些比赛实在是搞的没有意思,都是为了拿奖而去特地准备,搞什么培训
而这些培训其实根本达不到让学生喜欢数学的目的,以NJU为例,居然上课教Matlab怎么使用
队里一个同学和我吵架,说我不认真准备,开头一句话居然是“你是不是觉得我们队拿奖很有希望?不用努力了”这几天见到我又说“我觉得我们队拿奖希望很大,你可不要出什么闪失啊”
ft,这种东西还有什么意思?还把同学关系都搞坏了

数学建模强调的是一种思想,一种思维方式,从现实中提炼出各个量之间的数学关系而思想,思维方式,考虑问题的风格又怎么可能通过短短的上课来完成?
唯有亲自实践,做过一些数学建模方面的的工作,应用数学的方法到那些没有采用过这些方法的领域,尝试用新的数学模型来解释问题,才能够真正体会到数学的作用
我记得今年NJU数模培训布置作业,有一道题(大家可以去数学版看一下,就在开学前后)是研究自行车平衡的,居然有个同学来问我说“这不是数模题,这是物理题”,天哪,你们还参加什么数模比赛,你们根本都没有数学建模的意识啊。足以见得这种培训的失败。

就像有教育家说知识是可以传授的,而其他东西是只能培养的

按照这种逻辑,倘若靠这种集训便可以解决问题,那么...
拿奖的也未必是真正喜欢数学的,也未必是真正养成了用数学去研究问题的习惯的,...

到也许是那些集训的时候“刻苦”的,颇让我感觉是高考啊,三年前历历在目啊
实在是违背了激发同学们的学习兴趣的目的

再想想什么挑战杯,什么电子设计大赛,心灰意冷。挑战杯也许要好一点,不过也确实有不少不好的东西混在里面。
我觉得从大一的暑假准备江苏省的物理竞赛,就觉得自己实在不适合这种要求“立杆见影”的活动。
科研哪里能这样子搞,所以还是老老实实做几个课题,帮老板做点事情,发几个paper倒是我比较适合的。

都是远远的看着不错,真正一实践,才发现这些比赛在中国都变了味了
美国来的这些东西加了什么味就变成中国味了呢?想起于秋雨说的话,大约是这样的:中国的文化就像一个大酱缸,什么东西放进去,再拿出来便有一股酱的味道,洗也洗不掉

可惜我们的这种味道并没有什么国际竞争力!

* think

Sep 13, 2004

中国科技同世界的差距实在是大的吓死人


by Forrest Sheng Bao http://fsbao.net

刚才去查Emacs的manual,顺便想起gEDA,跑去一看,支持FC1的版本已经出来了,于是去下载,却看到一个波兰无线电爱好者写的安装gEDA所需的组件和编译环境的说明,顺便看了一下他的个人主页,怎么这个人用那么多Linux下的EE软件呢?顺藤摸瓜居然看到Warsaw University of Technology 的学生无线电爱好者俱乐部的首页。那个波兰话我自然是不懂啦,显然是看English Version。一看下一跳,原来还认为EE方面只有美国,小东洋等等所谓的大国才比咱“中华帝国”要强,没想到波兰也比中国牛了,而且差距不小啊,人家学生都在用计算天线该怎么设计了,自己做天线,做接收机,我们这边恐怕大三就把微积分啦,数理方程啦都忘光了,学电磁场的时候恐怕早就连普通物理学里面的电磁学都想不起来了。
再一看人家做服务器的电脑,吓死我了,要在中国早被“建设世界一流大学”的口号给淘汰了。人家可以用Pentium 166MHz的电脑,硬盘只有2块1.2G,居然还能做一堆服务,“Services: WWW Server, POP3, SMTP, DNS Server, SSH-II, SFTP Server ”。不过显然人家不是用Windows啦,人家自己早就说了啊“UNIX is user friendly - it just choosesits friends very carefully ”想想我们用纳税人的钱买来那么好的计算机构建教育网,碰上我这种网管,却只能作出grandlab那种垃圾网站,汗颜啊。听说复旦的BBS用的服务器居然还是SUN的工作站,奢侈啊,都是通讯运营商采用的计算机啊。我们的学生是绝对不会自己想办法让这种破机器工作的。
现在真是越来越觉得可怕啊,中国的大学生实在是缺少动手的习惯。我说的这个动手并非侠义的指用手去做事,而是指自己去实现各种想法,主动的去解决问题,甚至去创造新的东西。我们的学生什么东西都不愿意自己做,软件要手把手的教,Manual和Help从来都不知道看,问问题从来自己都不想一想,简直就和编译器一样,只要出错就提示;什么东西都只是看一看,觉得好玩,绝对不会去真的做点什么相关的事情;也没兴趣尝试新的东西,美其名曰“没时间学”,好像就有时间看“十大”似的;....
而人家的大学生呢,他们的老师和同学经常把一些设计放在网站上交流,经常还可以看到他们做的电路的照片。人家大学的教学资源不要太丰富啊,那些讲义从版面设计到插图都是很有个性的。而且他们很善于利用已有的资源,我曾经看过一个人用电脑的电源做了一个实验电源出来。每个东西也许都很小,没有使用价值,但是都充满了想象力,甚至只是对已有的东西做一点很小的改进。既然是学工科的嘛,就是要改造世界,我们的大学生都丧失改造世界的激情了,只剩下享受的欲望了。
想一想我现在听说过的软件和语言,有多少都是大学生自己写出来的,人家觉得别人的软件用的不好,怎么办呢?等着别人说“这个软件在世界范围内被广泛使用”的时候再去用嘛?自己写一个嘛,现在很多科学软件就是大学生或者是几个大学里的人发起一个组织来负责编写的。要是把那些被商业化的软件和自由软件加在一起,大部分都是出自大学的,他们都是积极的创造新的东西。我们好像连这种创造欲都没有了。
所以我觉得中国同世界的差距就在这些地方,我们太容易满足了,想不到要不断的接触新的东西,创造新的东西,使用新的东西,探索新的东西,好像我们的思想都已经凝固了。
这个差距真是太大了。去做点什么吧

Aug 13, 2004

Mathematica:A world view


Forrest Sheng Bao http://fsbao.net
这几天因为准备CUMCM所以把Mathematica复习了一遍,感触颇多,加上许多人在学习的时候常问的一些问题,今天早上思如泉涌,没吃中饭,写下此文,还望大家一起讨论,批评 指正
Mathematica:A world view .
学习一种数学软件,并不仅仅是说我要知道它提供了哪些数学函数来完成数学计算(不论是数值的还是符号的),那样的话,计算机仅仅变成了一种计算器,只不过用语句代替了按键,只不过多了几个按键,只不过扩充了计算的范围而已,我们并没有从思想上去领会他的精妙之处。计算方法是一门学问,如何用更快的算法,用更精确的算法,不同的软件之间也许有差异,但我想不同的数学软件之间的差别在更大程度上是他们对数据的操作方式,如何看待不同类型的数据,甚至包括他们看待问题的角度,他们对数学概念的扩充。
Mathematica是一个符号运算系统,但是从纯数学的角度来说,其很多的符号运算能力在数 学中好像找不到对应的影子,不过如果把Mathematica看作一个具有一定局限性的程序设计语言,还是很好的。因为Mathematica的符号运算能力在一定程度上非常有利于我们用简单 的途径来实现对数学问题的求解。
Mathematica 的最精妙之处在于其看待表达式和函数(在谈到Mathematica的时候我们更习惯于称之为变换规则)的方式,至少在我目前看来是这样。当然Mathematica中表的概念也是令我感到耳目一新的,我曾经一度惊讶于Mathematica中矩阵仅仅是表的MatrixForm。表的概念仅仅是一种数据结构,而表达式和变换规则则是反映Mathematica思想的地方。
在mathematica中我们首先要体会到 []和()的区别。[]反映的是一种对应关系,而()只是 一个描述运算等级关系的运算符。这个区分是非常有必要的,在数学中()的使用其实是有歧异性的,比如3(a+b)我们都知道是3×(a+b),那么f(x+y)是f×(x+y)还是说把x+y作为函数f的变量带入f的表达式中进行计算呢?当然,按照我们的日常习惯我们会选择后一种理解。在Mathemaica中这种歧异被排除了,假使你采用了[],比如f[x+y],那么f[x+y]的值就是由定义f[x+y]的表达式和x与y的取值来决定,相反,如果你采用了f(x+y),系统则会默认的采用前一种解释,即f×(x+y)。当然你不妨实验一下,如果你给f(x+y)赋值,比如f( x+y)=x+y,或者赋以常值f(x+y)=3,你都会发现系统返回一个告警:
Set::write: Tag Times in f (x+y) is Protected.
这里牵涉到表达式的“头”的问题,我们在后面再说为什么会出现这个告警。
你可以看到系统按照f×(x+y)的理解去计算,不妨实验一下,下面的代码:
Clear["Global`*"]
f (x+y)=x+y
x=2
y=3
f=5
f(x+y)
就检验我上面说的话了,你同时还会发现这种先给变量赋值,再计算表达式值的方法不适 合我们所习惯的对函数的操作。
不过即便采用了f[x+y]的形式,你还会发现有很多不爽,试一试下面的代码:
Clear["Global`*"]
f[x+y]=x+y
f[2+3]
你会发现f[2+3]执行的结果居然是f[5],而非5。
试试像前一次实验一样,在语句f[x+y]=x+y之前先写下语句x=2和y=3,结果如何呢?你发现结果f[x+y]居然已经不是一个含有自变量的表达式了,而是一个实数了。也就是说除非重新对x和y赋值,否则f[x+y]的值就永远是5了。有人就急了,你不是说用[]可以定义 函数的吗?这哪里是函数啊?
考虑一下为什么会发生上面的怪事。因为在Mathematica中,“=”其实是赋值运算符,不 能像我们平时在数学中那样用于定义函数,这里我们就要介绍在Mathematica中表示定义的 符号“:=”,近似于我们在数学中经常使用“≡”来定义一样。
试一试下面的语句:
Clear["Global`*"]
f[x+y]:=x+y
f[2+3]
x=2
y=3
f[x+y]
f[2+3]
f[3+3]
结果你会发现不仅计算不出任何值来,比如最后两个语句的结果是f[5]和f[6],而且就算 为自变量赋值还是不能进行计算,4,5,6条语句的执行结果居然还是f[5]。
所以我们就会发现即使使用了定义符号还是不能像在数学中使用函数那样,因此我们就要考虑一下Mathemaica是如何进行函数值的计算了。
函数的本质是一种映射,所以如果要计算函数的值,不仅要有自变量的值,还要告诉计算机这些自变量按照什么样的规则来组成函数。因此,在Mathematica中,有专门的语句来定 义规则。
定义规则最常用的方法是在自变量的后面加上一个下划线“_”,在Mathematica中这个符号 被称为空白。
比如我们可以这样可以定义常函数f[_]=3,然后无论你在[ ]中输入什么数字,输出的结果 都是3。
你还可以通过下面的例子体会一下如何定义规则。
Clear["Global`*"]
f[x_,y_]=x+y^2
f[2,4]
这样,就和我们在数学中计算函数的值没有区别了吧。
但是把表达式声明为规则有一个不好,那就是无法把它看作一个可以进行各种符号运算的 表达式了,假使你要执行下面的语句
D[f[x_,y_],x]
是执行不起来的。
(当然我们在后面会指明f[x_,y_]只是定义规则所用的表达式,实际的规则可以通过f[x, y]来调用,这样还是可以实现符号运算的)
也就是符号运算和数值运算是无法同时兼顾的,所以我一般喜欢使用这 种语句,例如
Clear["Global`*"]
f=x^y
D[f,x]
f /.{x->3,y->5}
f
代码执行完以后,f依旧是一个含有变量的表达式。
这样就两全其美了,不过这种情况好像也不是很常遇到,所以规则的定义在更多的时候是 便于我们计算函数的值运算的,因为其形式是非常相似于我们在数学中所使用的形式。
回到规则定义上,我们会发现规则的定义不仅依赖于所使用的名称,同使用的参数也是有 关的,不论是参数的类型,数量。
看一下下面的例子
Clear["Global`*"]
f[x_]=x^2;
f[x_,y_]=(5+x)*y;
f[2]
f[3,6]
f[2]和f[3,6]分别调用不同的函数来进行计算。
这时你想到了什么?
如果你学习过C++语言,你就会想到这是函数的重载,也就是说,即使函数名相同,只要参 数的数量,类型,顺序不同,在同一个函数名之下的函数是不同的。这也正是OOP的多态性 的体现。
假如我们考虑一下Mathematica自己所提供的大量库函数,大部分都是重载函数,他们的参数表是可以不一样的。你自己到Mathematica的help中去随便找一找,同一个函数具有多种语法形式,以适用于不同的操作对象和操作目的。再考虑开去,在Matlab中也是这样的。
所以,数学软件同计算器的又一大不同就是,他们的运算符是具有多态性的,而计算器是 没有重载函数这个概念的。
记于2004年8月13日 13:48

Jun 2, 2004

baosheng申请EETechnology版版二

To: 南京大学小百合BBS站务组
申请书
1.基本情况
本站网龄 390天 40329 TOP 31.65%
上站次数 1229次 5836 TOP 4.58%
发表文章 802次 3198 TOP 2.51%
在线时间 23800分 13119 TOP 10.30%
2.申请版面名称:
英文名:EEtechnology
中文名:电子技术
所属分区:学术交流
3.申请理由:
本人术业电子信息工程,此版乃为我专业所长.平日承蒙老师学长指点,在宿舍或实验室中"闭门造车".时任南京邮电学院紫金飞鸿circuit版版 主,为版主十数月来,circuit版人气渐旺,版面繁荣.近日得EETechnology版主sleepcat之邀,愿祝其一臂之力,促 EETechnology之繁荣,"幸甚至哉,歌以咏志".
4.办版想法
Sleepcat对EEtechnolory治版有方,后生只做一些补充.
方今天下,高科技公司在技术变革中所起作用不可忽略,故吾愿意邀请一些公司,请以提供技术资料和技术交流的形式促进大家的水平提高.
同时,也将自己的学习笔记(PDF文档)公之于众,特供本科生学习之用.以求以微薄之力帮助大家.
5.是否得到现任版主支持:得到
6.是否曾在本站担任过版主:是,MathTools
8.本人的经历:
目前负责中国教育和科研计算机网(CERNET)的大实验室计划(Http://grandlab.cer.net)。
还担任南京邮电学院紫金飞鸿BBS(bbs.njupt.edu.cn)电子线路版版主
希望能够得到这个机会,为大家服务,谢谢。
baosheng
Jun.2

Feb 12, 2004

计算机创造了一个充满奇迹的年代

计算机创造了一个充满奇迹的年代

我对计算机的认识在上大学之前,一直认为计算机只是一种工具,而这种工具对于我的用处只是用几何画板(不知附中的数学老师现在是不是还用这个软件)画几个图,或者用word排版当时科学小组的杂志。

而到了大一下,我开始利用计算机来接触这个世界,那个时候我会用MSN了,电子邮件成为我和许多人的联系方式,而打电话和写信对于我来说已经是非常遥远的事情。从那个时候开始,我意识到计算机是这个世界上最强大的通讯工具。所以这也造成我后来意识到要想发起跨校跨学科的合作项目,必须有一个网络平台的支撑,这也促成了我当时建立的大实验室网站(http://grandlab.cer.net )。我记得当时闹非典,我就天天上WTO的网站了解疫情。

而现在我认为计算机是人类建造的强大实验室,在世界各地,许多的成果都是通过计算机得出的,至少我的80%的论文是源自在计算机上的计算。而且,我记得SCI的编辑说过,“科学文献正在成为科学发现的来源”,而今天计算机的出现使得人类可以用更简单的方法来获取最新的科研进展。

因此一个新的奇迹正在诞生,也许很多人在慨叹为何这年头很多本科生比研究生还要恨,就是因为他们得到了计算机,这个既是通讯工具,也是实验室的强大机器,这个人类有史以来创造的最大的发明。计算机的出现使得本科生作出同研究生一样优秀的成果成为可能,他们的思想不会收到客观条件的限制,在生物数学,生物信息学,算法学,统计信号处理,计算电磁学,计算化学,这样的领域,他们正在作出比他们的前辈更加辉煌的成果。

计算机使传统实验室的功能进一步强化,从试验中得来的数据,可以借助强大的数学工具,发掘更多的信息。

而且计算机的出现,使得他们可以用更快的速度得到信息,他们就有可能站在比自己的前辈更高的地方看到科学的前沿。

事实上,这样的奇迹已经发生了,目前世界上最大的科学文献服务器,arXiv,就是Cornell大学的一个本科生大学毕业后建立的,全世界50%的物理学论文都是先在那里发表然后再到传统媒体上的。

也许许多人都知道南京大学一个本科生发了8篇SCI,其中3篇是P.R.E.,其实他所做的工作就是小世界网络的研究和另外一个领域(好像是电子自旋方面的理论工作)。

也许很多人还知道中科院前不久有个博士生一毕业就成了博导,好像才27岁,其研究领域就是生物信息学。

不禁想起前几天看到的一篇文章,分析为什么会有Linus Torvalds这个人和Linux操作系统的出现,有一个关键的原因就是 Helsinki大学在1990年,那个时候Internet还不是非常普及的时候,就为大学生提供了Internet接入服务,使得他可以和世界上很多的程序员交流。今天linux正在成为计算机历史上的奇迹,一个开放的操作系统得到了从业界领头羊到大学生团队的支持,正在逐步吞噬那些传统软件公司的市场。

最后让我用Antitrust的一段台词来结束这篇愤青文章吧:
The business is a living organism, multiply constantly, surrounding by prejudice.
There is no room to say I need time, or second guessing.
New discovery are made hour now.
New ideas are ready to be devoured , to be defined.
电影中的老板用下面的话回答国会对他阻碍自由竞争的指控
Any kid working in the garage, anywhere around the world, has a good new idea, can put us out of business.
其实这句话和电影的主题是完全一致的,而且这也和硅谷几十年来的传奇是一致的:
任何一个埋头苦干的小孩(老板称他们为kid),只要有了新的想法就足以让任何一家大公司关门大吉。

"Now is the time to shine!"