[Post] thoughts on developing mathematical software

Transfer from the Research Forum. If you are interested, you can continue the discussion!

Http://bbs.matwav.com/post/view? Bid = 12 & id = 11745 & sty = 1 & TPG = 3 & age = 30

Author [discussion] thoughts on developing mathematical software. [essence]

Freeia statement:

Today, my boss has a hard time giving me free time.

I worked as an intern at the CAD Research Institute for a while and developed an artificial neural network.AlgorithmAspectProgramThere is a certain mathematical foundation. In fact, I think it is difficult to design algorithms. It is easier to use programs based on existing algorithms, however, if it is made into an open system, it will take a lot of time.

After graduation, I graduated from school. I plan to develop shared software.

The younger brother's idea is to use C language for development, which is highly efficient and can be applied in fields requiring fast speed. He encapsulates common algorithms into modules and can be applied to practical engineering applications.

I think the problem with Matlab is that although the algorithm is advanced, it will take a long time to make it practical, for example, in the research institute I started to study, it would take a week to use commercial software to find data from a 3D space. If MATLAB was used, it would be impossible.C Language.

MATLAB algorithms are very advanced and worth learning. I remember that lm algorithms started when I found that the accuracy would decrease during the training process, and then I used MATLAB to solve the problem. of course, it can only solve the problem of finding local minimums.

My colleagues have posted suggestions, encouragement, and criticism. Thank you!

Of course, if software is used, whether it can bring certain economic benefits is under my consideration. After all, people will survive.

I think everyone here is the most qualified to judge this matter. This is just my idea. I will make a final decision based on your suggestions.

E-mail: freeia@163.com

MSN: freeia_hwm@hotmail.com

Welcome

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Xiangyouzi:

To everyone

I don't know if you have a special understanding of the MATLAB optimization toolbox. It mainly mentions linear, nonlinear planning, and multi-objective planning. I think there is a gap here that we can break through, A mathematical software can be designed and developed from this gap. I am studying mathematical planning and have a better understanding of the Second-layer delivery planning. Currently, there is no mathematical software dedicated to solving the second-layer programming. Many of them use the MATLAB optimization toolbox, when a program is used to solve a specific problem, there is no general program module. If we can develop a general toolbox from this gap, it is undoubtedly a breakthrough, I have been thinking about this problem for a long time. It is difficult to implement it because I have not learned programming. But I know some algorithms in this field. If you are interested in it, you can talk about it, my e-mail is a xiangyouzi@sohu.com and I hope to discuss it with you.

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Yj_liu:

I think it's a good job abroad.CodePublic launch, and then exchange with each other. This has improved rapidly as a whole. I think that foreign countries are doing better than China. I am afraid it is not Chinese people who are not smart, some traditional ideas have not changed.

In addition, from the development and growth of Linux, we can also understand the truth. In fact, the alliance of free power cannot be ignored. You can also publish code that you do not need to keep confidential. If the person below finds the problem and points out to the original author, tell him what he quoted it and add it as the second and third author. This kind of good cooperation will surely accelerate the development. For beginners, the learning speed can be accelerated and non-beginners can communicate with each other to accelerate the emergence of new algorithms.

The download center of the Forum adds a Content Code exchange center. I hope you can help the webmaster to help him well. Beginners can pass a piece of code to the webmaster when they see it. Others can send their own results to the webmaster as a MATLAB center like Mathworks. It is really good.

Finally, let's talk about the format of m Files written by foreign people:

1: Description: briefly describes the functions of the program.

2: Usage: How to Use

3: modification history: history from development to completion of Modification

4. References: The algorithms reference those references.

5. contact information of the author: facilitating mutual communication

6: Program

Also, it is best to use English.

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Freeia statement:

To xiangyouzi:

Thank you for your suggestions!

MATLAB started in 1984. I heard that foreigners had this idea in 1960s. I really admire the foresight of foreigners. As for the latest MATLAB algorithm, it is not true, because many scientists are using MATLAB to implement algorithms, but if they are doing engineering applications, they need to translate them themselves. My idea is not to develop new algorithms by themselves, this is what mathematicians do. They are only responsible for implementing their existing algorithms in the C ++ language, so that engineers can quickly apply them to practical engineering.

I am busy with graduation design, and I am still in the company's trial period. I 'd like to share with you some ideas and make a correct assessment.

Thank you for your enthusiastic participation.

You still don't know what I mean. I think I want to invent algorithms...

I have some knowledge about the toolbox of the artificial neural network of MATLAB. There are several basic networks, many of which are only improvements. The applications are basically the same, but only slightly improved.

It seems that my thoughts can only be stuck in the brain.

To freebird_fly0:

I fully agree with your point of view. You mean to understand the principles, including theoretical derivation. But if you enter the community to engage in application development, you will know that, it is not realistic for a person to understand all the things he participates in. Some of them can be used. What they give you is an interface, and black box things won't be visible to you, or you can see that you don't have that much time to look at it, and there are also industry intersections...

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Wzl_jenny:

Agree and agree. But it is not that easy to develop an algorithm. For example, an algorithm for solving a non-linear schörödnex equation seems to be solving a high-order binary partial differential equation (with a very coefficient ), as far as I know, a professor in the department of applied mathematics and computer science at Princeton University in the United States is very famous because he will use MATLAB to solve this equation, almost as long as it is the latest paper published by Niu Ren in the U. S. Optical Fiber Transmission, his name hangs. Big Brother, your goal seems to be a little too high, but if you can achieve the numerical solution of the equation I mentioned, please let me know first, and my thesis will also be your name, haha. Be down-to-earth, study hard, and grow up every day.

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Easyworm statement:

Haha! Finally I saw some of the same

You can visit my website http://www.easyworm.com/

I now spend most of my spare time developing these small software. I think MATLAB and other mathematical software are more focused on the whole, but in some fields, their algorithms are not very good, especially for solving some practical problems

It is a good idea to do some algorithm (Mathematics) software to solve practical problems.

--------------------------------------------------------------------------------

Amateurs --- easyworm ---

Http://www.easyworm.com/

Easyworm@sohu.com

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Freebird_fly0:

In this way, there is a lack of open cooperation spirit and mutual communication in China.

Lack of large-scale companies and research institutions

Everything includes research and industry

All in the original manual stage

I hope that from now on, young people will be able to get rid of such bad habits!

How many Chinese people are busy and the division of labor is unclear. Have you ever seen excellent scientific software in China?

For Development, you must have sufficient financial and material resources and a good team.

Programming is so simple and requires a sufficient academic level in various fields.

--------------------------------------------------------------------------------

Be honest and study hard --- I love Research

Welcome to discuss with me about the development of research

Luxh1975@yahoo.com.cn

Welcome to join me in realizing the dream of Study

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Freeia statement:

Many algorithms are existing, such as matrix inversion. Developers are unlikely to think of a better algorithm by themselves and write software. In this case, no software is born.

The above practice can only be minor. If you want to make a software similar to MATLAB and think about algorithms, I think a framework may not be available in 1000.

If you write software, you certainly need to use the existing algorithms. The overall architecture should be well understood, for example, processing data using the complex matrix as the basic unit.

My goal is to add the algorithm part of the software, which can be rarely modified or not added to the actual project. Many EDA software actually sells algorithms, rather than implementing better functions than existing commercial software, it is unrealistic to say that algorithms can surpass MATLAB. Many scientists have joined Matlab, but how many engineers can directly use matlab m files to add them to their own projects to develop products? I think there are few or none of them.

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Beetleszzm:

What the landlord said makes sense! The younger brother also thinks that it is a good idea to communicate the Code:

After all, the application of personal code is narrow. If you have any problems, you can communicate with others in a timely manner.

In this way, we can further improve it! Of course, confidential information is involved. Haha!

The Code Exchange Center of the Forum is really good!

We also have foresight with the administrators-support!

Bzzz published on

Re: [Post] thoughts on developing mathematical software

This article is more in-depth than theme posts.

Question: Some Thoughts on Chinese Scientific (Computing) software [zz]

Mailing station: misty clouds (Sun Nov 7 09:23:03 2004)

Fangq

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 count as "commonly used" or "heard name ".

Fepg's finite element source code generator, which has seen their ads on some forums from time to time over the past few years; the other is the ctex

I heard that the Chinese Emy of Sciences has participated in some work. What's more

. Of course, it does not rule out the proprietary software of the School Research Group, but asserted that we have not developed such software as MATLAB/mathemati.

Such scientific tools as Ca, maple, and LAPACK 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 application levels. The domestic demand for scientific computing software

is huge, but it is worrying that almost the entire market is occupied by foreign software. Finite Element Theory

it must be called ANSYS, fluent, ABAQUS ..., on the circuit simulation forum, we were bustling with the following:

ads, Microwave Office ,...,, in the discussion of Computational chemistry, & lt; Edit & gt; Gaussian & lt;/edit & gt;, nwchem,

the ADF occupies a large area of space, I have been involved in the discussion of mathematical tools for a long time, and it is almost full of the names of Matlab, m

athematica, tecplot, and IDL. We rarely have the opportunity to have a heated discussion of 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, have been forced by commercial software

because enterprises and scientific research institutions need some scientific computing functions, the licensing fee for commercial software

is too high. As a result, enterprises or research institutes write software suitable for themselves and the software can be commercialized, or

it is released free of charge to meet similar social needs. In China, thousands of

and tens of thousands of dollars of scientific software are 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

software has become the first choice for many people, instead, they use them to publish

table articles and develop products (of course, I am ashamed to say that, A few years ago, I was in this ideological realm ). Even some people 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 has been cited as a classic by popular pirated users,

the word "not stealing books" means that the word "Learning" can be used to steal books.

this kind of behavior is cool. Many even claim that China uses the world's best software. But the irony 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 taking antibiotics for a long time,

the body's resistance is seriously impaired, and a slight cold will cause it to kill.

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 easily

To develop and make money in it, they do not care about how to solve partial differential equations, how to calculate Gaussian points at Singular Points, and how

Solve such scientific problems as sparse band matrix. Among those who have a good degree of expertise, good computer skills can be compiled.

Few people write high-quality code and programs. Most people are still asking how to set computing accuracy in MATLAB.

(Only indicates the excellent performance. After installing MATLAB, the startup is always as low as one of the following:

Stage of level-level issues. Even if they have their own set of theories or algorithms, few will think about how to put code modules

Software development issues such as how to publish, how to use the license, and how to manage the code version. In

In foreign countries, many science and engineering courses require computers to complete their assignments, write code, write reports, and give lectures.

After several years of training, the students who graduated from Alibaba Cloud possess basic operating systems and simple use of technical software.

At least one or two computer languages have been mastered, so that this will be used in future scientific research.

Some computer tools 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 use Google from an idea

A world-renowned company, and a VT master can develop a one-to-one mathematical knowledge base planet

Math and Matlab are designed by Cleve Moler in the Teaching of U. New moico. Mathematica is developed by Wolfram.

Developed in a complex system, the author of LAPACK Anderson, Bai and others are also at U. of Tennessee.

Developed based on linpack/eispack, there are no more examples. But why does this happen in our colleges?

There are not many examples?

From the perspective of initial development, it is intended to advocate open-source or free software, because one is at the early stage of development, the software level

After all, it cannot be compared with large-scale commercial software that has been developed in foreign countries for many years, while some well-written open software code

It can provide the foundation and modules for the development of other software in the future, and generate a large number of good software. But we need to note that

From now on, to cultivate copyright awareness, we must select an appropriate form of license to enable scientific software to be protected by law.

Under the Protection of healthy development.

The status quo is not optimistic. We need to do something or call the technology authorities to do something.

To change it, we need people with a mathematical and computer background to participate in the development of scientific software and improve the computing power of science and technology.

To improve the efficiency of scientific research, we need to encourage all forms of scientific software development (to meet

Copyright and license), including commercial, free, and open-source, and calls on academic forums and academic websites

And other communication channels provide convenience for such collaborative development. Let's discuss what we need most.

Some scientific computing functions, develop some development plans according to the algorithm and program difficulty, you can be considered as a hobby, or

As a suitable project to participate in such development, student organizations, scientific research units can also apply for funds

It provides economic support for such projects.

From the perspective of initial development, it is intended to advocate open-source or free software, because one is at the early stage of development, the software level

After all, it cannot be compared with large-scale commercial software that has been developed in foreign countries for many years, while some well-written open software code

It can provide the foundation and modules for the development of other software in the future, and generate a large number of good software. But we need to note that

From now on, to cultivate copyright awareness, we must select an appropriate form of license to enable scientific software to be protected by law.

Under the Protection of healthy development.

Of course, the above is just an initiative. My own level of mathematics and computer programming is very general and has not gone through the formal

Programming training. However, I still hope that the above ideas will give you some inspiration, especially in the domestic school

Students and graduate students can write something manually or work together to complete one or two good scientific software developers.

. I have been busy, but I have always had the idea of writing a C ++ library like MATLAB or MATCOM.

The library adds a wrapper based on clapack to provide commonly used calculation functions and matrix operations in MATLAB/MATCOM.

With the powerful mathematical computing functions provided by LAPACK and the easy-to-use interfaces provided by wrapper

Develop other computing software as a basis. In addition to this plan, I have several other programs at hand, including grid generation.

The layout, drawing, and so on are all small programs, but I want to release them in an appropriate way in the future.

Or participate in software expansion and improvement in an appropriate way.

We hope to see more and more made in China tags in scientific software in the future. By then, we

Only with the strength of technology power.

(This is just for your criticism)

Written by: fangq

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Xuzhijun2005:

Strong support for freeia ideas!

No software can always take the lead. There are Windows operating systems. Why are there so many other operating systems? The reason is obvious.

It is impossible to develop software beyond mathlab and Mathematica, but as long as there is an idea, it should be implemented. Maybe no one is using it now, but as long as the software is good, it will be promoted slowly.

At present, the National Software of mathematical software is not as good as that of foreign countries. It does not mean that China does not need to develop its own software. I thought for a long time that Chinese software made in China has these powerful functions of foreign software, I believe many people will switch to their own software. After all, Chinese is more comfortable for most people.

However, there is still a long way to go for domestic software. This is for sure.

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Xiangyouzi:

The post posted by the landlord has been followed by so many people, indicating that his content has indeed aroused everyone's resonance, I think the idea of the landlord should be something that everyone who applies MATLAB software or other foreign software should think about. We have many excellent programmers and many excellent engineers and mathematicians in our country. Why can't we develop our own mathematical engineering software? Even if it is not as good as MATLAB, There is only innovation. This is a common problem in all walks of life in China. resources cannot be effectively integrated and cannot be effectively integrated. Sorry!

The above only represents my opinion.

Cwit was published on

Re: [Post] thoughts on developing mathematical software

Our forum has a similar discussion:

Http://www.simwe.com/forum/viewthread.php? Tid = 256069

We can see that there is no shortage of thoughtful technical engineers in China!

Red Heli published on

Re: [Post] thoughts on developing mathematical software

If we want to write our own mathematical software, we still need to write it from the bottom layer, C or FORTRAN. Let's look at matlab 1. 0. It is estimated that many people in China can compile the code.

Nostalgica published on

Re: [Post] thoughts on developing mathematical software

This is a simulation software interface I wrote. It was previously pasted and made in pure MATLAB, basically meeting the interface requirements of the simulation software.

But there is a fatal mistake that bothers me.

There is no problem with the generation of the interface, mainly in the dynamic draw line (by updating xdata and ydata on all axes to achieve dynamic draw Line). After the normal operation of a broken time, it will appear uncertain

[Color = Red] createrectrgn, called from ws_creat1_region (), returned null [/color]

This error, of course, will not work properly in the later functions of the Matlab GUI.

Someone mentioned this error on the Mathworks homepage, but the print statement only appears:

Problem descriptions

Is there a limit to the number of times I can print to a Metafile in a single MATLAB session?

I have a single figure open, and I try to print it to a Metafile (or the clipboard) in a loop. after about 500-700 iterations, I seem to run out of windows resources, and the EMF-file does not get generated. the following warnings are output to the command line:

Figure

Plot (RAND (10 ))

For N = 1:4000

Print-dmeta testmeta

End

[Color = Red] createrectrgn, called from ws_creat1_region (), returned null [/color]

[Color = Red] createrectrgn, called from ws_creat1_region (), returned null [/color]

[Color = Red] createrectrgn, called from ws_creat1_region (), returned null [/color]

[Color = Red] createrectrgn, called from ws_creat1_region (), returned null [/color]

[Color = Red] createrectrgn, called from ws_creat1_region (), returned null [/color]

[Color = Red] createrectrgn, called from ws_creat1_region (), returned null [/color]

[Color = Red] Warning: cocould not create Metafile.

& Gt; in c: \ MATLAB 6p1 \ toolbox \ MATLAB \ graphics \ private \ render. m at line 93

In C: \ MATLAB 6p1 \ toolbox \ MATLAB \ graphics \ Print. m at line 239

In C: \ transfer_alignment \ imqual \ testpaste. m at line 17

Warning: The operation completed successfully. [/color]

Additionally, Windows has problems refreshing the MATLAB windows, and fails to draw the icons in the figure toolbars. the problem is mostly resolved by restarting MATLAB, but there are still some remnants of refreshing problems in other running applications.

The answer is:

Solution:

This problem has been reported to our development staff to be further investigated. it seems that, after several hundred consecutive prints to the EMF format, Matlab exhausts some windows resources, and you cannot print to an EMF format again. this coshould possibly be due to a Windows limitation, or to a resource leak within Matlab.

Currently, the only known way to work around the problem is to print about 400 times, and then restart MATLAB before continuing with the print commands. (not to mention)

Also:

Solution:

This bug has been fixed for release 14 (R14). For previous releases, please read below for any possible workarounds:

This has been verified as a bug in Matlab 6.1 (r12.1) in the way that print handles metafiles.

There are currently no known workarounds.

(I used R14)

Hope experienced heroes can give some advice.

Nostalgica published on

Re: [Post] thoughts on developing mathematical software

I just installed 7.04 today. The above mentioned problem no longer exists in 7.04 (7.01 or not ). Oh yeah. (d ). In the new version of Matlab GUI, large-scale curve drawing is all possible. We recommend that you update all data to 7.04, SP2 !!

Paste the result graph:

Nostalgica published on

Re: [Post] thoughts on developing mathematical software

Another one.

Junziyang published on

Re: [Post] thoughts on developing mathematical software

I think the poor accumulation of Chinese universities or research institutions is also a major reason. For example, some masters and doctoral students often write simulation design programs for their subjects during their school years. After their completion, the younger siblings may have to write their own code to solve the same problem. There may be two reasons, or the younger brother does not or does not want to leave code, or the code of the Senior brother cannot be understood. If the mentor can pay attention to this accumulation and standardize students' programming habits, several students will be able to make a good simulation software for themselves. Isn't a lot of foreign software come out of school, including MATLAB.

[Quote] [B] Bzzz wrote: [/B]

This article is more in-depth than theme posts.

Question: Some Thoughts on Chinese Scientific (Computing) software [zz]

Mailing station: misty clouds (Sun Nov 7 09:23:03 2004)

Fangq

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 count as "commonly used" or "heard name ".

Fepg's finite element source code generator, which has seen their ads on some forums from time to time over the past few years; the other is the ctex

I heard that the Chinese Emy of Sciences has participated in some work. What's more

. Of course, it does not rule out the proprietary software of the School Research Group, but asserted that we have not developed such software as MATLAB/mathemati.

Such scientific tools as Ca, maple, and LAPACK affect the development of science and technology.

Shamohu published on

The emergence of 1stopt should be a rising star. It is better than MATLAB, Mathematica, and origin in terms of optimization, nonlinear fitting, and solving nonlinear equations. Its algorithm is very unique and is a good example, cheer for it!

Bluky was published on

Purely personal thoughts!

I think you should think about software users when discussing this topic!

From the perspective of users, I think we can suggest drafting a common language, which mainly describes the problem, solves the problem, and view the results.

Not only MATLAB, such as other similar scientific computing software, language problems are initially to be solved, and it takes time to familiarize yourself with the language /. If the industry has a common language that everyone thinks is good, and each software tool supports such a language, then it is not a problem to use it. We just need to focus on solving the problem! This is similar to some components in software development. For example, the proposal of MVC is also based on this consideration, and the bytecode files in the Java language are all designed to focus on solving the problem, instead of the method.

For example, the query language SQL of a relational database can be used as long as it is a relational database. Similarly, as long as it is a mathematical software (including professional software that encapsulates certain algorithms in various fields), it should also support a common language for inputting problems and viewing results. ..... Just an idea

I hope you will have more ideas!

The younger brother is born in computing mathematics. He is directed to software development and data processing, and the application field is bioinformatics!

[[I] This post was last edited by bluky at, September 10, [/I]

Bluky was published on

Reply #18 junziyang's post

SCILAB is about Sino-French Cooperation. In fact, I think there are still a lot of French people doing it. China is just helping promote it.

This is just a free challenge for Matlab. Although it is basically the same as MATLAB, it still takes time to familiarize yourself with the interface and language to switch to SCILAB. Ah, there is a lack of unified public languages !!!

Dim published on

Not only computer software, but also high-tech hardware products are far behind

Many of the advanced instruments we use are imported. The price is expensive.

This is unrelated to the technical foundation, industry ethos, and Scientific Research Spirit in China.

Many problems will not be solved at half past one

Cwit was published on

[Quote] original Post published by [I] dim [/I] At [url = http://www.simwe.com/forum/redirect.php? Goto = findpost & pid = 1100835 & ptid = 460731] [/url]

Not only computer software, but also high-tech hardware products are far behind

Many of the advanced instruments we use are imported. The price is expensive.

This is unrelated to the technical foundation, industry ethos, and Scientific Research Spirit in China.

Many problems cannot be solved at half past one [/quote]

Rome was not built in one day.

The development of the industry requires patience and information.

The improvement of national scientific and technological strength requires a process from quantitative change to qualitative change.