From http://blog.pfan.cn/eMath/24264.html
Author love mathematics http://blog.pfan.cn/eMath
The original article is as follows:
I have been asking myself this question: "How many of our commonly used scientific computing software are made in China ?", Searching in memory for a long time seems to be able to really count as "commonly used" or "heard of the name". One is a finite element source code generator called fepg, I have seen their advertisements on some forums from time to time over the past few years. The other is the ctex software which is used for scientific typographical design. I heard that the Chinese Emy of Sciences has participated in some work. In addition, I cannot remember anything else. Of course, we do not rule out the proprietary software of the School Research Group, but we assert that we have not developed a number of scientific tools such as MATLAB, Mathematica, maple, and LAPACK that affect the development of science and technology.
The lack of scientific computing software reflects the lack of Chinese software development capabilities and scientific and technological applications. The domestic demand for scientific computing software is huge, but it is worrying that almost the entire market is occupied by foreign software. On the forum of finite element, ANSYS, fluent, ABAQUS ..., on the circuit simulation forum, we were bustling with the names of HOMA, ads, Microwave Office ,...,, in the discussion of Computational chemistry, <Edit> Gaussian </Edit>, nwchem, and ADF occupy a large area, and I have been involved in the discussion of mathematical tools for a long time, it is almost full of names such as MATLAB, Mathematica, tecplot, and IDL. We rarely have the opportunity to see everyone discuss a self-developed software, or plan to write or co-write such software. There are many reasons for this situation. The most important are the following:
1. pirated software is too easy to obtain. Many foreign scientific software, including some open-source and free software, are "forced" by commercial software. Because enterprises and scientific research institutions need certain scientific computing functions, the licensing cost for commercial software is too high. As a result, enterprises or research institutes compile software suitable for themselves and the software can be commercialized, or they can be released free of charge to meet similar social needs. In China, thousands or tens of thousands of dollars of scientific software should be available on several yuan of pirated discs. In addition, the integrity system for scientific research and commerce has not yet been fully established, pirated software has become the first choice for many people. Instead of being ashamed of using pirated software, everyone uses them to publish articles , develop Products (of course, I am ashamed to be in this ideological realm a few years ago ). Some people even claim that this is "tailism ". This is not only an excuse for improper use of others' work. In addition to "tailism", Mr. Lu Xun also has another famous saying , which is also cited as a classic by popular pirated users as "not stealing books ", I think that because of the purity of the word "knowledge", it is possible to "steal" such a behavior. Many even claim that China uses the world's best software. But what is ironic is that we use the best software and whether what we make is the best. What does this mean? Using pirated software is like getting antibiotics for free during public medical care. Once the public medical service is unavailable, and the long-term use of antibiotics causes serious decline in the body's resistance, it will be fatal if you have a slight cold,
2. People with strong software writing skills, lack of scientific computing background, and lack of computer application skills. In colleges and universities, good computers generally go to the enterprise to write interfaces, databases, and network development, and then develop and make money through it. They do not care about how to solve partial differential equations, how to calculate Gaussian points in the singular point, how to solve such scientific problems as sparse band matrix. Among those who have a good degree of expertise, they have a good computer base and can write high-qualityCodeAndProgramThe stage in which the producer runs such a low-level problem. Even if they have their own theory orAlgorithmFew people may think about software development issues such as how to modularize the code, how to publish the code, how to use the license, and how to manage the code version. In foreign countries, many science and engineering courses require computers to complete their assignments, write code, write reports, and give lectures. After years of training, after graduation, students have basic concepts on the basic operations of operating systems and the simple use of scientific and technological software, and have mastered at least one or two computer languages. In this way, on the way to future scientific research, these computer tools will be used to develop new computing functions. However, our domestic training is far from enough.
3. There is no ambition in the spirit of scientific research innovation. Several Stanford students can turn Google from an idea into a world-renowned company, while a VT master can develop a one-to-one mathematical knowledge base planetmath. MATLAB is Cleve Moler at U. mathematica was designed for teaching in New Mexico. It was developed gradually by Wolfram in the study of complex systems. The author of LAPACK Anderson and Bai and others are also in U. of Tennessee was developed on the basis of linpack/eispack, so there are no more examples. But why are there not many examples in our colleges?
The status quo is not optimistic. We need to do something, or we need to call the Science and Technology Authorities to do something to change it, we need people with mathematical and computer backgrounds to participate in the development of scientific software, improve the use of computer tools in the power of science and technology, and thus improve the efficiency of scientific research, we should encourage all forms of scientific software development (subject to software copyrights and license), including commercial, free, open-source, it also calls on academic forums, academic websites, and other communication channels to facilitate such collaborative development. We work together to discuss the scientific computing functions we need most, and develop development plans based on algorithm and program difficulty, if a project of an appropriate scale is involved in such development, student organizations and scientific research institutions can also apply for financial support for such projects through funding.
From the perspective of initial development, it is intended to advocate open-source or free software, because at the early stage of development, the software level cannot be compared with large-scale commercial software developed abroad for many years after all, some well-written open software code can provide the foundation and modules for other software development in the future, and generate a large number of good software. However, we need to note that from now on, we should cultivate copyright awareness and select a suitable form of license for the healthy development of scientific software under the protection of law.
Of course, the above is just an initiative. My own level of mathematics and computer programming is very general and I have not been trained in formal programming. However, I still hope that the above ideas will give you some inspiration, especially for college students and graduate students in China, or work together to complete one or two good scientific software development projects. I have been busy, but I have always had the idea that I should write a C ++ library like MATLAB or MATCOM. This library will add a wrapper on the basis of clapack, it provides commonly used computing functions and matrix operations in MATLAB/MATCOM, so that LAPACK can provide powerful mathematical computing functions and an easy-to-use interface provided by wrapper, this serves as a basis for the development of other computing software in the future. In addition to this plan, I have several other programs at hand, including grid generation, layout, and drawing. Although they are all small programs, I want to release them in an appropriate way in the future, you can use it for free, or participate in software expansion and improvement in an appropriate way.
We hope that we will see more and more made in China marks in scientific software in the future. At that time, we will have the power of a powerful technology country.