工具、课程与学习资料

这些是我整理的为一般性的研究工作做准备的一些资料和工具。大部分都可以从网上下载(docin, doc88, iask文库之类的地方,当然还有Google)。

  • General discussion of Scientific Investigation and Scientific Thinking: The Art of Scientific Investigation by W.I.B. Beveridge, Learning, Creating and Using Knowledge by J.D. Novak.
  • LaTeX (typesetting): The Not So Short Introduction to LATEX2ε, a sample file or a journal specific template, google latex symbols when needed.
  • gnuplot (figures): gnuplot in action, gnuplot manual, gnuplot not so frequently asked questions.
  • jaxodraw (Feynman diagram): jaxodraw official website.
  • Linux shell (A series of Linux commands in a file to save time): Linux Shell Scripting Tutorial v1.05r3 A Beginner’s handbook (http://www.freeos.com/guides/lsst/index.html) .
  • C:
    1. Find a good textbook and a good tutorial on C programming: Programming in C By Stephen G. Kochan, C by Examples by Greg M. Perry, C in 21 days by Aitken and Jones, The C Programming Language by K&R, http://en.wikibooks.org/wiki/C_Programming, http://www.cprogramming.com/tutorial/c-tutorial.html .
    2. First find a compiler (gcc), compile from the command line.
    3. Learn how to compile and run a basic program (makefile), such as printing “Hello World” to the screen and exit.
    4. Learn about variable types, such as the difference between char, int, float, double, etc.
    5. Learn about the concept of variables, arrays and functions.
    6. Learn pointers, dynamic memory allocation.
    7. Learn conditional statements and loops, such as the “if”, “switch” and “for” statements. Also learn the continue and break statements.
    8. Learn some basic standard library functions, but not too much.
    9. Start with small programs, however meanwhile constantly think about one much bigger problem on your mind, say the task you want to accomplish in the beginning when you notice that you need C and start to work on that problem (via for example, first decomposing the big problem into many small ones) as soon as possible.
    10. Learn key steps about debugging (gdb).
    11. Learn a little bit about programming style: Notes on Coding Style for C Programming, Writing Bug-Free C Code.
    12. Learn data structures and a little bit on algorithms, linked list, graph, tree.
    13. Learn a little bit of code profiling (code optimization): gprof, http://www.ibm.com/developerworks/library/l-gnuprof.html .
  • Python: 转闫小勇(@yanxy)整理的资料:Python精要参考(第二版)——iask上有,100多页,保证几天学会Python基本编程:)Networkx入门笔记——我博客上有: here
    Numpy 1.5 Beginner’s guide——iask上有,200多页,看前三章一般就够了,推荐!
    用python做科学计算——在线版:http://hyry.dip.jp:8000/pydoc/index.html,可以看看里边的numpy和matplotlib部分,其他不看也罢。
    个人建议:学编程,关键是动手写。看书看不会,越写越熟练!
  • R: http://www.ling.upenn.edu/~joseff/rstudy/index.html,Introductory Statistics with R by Peter Dalgaard,The Art of R Programming: A Tour of Statistical Software Design by Norman Matloff, The R Book by Michael J. Crawley。
  • sage: http://www.sagemath.org/doc/tutorial/index.html,SAGE For Newbies by Ted Kosan,Sage Beginner’s Guide by Craig Finch。
  • Network Analysis and related packages: An Introduction to Networks by Newman, Our own review paper and several papers from others (see documents from the complexity group on this website), NetworkX, Pajek, UCINET, SNAP: Stanford Network Analysis Platform, igraph, Network Workbench.
  • Monte Carlo and Monte Carlo in statistical physics:
  • Linear Algebra System (BLAS, Lapack, Petsc, Slepc): official websites, examples and manual
  • General algorithms (numerical diffrentiation, integration, the Runge-Kutta method, root finding etc): gsl and gsl manual, Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, The Algorithm Design Manual by Steven S. Skiena。
  • Parallel programming (MPI, just some general priciples): “Parallel Programming in C with MPI and OpenMP” by Quinn, Petsc, Slepc manual and examples
  • Physics, Math and Economics:
    1. Classical Mechanics: Feynman’s Lecture on Classical Mechanics,力学概论by方励之,Mechanics by Landau;Calculus required.
    2. Quantum Mechanics: Feynman’s Lecture on Quantum Mechanics, Principles of quantum mechanics by R. Shankar, Modern Quantum Mechanics by J.J. Sakurai,高等量子力学by喀兴林,Quantum Mechanics by L. Ballentine;Classical Mechanics, Linear Algebra, Probability Theory required。
    3. Statistical Physics: 量子统计物理学by杨展如,Statistical Mechanics by D.A. Mcquarrie, Statistical Physics by Leo P. Kadanoff, A Modern Course in Statistical Physics by L. E. Reichl, Equilibrium Statistical Physics by Michael Plischke and Birger Bergersen, Introduction to Modern Statistical Mechanics by David Chandler;Classical Mechanics, Quantum Mechanics, Probability Theory, Stochastic Process required.
    4. Quantum Field Theory: Quantum Field Theory: From Operators to Path Integrals by Kerson Huang,Many-Particle Physics by Gerald D. Mahan,An Introduction to Quantum Field Theory by Peskin & Schroeder; Classical Mechanics, Quantum Mechanics, Statistical Mechanics required, Group Theory, Functional Analysis can be helpful。
    5. Non-linear Dynamics: Invitation to dynamical systems by Edward R. Scheinerman, Chaos: Making a New Science by James Clark(译作《混沌学传奇》或者《混沌:开创新科学》) 。
    6. Linear Algebra: 线性代数by居余马,线性代数与矩阵论by许以超,Algebra by M. Artin
    7. Calculus: Calculus Early Transcendentals by James Stewart,简明微积分 by 龚升,Principles of Mathematical Analysis by Rudin
    8. Probability Theory: 概率论导引 by A·H·柯尔莫戈洛夫,概率论引论by汪仁官,概率论by何书元,A course in Probability Theory by Kai Lai Chung
    9. Statistics: Statistics by D. Freedman, 有中文版
    10. Fokker-Planck equation, Master equation etc. in Stochastic Process: Fokker-Planck Equation by H. Risken
    11. Game Theory: Games of Strategy by Dixit etal, 演化博弈论 by 威布尔
    12. Microeconomics:
    13. Mathematical Modelling (the idea of searching and presenting phenomena by their natural math structures): A first course in mathematical modeling by Frank R. Giordano
    14. Group Theory (to have a better understanding of math, also helpful in understanding Quantum Mechanics, Quantum Field Theory): 熊全淹的《近世代数》, Representations of Compact Lie Groups by T. Bröcker and T.tom Dieck
    15. Functional Analysis (essential for understanding properly Quantum Mechanics and Quantum Field Theory):
    16. Differential Geometry (to have a better understanding of math, also important in learning General Relativity): 微分几何与广义相对论入门by梁灿斌,尤其是各种附录要仔细看,非常有价值

向每一位研究生推荐The Art of Scientific Investigation

昨天收到大辉推荐的一本书:The Art of Scientific Investigation(被翻译成科学之路或者科学的艺术),看了两章,强力推荐。可以从docin下载到:http://www.docin.com/p-602753.html; http://www.docin.com/p-288814187.html; http://www.docin.com/p-79237417.html。

另外,发现了一个学术道德问题,1983年出版的翻译版《科学之路》实际上抄袭了1978年出版的《科学的艺术》。除了改了政治色彩浓厚的几句话,几个标点符号(而且我认为大部分标点符号还改错了),基本上就是原文照抄。独立翻译能够做到90%以上相同,是不可思议的事情。让我们记住1978版的译者——陈捷。

另一方面,我非常推荐原版,写的非常容易看懂,谢谢W.I.B.Beveridge。

复杂系统暑期学校汉字理据性实验材料

实验说明

汉字理据性打分表

前50份(以收到报告电子邮件时间为准)合格报告给100元奖励,其他合格报告给25元参与奖励。请在7月14日晚上12点之前填写完成并提交电子版报告给:李婧文,ljw_1991@sina.com。我们会在7月18日晚上12点之前完成初步检查并在7月19日把奖励发给大家。

谢谢您的支持。您的报告对于我们的研究有非常大的意义。

cmaptools的中文显示问题

linux下使用cmaptools需要配置合适的中文字体。方法之一就是利用java的字体数据,例如:
cp -i /etc/java-6-openjdk/fontconfig.properties $DIR/../jre/lib
然后在使用中,要在“样式”菜单中选择合适的中文字体。

还有个问题,中文输入怎么解决?(目前,我每一个汉字都在gedit里写好,复制到cmaptool中)不过,先做英文的,挺好。

管理学、系统科学、经济学,制度设计:一个例子

统计物理学的标度齐次函数:Y=F(K,L,Other),具有性质aY=F(aK,aL,aOther),或者更一般地a^{d}Y=F(a^{x}K,a^{y}L,a^{z}Other)。我们只讨论前面的形式。

经济增长理论也假设生产函数具有齐次性aY=F(aK,aL,aOther)。很多其它的结果基于这个假设。这说明,如果一个生产单位把劳动力总数,资本总量,以及其他因素,都扩大两倍,则产量也扩大两倍。这个假设很有问题。制度设计与管理的核心价值就是能够在固定资源、成本的条件下,通过内部结构调整,实现更高的效率。考虑一个只有10个人,100块钱的公司,那么由于人少钱少,生产模式只能用手工搬小石头。当然数增加到100人,1000块钱的时候,协作方式,工具都不一样了,或者由于组间竞争导致员工的主动性不一样了,可以搬动不仅仅是小石头的10倍的大石头,而是更大的石头;或者由于组间摩擦,只能搬动小于小石头10倍的大石头。这两种情况都会破坏齐次性。当然,如果假设石头里有玉,越大的石头有高质量玉的几率越大,而且超过正比(别管我这个假设是否合理,总找得到满足我这个假设的情形),那么齐次性也会被破坏。

总之,结构性的改变,关系的改变,产品质量内在的提升,制度的设计,也就是说相互作用,都会改变齐次性。这些方面就是管理学、系统科学能起作用的地方。

尽管我一直说我不喜欢用“1+1大于2”来描述系统科学,在这个问题上,倒也合适。