The computer codes that affect the science world

[Editor's note] Programmers use code to change the world. Based on the rapid development of computer hardware, Moore's Law is gradually forgotten, and the scientific circle has also been affected by a series of influences. Recently, the top science journal Nature published an article introducing the top ten computer codes that have changed the scientific circle since the 1950s. Of course, the rankings are in no particular order and are for reference only.

Compilation |
Eight Treasure Congee Produced | CSDN (id:CSDNnews)

From Fortran to preprints, these procedural advancements and platforms have brought significant speedups to biology, meteorology, and physics. If you take your mobile phone back decades ago, it will be a super god, its computing power is much stronger than that of NASA when it landed on the moon in 1969. However, with one or more mobile phones in hand, very few of us may have our own satellite and moon landing plans, right? (I ask Comrade Musk not to speak here). Computers have played the role of catalysts and accelerators in aerospace, physics, chemistry, biology and other fields. Today, let’s take a look at the top ten computer codes that have been summed up on Nature to accelerate scientific change.

The article selected the following ten codes, namely Fortran, Fast Fourier Transform, Biological Database, Climate General Cycle Model, BLAS, NIH/ImageJ/Fiji, BLAST, arxiv.org, Ipython Notebook and AlexNet.

[External link image transfer failed. The source site may have an anti-leech link mechanism. It is recommended to save the image and upload it directly (img-tEXdQorA-1611582130254)(image/20210125_151624_40.png)]

1. Language pioneer: Fortran compiler (1957)

Insert picture description here

When Fortran was born, computer operations also needed punch cards

Fortran, the full name: Formula Translation, was born in 1957. In that year, ENIAC was only 11 years old. In the era when you can take your mobile phone back and you can be regarded as the god of computing, programming is really too unfriendly. Even though machine language and assembly language allow users to program with code, they still need to be familiar with computer structures, but there are certainly not many such people. However, IBM engineer John Backus wrote to Chairman Cuthbert Hurd, saying that writing this every day is a waste of youth, shall we create a new language? The chairman is also courageous and decided with a wave of his hand. I don't know whether I really saw the prospects or just dissatisfied. Anyway, the strong opposition from the then consultant von Neumann was useless. Although Neumann died in the year that Fortan was born, the great god is the great god. Even at that time, Fortran was not as well-known in the scientific circle as it was later, Neumann still acknowledged Fortran.

Since then, computers are no longer just "computer scientists’ toys". Scientists in other disciplines can access programs for programming. It also means the arrival of the era of scientific computing and numerical computing. For decades, Fortran has been doing numerical computing in engineering and other fields. The field has a huge impact, and there are still many fluid dynamics and aerospace fields still in use until now. Programming languages ​​can be surpassed by late waves, but they still have their own brilliance. Many of the "ancestral codes" of research groups were written in Fortran voice, and NASA even recruited Fortran bosses to help optimize the code in 2017.


2. Signal Processor: Fast Fourier Transform (1965)

When it comes to Fortran, one has to talk about Fast Fourier Transform (FFT), which is very famous. In 1965, American mathematicians James Cooley and John Tukey proposed a method to speed up the Fourier transform process, using the recursive method of divide and conquer, and quickly calculate the serial discrete Fourier transform or its inverse. Fourier analysis converts the signal from The original domain is converted to the frequency domain representation or vice versa. From discrete Fourier transform to fast Fourier transform, the complexity is optimized from O[N 2 ] to O[NlogN]. If you are in electrical or automation, digital signal processing is definitely a course you will never forget.

This major discovery has been frequently and widely used in fields such as digital signal processing, image analysis, and structural biology. American mathematician Gilbert Strong described FFT as "the most important numerical algorithm in our life ", and IEEE Journal of Scientific and Engineering Computing also listed it as one of the top ten algorithms in the 20th century .

However, Nick Trefethen, a mathematician at Oxford University in the United Kingdom, said that this method was actually completed by Gauss, a genius German mathematician, in 1805, but it was not published. The current trend of this method is "Fastest Fourier Transform in the West" (FFTW), which is the fastest free software implementation of Fast Fourier Transform.


3. Molecular Cataloging: Biological Database (1965)

After reading this article, you must have a certain understanding of databases. In the past few decades, the biological impact of databases has been very huge and dramatic.

In 1965, three authors co-authored "Protein Sequence and Structure Atlas", which described the sequence, structure and similarity of 65 proteins at that time. Make people have a deeper understanding of amino acid sequence. The protein database was launched in 1971, and now the database can describe more than 170,000 molecular structures.

With the advancement of science and technology and the passage of time, newer and more comprehensive biological databases have emerged. James Ostell, former director of the National Center for Biotechnology Information (NCBI), said: “This is simply a beacon for biologists who don’t know much about computers and statistics. By comparing sequences, we can learn about Knowledge about cancer.” Through the integration of data sets, researchers can discover more information.

4. Prediction Pioneers: General Circulation Model (1969)

During the Second World War, the weather was unchangeable for the two warring parties. The first to understand the weather can account for all the time. In the case of predicting the weather based on experience, Neumann creatively adopted numerical weather "according to the laws of physics" "Forecast". However, in the early days, these practical problems could not be solved accurately, and the computing power and algorithms could not be reached.

At the end of 1940, von Neumann established a weather forecast team in Princeton. 15 years later, the second team, the Geophysical Fluid Dynamics Laboratory, began to study "infinite prediction", that is, climate modeling. In 1958, Manabe joined the team, and his colleague Kirk Bryan also used these in the ocean. In 1969, they successfully combined the two and created a milestone in natural computing.

Today, the model can divide the earth into 25×25 km squares and divide the atmosphere into ten levels, which is much stronger than in the past.

5. Digital processor: BLAS (1979)

In the 1970s, although the calculation of matrices and vectors was very common in scientific calculations, there was still no universally recognized operating tool, so researchers began to think about how to use code to solve problems. They need a standard!

Then there are BLAS (Basic Linear Algebra Subprograms) basic linear algebra subprograms. This is a mathematical standard for designing basic current algebra operations. It is mainly divided into three levels. The first level is operations between vectors or between vectors and scalars and constants; the second level is operations between matrices and vectors, and the third level is matrices Between operations.

Robert van de Geijn, a computer scientist at the University of Texas at Austin, said that BLAS "may be the most important interface defined for scientific computing."

6. Microscopic imaging companion: NIH Image (1987)

In the 1980s, the development of brain imaging technology reached a critical period. As X-ray film could not be displayed or analyzed on a computer after digitization, programmer Rasband wrote a program to solve the problem. The computer at that time was still PDP-11 , Worth $150,000. After the appearance of the Apple computer, the display of medical imaging became more friendly.

The NIH here is nothing else, but the National Institutes of Health (NIH), which means it is supervised by the National Institutes of Health. Later Rasband wrote the Java version of ImageJ. In With the help of the plug-in, the ImageJ tool can automatically identify the nucleus in the microscope image. After Rasband retired, its team still maintains the maintenance of the product.

7. Sequence Searcher: BLAST (1990)

We mentioned BLAS above. Here we are talking about BLAST. The difference between the word is very different. From the National Biotechnology Information Corporation, the full name is Basic Local Alignment Search Tool. The author of the article has thought about the advertising words "to search, find Google, use genetics, BLAST". By studying the similarities between proteins, scientists can discover evolutionary relationships and analyze gene functions, so molecular information databases are crucial.

After experiencing "point-to-point mutation" matrix, FASTP, etc., the team developed "GeneMyers" and proposed more powerful improvements after many years. BLAST was officially announced in 1990. Search, xiu's! This system provided a very efficient and fast method for genome biology that was in its infancy at that time.

8. Preprint Okura: arXiv.org (1991)

For quite a long time, the way scientists communicated with each other was by mailing manuscripts, which was considered an early "peer review", but this method could easily make some less famous people be buried, even if geniuses such as Ramanujan, initially The research results sent to several scientists were also ignored, until Hardy and Littlewood knew the bead. In 1991, Ginsberg (Ginsparg) at Los Alamos National Laboratory wrote an automatic email reply program, allowing subscribers to receive a list of preprints every day. This can be said to be the RSS of the paper industry.

Ginsberg’s initial plan was to keep it for three months and confine it to the field of high-energy physics. As his research disciplines became wider and wider, this system was also put on the World Wide Web in 1993 and officially named arXiv in 1998 .org. Today, thirty years after the initial email subscription, arXiv has 1.8 million preprints, over 15,000 submissions and 30 million downloads every month. At the same time, due to its good reputation, it has received the love of researchers in basic disciplines and computer science, and even "MIT Technology Review" has a weekly update column- The Best of the Physics arXiv )

Ginsberg said that it is gratifying that food that was considered heretical 30 years ago is now widely accepted. From this perspective, it can be considered a successful research project.

9. Data Browser: IPython Notebook (2011)

Jupyter notebook is an extremely friendly existence for friends who are new to Python. It can display Markdown, and it can also display and execute code. It is clearer and simpler than traditional interactive and full-script execution. Its predecessor is from Fernando Pei IPython Notebook invented by Fernando Pérez. In 2001, Perez was still in graduate school or Ph.D. As a heavy user of Mathematica and MAPLE, he decided to give Python a better platform for showing interaction. Since Python is not a language created for scientific computing, users have many obstacles in pre-loading modules and maintaining data visualization, so he wrote IPython himself. In December 2001, this "interactive" Python interpreter was one-way , A total of 259 lines. Ten years later, he worked with physicist Brian Granger and mathematician Evan Patterson to migrate the tool to a web browser. Since then, Python has its own notebook. In 2014, it evolved into a project called Project Jupyter, which supports more than 100 languages. Users can remotely access supercomputing power and data on their notebooks.

In 2018, the "Nature" article reported that Jupyter has become the standard for data scientists, and the Jupyter notebook on GitHub has exceeded 10 million, including those that record gravitational waves and black hole imaging.

10. Fast learner: AlexNet (2012)

There are two kinds of artificial intelligence, one uses coding rules, and the other uses computers to learn by simulating the structure of the brain. People have ignored the latter for decades. Until 2012, Hinton's graduate students Alex Krizhevsky and Ilya Sutskever played well in the ImageNet competition. AlexNet trained in images containing millions of everyday objects can The error rate is reduced to 16%, which is half of the usual artificial intelligence algorithms.

Their success has also ignited leaps in data sets, hardware devices, and GPUs. Suddenly, people found that the running speed of the algorithm can be increased dozens of times. These physiology herald the rise of deep learning in laboratories, clinics and other fields. Now mobile phones can also understand voice queries, and image analysis tools can also help cell screening. AlexNet has led the qualitative change of many tools in the artificial intelligence community.

At the end of the article, I deliberately did a survey to select the 3 jobs that have the deepest impact on you.
So far, the Fortran compiler leads the second place FFT with a ratio of 42.8 to 35.5, and a larger proportion of those who choose the "other" option. The results are shown in the figure below:

Insert picture description here
Obviously, in the eyes of many readers, Fortran and FFT are very important. These important codes have changed the scientific community and the world. Do you also have a dream to change the world with code? Feel free to leave a comment below. Which code has the greatest impact on you? What do you like most about doing with code?

[Reference Materials]
1. https://www.nature.com/articles/d41586-021-00075-2
2. https://www.youtube.com/watch?v=g8xQRI3E8r8

Guess you like

Origin blog.csdn.net/weixin_39787030/article/details/113143621