`
zuroc
  • 浏览: 1309863 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

Origins of NumPy (Numpy的起源)

阅读更多
= Origins of NumPy (Numpy的起源) =

A complex system that works in invariably found to have evolved from a simple system that worked,    -John Gall

复杂的系统总是由简单的系统演变而来。    - John Gall


Copy from one , it's plagiarism ; copy from two , it's research .  - Wilson Mizner

只模仿一个东西,是抄袭;模仿两个东西,是研究。    - Wilson Mizner


NumPy builds on ( and is successor to ) the successful Numeric array object . Its goal is to create the corner-stone    for a useful environment for scientific computering .

NumPy建立于一个成功的Numeric对象上。他的目标是成为为科学计算环境的基石。


In order to better understand the people surrounding NumPy and ( its library-package ) SciPy , I will explain a litter about how SciPy and (current) NumPy originated .

为了更好的理解与NumPy以及(他的一个库)SciPy相关的人们,我会给大家介绍一下SciPy以及(现在的)NumPy的起源。


In 1998 , as a graduate student studying biomedical imaging at the Mayo Chinic in Rochester , MN , I came across Python and its numerical extension(Numeric) while I war looking for ways to analyze large data sets for Magnetic Resonance Imaging and Ultrasound using a high-level language .

那还是1998年,我正是一个在Mayo Chinic in Rochester , MN学生物图像处理的研究生。当我四处寻觅一个可以分析大量关于核磁共振图像和超声数据的高级语言,我遇到了Python以及他的数值处理扩展(Numeric)。


I quickly fell in love with Python programming which is remarkable statement to make about a programming language. If I had not seen others with the same view , I might have seriously doubted my sanity . I became rather involved in Numeric Python community, adding the C-API chapter to the Numeric documentation ( for which Paul Dubois graciously made me a co-author).

很快的,我喜欢上了用那种有着特别的声明方式的Python来编程。如果不是看到别人也有着同样的观点,我可能要怀疑自己的心智是否健全了。我开始潜心于Numeric的Python社区,为他添写C-API的文档(和蔼的Paul Dubois把我列为开发者之一)。


As I progressed with my thesis work , programming in Python was so enjoyable that I felt inhibited when I worked with other programming frameworks . As a result , when a task I needed to perform was not available in the core language , or in the Numeric extension , I looked around and found C or Fortran code that preformed the needed task , wrapped it into Python (either by hand or using SWIG), and usded the new functionality in my programs .

当我的论文完工时,我发觉用Python编程是如此的享受以,至于我对其他的程序框架觉得不适应了。结果是当我需要一个python核心和Numeric扩展都没有的功能时,我找来C或是Fortran代码,用Python来封装(手工或者是用SWIG),然后在我的程序中用这些新的函数。


Along the way , I learned a great deal about the underlying structure of Numeric and grew to admire it's simple but elegant structures that grew out of the mechanism by which Python allows itself to be extended .

如此一来,我学到了许多关于Numeric底层结构的东西,而且对他的简单但是优雅的构架心存敬意,这些也要归功于Python它允许自身被扩展的机制。


(Note : Numeric was originally written in 1995 largely by Jim Hugunin while he was a graduate student at MIT . He received help from many people including Jim Fulton , David Ascher ,Paul Dubois and Konrad Hinsen . These individuals and many others added comments , criticisms , and code which helped the Numeric extension reach stability , Jim Hugunin did mot stay long as an active member of the community - moving on write Jython and ,later ,Iron Python, )

(注意:Numeric最早写于1995年,在当时还是MIT的研究生的Jim Hugunin努力下发展壮大。他从包括Jim Fulton , David Ascher ,Paul Dubois和Konrad Hinsen在内的许多人得到了帮助。这些人和其他的许多同志一起为其写注释,提意见,修改代码以使其稳定 。 Jim Hugunin没有在社区开发群停留太久-转移阵地到Jython和随后的Iron Python上去了。)

By operating in this need-it-make-it fashion I ended up with a substantial library of extension modules that helped Python + Numeric become easier to use in a scientific  setting . There early modules included raw input-output functions , a special function library , an integration library , an ordinary differential equation solver , some least-squares optimizes , and sparse matrix solvers .

秉着“要什么,造什么”的作风,我最终完成了一个充实的扩展包来协助Python+Numeric,使其在科学研究中更简单易用。这些早期的模块包括一个行输入输出函数,一个奇异函数库,一个综合库,一个原始的积分方程求解库,一些最小二乘法的优化,和稀疏矩阵的求解。

//未完
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics