工具、课程与学习资料

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

  • General discussion of Scientific Investigation and Scientific Thinking:
    • 教的更少,学得更多 by 吴金闪
    • The Art of Scientific Investigation by W.I.B. Beveridge
    • Learning, Creating and Using Knowledge by J.D. Novak
    • Learning how to learn by J.D. Novak
    • ON BEING A SCIENTIST: A GUIDE TO RESPONSIBLE CONDUCT IN RESEARCH
  • 科普(千万不能随便看,尤其不能看哗众取宠的,编故事的,做类比的):
    • 混沌开创新科学
    • 复杂
    • 从抛物线谈起
    • 相变与临界现象
    • 从一到无穷
    • 光和物质的奇异性
    • 费曼先生系列
    • 顶尖科学家的传记
  • 技能技术类(Skills):
    • Writing
      1. The Elements of Style by W. Strunk and E.B. White
      2. Scientific Writing 2.0 by Jean-Luc Lebrun
      3. How to write a paper by Mike Ashby
      4. Successful Scientific Writing by the Matthews
      5. Duke大学研究性写作课程
    • LaTeX (typesetting):
      1. The Not So Short Introduction to LATEX2ε
      2. a sample file or a journal specific template
      3. google latex symbols when needed
    • gnuplot (figures):
      1. gnuplot in action
      2. Modelling with data from Ben Klemens
      3. gnuplot manual
      4. gnuplot not so frequently asked questions
    • jaxodraw (Feynman diagram):
      1. jaxodraw official website
    • Linux shell (A series of Linux commands in a file to save time):
      1. 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:
        1. Programming in C By Stephen G. Kochan
        2. C by Examples by Greg M. Perry
        3. C in 21 days by Aitken and Jones
        4. The C Programming Language by K&R
        5. http://en.wikibooks.org/wiki/C_Programming
        6. 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)个人建议:学编程,关键是动手写。看书看不会,越写越熟练!)
      1. Python精要参考(第二版)(详见iask)
      2. Networkx入门笔记(详见闫小勇博客: here
      3. Numpy 1.5 Beginner’s guide(详见iask)
      4. 用python做科学计算(在线版,推荐其中numpy和matplotlib部分)
    • R:
      1. http://www.ling.upenn.edu/~joseff/rstudy/index.html
      2. Introductory Statistics with R by Peter Dalgaard
      3. The Art of R Programming: A Tour of Statistical Software Design by Norman Matloff
      4. The R Book by Michael J. Crawley
    • sage:
      1. http://www.sagemath.org/doc/tutorial/index.html
      2. SAGE For Newbies by Ted Kosan
      3. Sage Beginner’s Guide by Craig Finch
    • Network Analysis and related packages:
      1. An Introduction to Networks by Newman
      2. 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:
      1. Monte Carlo Methods in Statistical Physics by Mark Newman and Gerard Barkema
    • Linear Algebra System(BLAS, Lapack, Petsc, Slepc): official websites, examples and manual
    • General algorithms (numerical diffrentiation, integration, the Runge-Kutta method, root finding etc):
      1. gsl (GNU Scientific Library) and gsl manual
      2. Introduction to Algorithms, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein
      3. The Algorithm Design Manual by Steven S. Skiena
    • Parallel programming(MPI, just some general priciples):
      1. Parallel Programming in C with MPI and OpenMP by Quinn
      2. Petsc, Slepc manual and examples
  • 物理学和数学基础类:
    • Classical Mechanics:Calculus required
      1. Feynman’s Lecture on Classical Mechanics by Feynman
      2. 力学概论by方励之
      3. Mechanics by Landau
      4. Classical mechanics:Point particles and relativity by Greiner W.
    • Quantum Mechanics:Classical Mechanics, Calculus, Linear Algebra, Probability Theory required
      1. Feynman’s Lecture on Quantum Mechanics
      2. 二态系统的量子力学by吴金闪
      3. Principles of quantum mechanics by R. Shankar
      4. Modern Quantum Mechanics by J.J. Sakurai
      5. 高等量子力学by喀兴林
      6. Quantum Mechanics by L. Ballentine
      7. Quantum Mechanics open course by L. Susskind
    • Statistical Physics:Classical Mechanics, Quantum Mechanics, Probability Theory, Stochastic Process required
      1. 量子统计物理学by杨展如
      2. Statistical Mechanics by D.A. Mcquarrie
      3. Introduction to Modern Statistical Mechanics by David Chandler
      4. Statistical Physics by Leo P. Kadanoff
      5. A Modern Course in Statistical Physics by L. E. Reichl
      6. Equilibrium Statistical Physics by Michael Plischke and Birger Bergersen
      7. Statistical Physics I & II by Kubo and others
      8. Statistical Mechanics, by Pathria
    • Quantum Field Theory:Classical Mechanics, Quantum Mechanics, Statistical Mechanics required, Group Theory, Functional Analysis can be helpful
      1. Quantum Field Theory:From Operators to Path Integrals by Kerson Huang
      2. Many-Particle Physics by Gerald D. Mahan
      3. An Introduction to Quantum Field Theory by Peskin & Schroeder
    • Non-linear Dynamics
      1. Invitation to dynamical systems by Edward R. Scheinerman
    • Linear Algebra:
      1. 线性代数by居余马
      2. 线性代数与矩阵论by许以超
      3. Algebra by M. Artin
      4. Linear Algebra Done Right by Sheldon Axler
    • Calculus:
      1. Calculus Early Transcendentals by James Stewart
      2. 简明微积分 by 龚升
      3. Principles of Mathematical Analysis by Rudin
    • Probability Theory:
      1. 概率论导引 by A·H·柯尔莫戈洛夫
      2. 概率论引论by汪仁官
      3. 概率论by何书元
      4. A course in Probability Theory by Kai Lai Chung
    • Statistics:
      1. Statistics by D. Freedman
      2. Statistics: Concepts and Controversies by David S. Moore and William Notz, which aims at teaching the spirit and ideas of statistics to students in all fields, strongly recommended. Every subject, if it is an essential major subject to society and civilization, should be possible to be taught as a general course to all students.
      3. All of Statistics by Larry Wasserman. 有中文版《统计学完全教程》。翻译的可以接受,不算好。最好直接看英文的。
    • Fokker-Planck equation, Master equation etc. in Stochastic Process:
      1. Fokker-Planck Equation by H. Risken
    • Mathematical Modelling (the idea of searching and presenting phenomena by their natural math structures):
      1. A first course in mathematical modeling by Frank R. Giordano
    • Group Theory (to have a better understanding of math, also helpful in understanding Quantum Mechanics, Quantum Field Theory):
      1. 熊全淹的《近世代数》
      2. Representations of Compact Lie Groups by T. Bröcker and T.tom Dieck
    • Functional Analysis (essential for understanding properly Quantum Mechanics and Quantum Field Theory):
    • Differential Geometry (to have a better understanding of math, also important in learning General Relativity):
      1. 微分几何与广义相对论入门by梁灿斌(尤其是各种附录要仔细看,非常有价值)
  • 专业方向的书籍与文献:经济学、博弈论、演化博弈论、复杂网络、生态学、文献学、汉字学与汉字教育、教育学、认知科学,待整理
    • Game Theory:
      1. Games of Strategy by Dixit etal
      2. Yale 博弈论公开课 by Ben Polak
      3. 演化博弈论 by 威布尔
    • Microeconomics:
      1. Principles of Microeconomics by N. Gregory Mankiw
    • to be continued…

《工具、课程与学习资料》有4个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注