Science and technology programs. Programs for scientific calculations. Computer mathematics systems

There are many programs for scientific work. There are highly specialized, general-purpose, paid and free programs. All of them, one way or another, should help process the data and build graphs.
The wide-profile program allows you to export data from ASCII files (txt or dat), manipulate data, plot a graph, perform smoothing, approximate data with a user function or standard functions, and much more. The most important thing is that the program is convenient to use and the graphics are suitable for publication.
The de facto standard for building scientific graphics is Origin, and, oddly enough, Excel. Although Excel is not good at plotting and working with graphics leaves much to be desired, sometimes it is very convenient to work in it. Here you can also mention the lesser-known paid programs SigmaPlot, Grapher, Kaleidagraph, IgorPro and of course the biggest monster TechPlot. These programs are expensive or very expensive. The question arises, is it possible to replace them with free analogs? Completely and completely - no. Although the basic functions that ordinary scientists and students use are easy. You don't need to use Photoshop to remove red-eye; you can use free Xnview. So it is in the world of scientific programs. There is a replacement. And you can always find a program that will perform the operations you need.
As mentioned above, there are programs of a wide profile, and they are to some extent analogous to Origin. There are highly specialized programs: they are designed to approximate data by user functions or standard ones; to digitize data from a printed plot in a magazine or an old plot from a plotter. Below we will focus on these programs.

Origin replacement software:


Programs for data approximation by user functions or standard ones:
PeakFit
Fityk 0.9.2
Programs for digitizing graphs:
GetData (free for the former USSR)

There is a separate class of programs that uses the "command line":

The most "variegated" in composition, functionality, number of names and the closest to the end user is, of course, the class of application programs. The most obvious for applied programs is their systematization according to their functional purpose and field of application. In terms of functionality, application software can be divided into several large groups:

□ office applications;

□ applications for project management;

□ applications for working with a local network;

□ Internet applications;

□ programs for scientific research and calculations;

□ educational programs;

□ programs for organizing the work of educational institutions;

□ programs for libraries;

□ programs for working with multimedia;

□ accounting software;

□ financial programs;

□ design software;

□ business software;

□ software for public authorities;

□ security programs;

□ programs for personal planning;

Here are listed only the main directions in which the functional development of user application software. It is impossible to cover absolutely everything for the simple reason that today almost any human activity, any area of ​​his life is supported by one or another type of software. Let's take a closer look at the main categories.

15.6.1. Office Applications

Office applications include both ready-made office suites (proprietary Microsoft Office or open OpenOffice.org), and individual programs associated with the performance of functions for entering, storing, processing and presenting documents in electronic form: various text editors and word processors, spreadsheets , programs for creating presentations, graphs and diagrams, programs for individual and group planning. Office applications have penetrated so deeply into any activity that today a desktop computer is unthinkable without an office suite, which is perceived as an integral part of the computer.

Each office application included in office suites has its own purpose and its own set of necessary and additional functions.

Word processor

A word processor is an application whose main purpose is to create and edit text documents. Necessary for a modern word processor are the functions of entering text and performing editing operations on the text (copying, cutting, deleting and pasting fragments of text at a specified location), as well as saving text to a file on a physical medium.

Additional functions supported by modern word processors have long become the de facto standard for creating software of this class:

□ text formatting - changing the type and parameters of the font (color of characters and background, size, strikethrough, underline, distance between characters and other parameters);

□ paragraph formatting - changing alignment parameters, numbering, creating lists;

□ page formatting - pagination, automatic and arbitrary, changing the number of columns, creating sections;

□ search and replacement of fragments in the text of the document;

□ printing the document;

□ sending the document to the addressee by e-mail;

□ tools for collaborative work on documents (peer review);

□ inserting images, graphs and diagrams into the document;

□ automation of document processing - means of inserting a table of contents, footnotes, citations, bibliography, means of forming the structure of a document;

□ exporting the document in various formats - export to the cross-platform HTML format is especially important.

□ means of programming functions in the built-in programming language.

In fig. 15.4 shows the windows of two word processors. The first (Word) is included in the standard Microsoft Office software, and the second (Writer) is included in the free software OpenOffice.org. It can be seen that the two main toolbars of these word processors functionally coincide almost completely.

File Drake §id insert Fwe «at | zbychaya Service Qw * 3 Help

: 1¾ Ii - OI bb:< Щ^ ": # i:.-, - т-sm lii щ (Г5% "13 # *

; ; i, "3 2 p 3 (zShShch" a "Si" r 0 D ♦ - D, ** £


OpenOffice.org writez \


The main function of a spreadsheet is to store data in typed cells that allow you to refer to a unit of data by addressing by the name (number) of a column (row), as well as process data by performing arithmetic operations on it or passing it as arguments to built-in functions.

Additional functions of a spreadsheet are almost similar to those of a word processor: text formatting, insertion of images and various objects, style and color formatting of text, background and table grids, both unconditional (formatting of the selection) and conditional (depending on the values ​​in those or other cells). In addition, additional functions of spreadsheets can be attributed to the expansion of their functionality through specialized add-ins designed to perform statistical, financial, economic and scientific calculations and experiments with data. As with text documents, spreadsheets need to be able to export to different formats, especially HTML, and print tables.

! "Ariaicyr ...............................

jj || "& Jka gm Bgra" »Fotsnag Cgpafte £ тte Qkmo Help

14 ; w & 4 ", t; ". f" "$." t "*

15 j f ^ "" ........... P 7 ".......... 3 Ж к a * £ YL Ai% %%%


shSHNKK,
G
Iiiiiiii

Rice. 15.5. Spreadsheets

The free Calc program and the proprietary Excel do not differ much in functionality. Anything that can be done in Microsoft Excel can be done in Calc. Documents created in Calc can be saved in Excel format, and documents created in Excel can be opened in Calc. However, we cannot speak of complete identity, as well as full compatibility: some operations (for example, correct restoration of links to other sheets and workbooks), which are supported by Microsoft Excel, are not supported in Calc. There is an incompatibility at the application programming level: the built-in languages ​​in these two programs are different, so Microsoft Excel macros in Calc will not work.

In order not to repeat ourselves further, it should be noted that this kind of incomplete compatibility, both in functionality and in built-in automation mechanisms, is characteristic of all programs of two packages: Microsoft Office and OpenOffice. Org.

Presentation programs

Presentations did not immediately become an integral part of the office suite. The first office suites included only word processors and spreadsheets, in some cases office suites included a filing tool and a few others. However, with the development of multimedia and projector equipment, the need for a concise, visual, beautifully designed, illustrated presentation of information with diagrams and graphs became more and more obvious. This is how the genre of computer presentation arose, and with it programs for creating presentations.

The main functionality of the program for creating presentations should be considered the ability to create, design and playback in various modes of computer presentations.

Additional functionality includes the following features:

□ the presence of a large number and variety of visual and sound effects reproduced during the transition between slides and from one part of the slide to another;

□ creation of standalone presentations, that is, presentations that are played independently of the underlying program (this can be an executable file, as well as a flash or pdf file format);

□ advanced template system and rich collection of images;

□ interaction with presentation equipment;

□ the possibility of introducing complex multimedia objects and their simple control.

In fig. 5.6 shows programs for creating Power Point presentations from the Microsoft Office suite and Impress from the OpenOffice.org product.


Rice. 15.6. Create presentations

15.6.2. Project management programs

One of the most popular spheres of activity of managers at various levels of management in business today is project management. The project management method, in which a complex of interrelated business tasks is considered as a single project with a precisely defined in time start and end, budget, staff of executors, with a complete distribution of tasks, turned out to be effective in many respects: it is well algorithmic, standardized, it turns out to be easily portable from one sphere to another.

Not surprisingly, project management tools for both top and middle managers are a fairly common class of software. The best known project management software product is by far Microsoft Project in desktop and server versions. This product allows you to manage both individual small and medium-sized projects and bundled enterprise-level project packages.

The following capabilities are required for project management:

□ define (set) resources, including material, financial, human, time, etc .;

□ define work (tasks), establishing their hierarchy and interrelationship;

□ develop and track project budgets for different sections (time, resources, work);

□ efficiently allocate resources and work, track and mark the completion of tasks and the expenditure of resources;

□ receive project progress reports in various forms (Gantt charts, timetable, budgets, weekly or daily submissions);

□ flexibly rebuild the created design configurations.

15.6.3. Client programs for working with Internet services

The most famous service on the Internet, the World Wide Web (WWW), runs the HTTP protocol. This service is used by programs called internet browsers or internet browsers. The task of the Internet browser is to download Internet pages from a given address, display them correctly, ensure user interaction with active elements of the Internet page, maintain the required level of security and protect the user's confidential information. The most popular programs of this class today are Microsoft Internet Explorer and free software product Mozilla firefox, the popularity of another browser program is growing rapidly - Google-Chrome. The windows of these three browsers are shown in Fig. 15.7.

It can be seen from the figure that not a single browser, at least externally, has made any special innovations. It should be noted that the open development model in which Mozilla FireFox is created has its advantages: during the existence of this program, tens of thousands of additional modules have been developed for it by volunteers. These modules significantly expand the functionality of the Mozilla FireFox browser. Some modules allow you to completely change the very way of presenting information inside the program window (Fig. 15.8).


The network protocol FTP is designed to receive files from LR-servers, while ftp-servers play the role of a kind of file store. Today, there are practically no special client applications that work with this protocol, since all Internet browsers are able to read ftp directories and download files from them to the user's computer. In fig. 15.9 you can see what the same ftp directory looks like in the Konqueror file manager and in Internet Explorer.


The figure shows that modern tools for working with ftp servers reproduce remote network folders in the same way as local directories on a disk, and if the user has the appropriate rights, then the difference between network and local files is practically erased: you can open, edit, cut, copy and drag files and folders both from the hard drive to the remote server and vice versa.

Email

Email is one of the most common means of exchanging personal and business information on the Internet. There is a lot of software for working with e-mail. Among the most famous e-mail clients with a graphical user interface, it is worth noting, apparently, the commercial programs Microsoft Outlook and The Bat, as well as the free program Mozilla Thunderbird. In fig. 15.10 you can see the Microsoft Outlook and Mozilla Thunderbird windows.


File Horde- ^ & 1L Sdens Dwist & at 4003 »yipaftca

^ R "/ y ^ owerrtibsees; ^ orrmw *> iroftf $ fcb w


Rice. 15.10. Email clients for receiving and sending emails

For a modern email program, the ability to send and receive messages is not enough to compete in the market for such programs. Additionally, you need to support the following features:

□ receiving and sending messages not only in text format, but also in other formats (for example, HTML);

□ sending attachments;

□ reproduction of multimedia content;

□ search within headings, topics and text of messages;

□ maintaining a database of addresses;

□ creation of additional folders;

□ Performing automatic operations with incoming mail, including sorting it into different folders depending on the assigned filters;

□ protection from dangerous content in a message or attachment.

Instant messaging services

Instant messaging services (Internet pagers) have been unprecedentedly popular among Internet users since their inception and to this day. The first and most famous is the ICQ service. The format and applications that support the Jabber protocol are slightly less known. The mobile phone number and ICQ number have become as indispensable personal identifiers as the passport number. Instant messaging services allow you to exchange messages in one window, simultaneously send files to each other
(such as photos). Of the additional functions that instant messaging services implement, one can single out such as the organization of conferences and collective chat (simultaneous conversation of several people displayed in one window).

There are quite a few programs that support instant messaging today, and all of them are either free or free, but with ads. In fig. 15.11 shows the windows of Kopete and QIP programs that support both Jabber and ICQ formats.


Rice. 15.11. Internet pagers
T \
Peer-to-Peer Networks Peer-to-peer (p2p) networks do not need a server. The purpose of this service is the direct exchange of files between network participants. The operation of peer-to-peer networks is based on the fact that each client is also a server at the same time. If someone has an interesting file, he tells the program that he wants to put this file on the network, and then notifies interested people about it. The program breaks the file into small pieces, and other people who download this file, at the same time provide those "pieces" that they have already downloaded to the next clients. Thus, the effect of optimizing the load on the network and the absence of a single server in a peer-to-peer network is achieved. Among the most famous programs for organizing p2p networks is pTorrent - a client program, the window of which can be seen in Fig. 15.12. The main problem of peer-to-peer networks is considered to be the fact that electronic information products (programs, films, books and music) are often distributed over them with copyright infringement.

, X- a

QCompleted (O) j ^ sms: IgAcbVe (2) Qlnactive (0)

T1SHZH nlOc

... H.4J-, J \ Oown Speed, j IJp Speed J Req? .5 Uptoaded, HUD
J- / 7.66.153 102 pTorrent 1.3, G D 100,0 2|0
I ® HSI-KBW-078-042-221-034, hsi3, kabel-, BrtTorrent 6.1.2 D 100,0 4.3 kB / s 112 to :111
"■ ppp-8b25-54-226.ufcranet.ru pTorrent 1,8,2 100,0 5.8 kB / s 4 i 0 448 KB 5iI
I 81.198.55.48 (Log rent 1,8,2 D 100,0 1.2 kB / s 3|0 96,0 №
Il 384-203-51 -205, mysmart le уТor rent 1.8.2 D 100.0 2.1 kB / s 32,0 №
I 84.237.164.95 pTorrent 1.8.3 D 100,0 6.2 kB / s 4(0 192 W I AM
I 90.150,137.18? pTorrent 1,8,3 D 100,0 2.9 kB / s 3 I 0 208 m 51.2 I =
I "Zu 116-238-112-92.pool.ukrtel.net pTorrent 1,8,1 D 100.0 1.8 kB / s 3(0
j Mlriet 166.255.92-89, tmn.ertefeconri.ru IiTorrent 1,8,3 D 100,0 0.3 kB / s 2 J 0
1 JAN 93-80-0-187. broadband, corbina, gi lu _ __ pTorrent 1,8,2 0,2 4.2 kB / s yoshshshshzh 240 kB Jff j -
Rice. j ".; D: 52.0 kB / s T: 2.6 MS 15.12. pTorrent program Xj; O> 2fc0 / sT: 93.2k8

15.6.4. Programs for scientific research and calculations

Specialized software for conducting scientific research, collecting scientific (experimental) statistics and performing special scientific calculations based on the collected data is not as widely known as, for example, Internet software, office software or multimedia software. One of the areas of scientific research in which specialized scientific software is most widely used is bioinformatics, which is closely related to the decoding of the human genome and the subsequent construction of gene models (genetic engineering) for solving problems of medicine, health, and agriculture. Avogadro, for example, allows you to create amazing 3D models of molecules (Figure 15.13).

Programs for general mathematical, statistical and physical calculations are found most often (examples of such programs: STATISTICA, MathCad, MathLab, MATHEMATICA). The third largest type of programs is programs for astronomical modeling and astronomical calculations.


15.6.5. Educational programs

The trend of integrating computer technologies into the educational process is now becoming more and more evident, at the same time, software is being actively developed, specifically focused on the educational process. Educational software can be divided into three main groups:

□ for interaction;

□ to transfer knowledge in certain subjects;

□ for computer testing and training.

Interaction programs

With the help of modern software and hardware, the teacher can demonstrate his desktop on the students 'monitors and see the students' desktops on the monitor of his computer. These same tools allow students to access each other's desktops. Usually, this mechanism effectively works within one class within a local computer network, but with a good bandwidth of the network channel, it can also be effective in global networks or the Internet. This creates a distributed learning environment in which all participants can access each other's desktops. An example of software that implements these principles is the NetOp School software product manufactured by Axis Projects.

Programs for the transfer of knowledge in specific subjects

Programs of this type in an interactive form allow you to gain knowledge on a particular subject of study or in a particular area of ​​knowledge. There are many such programs today, both commercial and free. As an example, we will give the program "Interactive periodic table", which allows you to obtain comprehensive information about each element of the periodic table (Fig. 15.14).



Programs for computer testing and training

There are now a great many programs for computer testing and training, both freely available and paid, ranging from simple programs with the answer to a dozen questions with a single choice of option and ending with powerful computer testing and proficiency confirmation systems with network registration, a wide range of assignment methods a question and answer to it, and a base of questions consisting of tens of thousands of different options.

Professional computer testing systems also have built-in intelligence, and if during a survey you cannot answer a question correctly, they will ask it again, but paraphrasing it. If the answer is wrong again, the system will start checking the knowledge of the topic as a whole.

Educational operating system of Russia

In Russia, in 2008, the development was completed and an educational Linux distribution was tested, which received the general name "School Linux". This educational distribution based on Alt Linux Desktop and Alt Linux Server solutions has several versions:

□ Master - the most complete version designed for a "good" hardware platform (with 2 GB of RAM and more);

□ Junior - the most common solution designed for most school computers, differs from the Master only in the absence of the most resource-intensive packages, such as Eclipse;

□ Lightweight - special lightweight solution for older computers with 512 to 128 bytes of RAM;

□ Terminal-server - a solution for one powerful computer and a class of old computers with 32 to 64 MB of RAM;

□ Server - a server solution with a set of educational server software designed to integrate school computers into a network with a single gateway, content filtering of traffic, collaboration tools (Media Wiki) and e-learning (Moodle).

The educational distribution contains a comprehensive set of office, system and network programs for every taste. In addition, the educational distribution includes many specialized scientific, educational and software applications. A powerful base of development tools will allow students to master a variety of programming and software design techniques in different programming languages ​​and in different environments.

15.6.6. Programs for organizing the work of educational institutions

Programs for computerizing school management and facilitating the work of school administration, interacting with parents, recording various events in the life of students, monitoring their health status and accompanying the educational process (computer classroom journal, computer diary, network parent meeting) have been developed and used for a long time, but they have mostly foreign origin. However, as you know, in some areas of activity, standards and formal criteria diverge. This was the case with accounting programs, which for our country had to be created practically from scratch, and so happened with the programs for managing the work of a school or university: the structures of educational institutions, assessment criteria, enrollment, division into groups and disciplines turned out to be too different. And for a long time the legislative framework did not encourage the development of such programs.

The very first software products that made life easier for the administration of an educational institution were programs for scheduling classes taking into account the workload of teachers, classrooms, subjects and other parameters. These programs did not require knowledge of any special standards and documents; solving the problem of allocating resources over time is pure mathematics. One of the successful implementations of such programs, the Rector, is shown in Fig. 15.15.

However, the life and administrative tasks of an educational institution are not limited to scheduling. Thematic lesson planning, attendance and grades, various school activities, contacts with parents - all this also requires some programmatic support. Such support is implemented in the Net-School program (Fig. 15.16).

In this system, many functions of school administration are automated. But even it cannot be freely used in school

process, and the point is not in programming, but in the legal and financial design of many operations: the problem of a school magazine arises, which will have to be duplicated twice, in electronic form and in paper; the problem of financing the mailing of reports to parents in the form of SMS messages has not been resolved.

fVr.Ttip Ldnk dayanych W

"■■ QMm ^^. ЛШтт - Шртш" \.y

Rice. 15.15. Scheduling in the program Rector

j Ftie tdt "Aei /., ha \" oriLe-: Tooh- Help

Ajjkires :. bgjj hc "; p. // netsdioof / aspv" Graue; "Jour


Students September Average Estimation for the period
10 ! grade
U U AND Li w a LJ U Li AND U U
1, Aronova Irin ill 5,00
2, Badyashev Alexander l ill 4,33
3. Zimin Arkadi UP Hill 4,00
4. To "Valentina Raierova iill f ~ l 31
5, Illl 3,50
6, Kuznetsova Anastasia iiii ... 3,67 ..
7, Kurskaya Ksen " 3,50
0. . iiii 2,67
9. Norova Dad I am! UP ill 5/30
10, Pavlova Nat FROM ! fill
11, Renat! llfill 3,00
12, Romam iill 3,33
13. Sazonova South yaya 5,00
14. 4,50
ШШ ШтШ IhWi
ZYAYINAYIIi uchv


Rice. 15.16. School administrative information system Net-School


15.6.7. Multimedia programs

The class of multimedia software includes programs with which you can create, edit, save and play multimedia data, that is, data containing stationary and moving images, sound. Multimedia software includes a number of very popular programs: graphic editors of raster formats Adobe Photoshop and GIMP, vector graphic editors Corel Draw and Corel Xara, programs for creating and editing flash-animation, programs for working with sound, and a number of multimedia players. , from picture viewers to DVD players.

15.6.8. Accounting programs

Accounting programs represent a huge class of applications. These can be both stand-alone software products and software modules included in the information system. Among the domestic accounting programs, the most famous program is 1C: Accounting. Once started as an autonomous software environment for accounting calculations, it has now transformed into an information system that includes modules for personnel accounting (1C-personnel), warehouse accounting (1C-warehouse), planning financial activities of industrial enterprises (1C- enterprise) and trading firms (1C-trade). This software product is commercial.

Among the free software, there is also a solution for automating the accounting and economic accounting of enterprises (Ananas), which, if properly applied, may in many cases turn out to be more expedient than the rather expensive 1C system that requires special training.

15.6.9. Programs for financial calculations and forecasting

The main purpose of such programs is to carry out financial calculations. Such programs can perform the following functions:

□ development of a business plan for the enterprise;

□ business development design;

□ analysis of the financial condition of the enterprise on the basis of its financial statements;

□ calculation of financial indicators;

□ calculation of the borrower's creditworthiness;

□ preparation of the company's annual report;

□ comparison of the financial condition of the company with competing companies;

□ analysis of profitability, solvency, liquidity and financial stability;

□ analysis of the planned investment activity.

An example of this type of software is the Expert Systems software package: Project Expert, Audit Expert and Prime Expert. These programs allow you to perform all the mentioned types of financial analysis and planning, assessing the risks and opportunities of the enterprise.

15.6.10. Engineering design software

Modern industry and construction cannot be imagined without software packages. The timing of development and release of products, as well as the timing of the development of design documentation for the construction of buildings, become decisive in the competition. Modern computer-aided design systems allow you to create drawings of parts, assemblies and devices on a computer, and immediately in three-dimensional form, and immediately make calculations of strength, wear resistance and other defining technical characteristics. Most famous programs of this class are Autodesk Autokad in all modifications, which enable computer-aided design from mechanical parts to chemical compounds, and Graphisoft ArchiCAD, which is intended for architectural design.

In addition to these very expensive software products, there is a whole line of various kinds of specialized software, both commercial and free.

15.6.11. Business software

Business software includes a wide variety of types of software packages:

□ software for managing the work of an industrial enterprise;

□ process control software;

□ specialized software for industries;

□ specialized software by type of production;

□ specialized information systems for types of business;

□ software for small businesses;

□ software for networked business.

For large and medium-sized enterprises, ready-made resource planning systems (Enterprise Resource Planning - ERP) have already become the standard. The most famous software packages of this class are SAP R / 3 from SAP AG and Oracle eBusiness Suite from Oracle. Of the Russian software packages, the most widespread are the Galaktika ERP package from the Galaktika corporation, as well as 1C: Enterprise.

ERP systems are widely used due to their modular structure, which allows flexible configuration of the software product for the needs of any enterprise. For example, Oracle eBusiness Suite includes management subsystems:

Software version: 3.01 Program size: 191 Kb Downloaded: 1682

Software version: 5 Program size: 773 Kb Downloaded: 1115

Software version: 2.17 Program size: 238 Kb Downloaded: 3124

Software version: 1.0 Program size: 187 Kb Downloaded: 648

Software version: 1.0 Program size: 755 Kb Downloaded: 1358

Software version: 1.1 Program size: 232 Kb Downloaded: 1471

Description: One of the ways to improve the reliability of the functioning of a complex system is the introduction of preventive measures aimed at bringing the system to an optimal state when various unfavorable factors appear. An automated system for analyzing experimental data is designed to determine the effectiveness of these activities. For the analysis at the stage of planning the experiment, three main states of the system are formulated and investigated: - reference - the state in which the system is able to function without failures for an unlimited time; - current - a state that occurs when various unfavorable factors appear that can lead to a malfunction in a complex system; - new - a state obtained as a result of the implementation of preventive measures aimed at countering the consequences of the appearance of unfavorable factors and bringing the system to an optimal (reference) state. The automated system formulates a logical conclusion using the mathematical apparatus of the theory of pattern recognition. First, deviations from the standard of the current and new states are determined. If the deviation of the new state is greater than the current one, then the preventive measure is unequivocally recognized as ineffective. Otherwise, the recognition algorithm is launched and the event is recognized as effective if, as a result of the analysis, the new state is classified as a reference state. The work of the automated system was tested on the data of an experimental study of the activities of the aircraft crew in various flight conditions, carried out at the Academy of Civil Aviation at the TU-134 KTS in the course of one of the research projects. The conclusions drawn from the results of the study using classical methods of mathematical statistics (including expert assessment) fully coincided with the conclusions of the automated system. Here you can

Software version: 1 Program size: 2.14 Mb Downloaded: 1920

Software version: demo Program size: 1.12 Mb Downloaded: 3647

Description: Nonparametric statistics module for all versions of StarCalc (Sun StarOffice) and Calc (OpenOffice.org) spreadsheets. Here you can

Symbolic, or, as they say, computer, mathematics or computer algebra, is a large section of mathematical modeling. In principle, programs of this kind can be classified as CAD engineering programs. Thus, in the field of engineering design, there are three main sections:

  • CAD - Computer Aided Design;
  • CAM - Computer Aided Manufacturing;
  • CAE - Computer Aided Engineering.

Today, serious design, urban planning and architecture, electrical engineering and a lot of related industries, as well as technical educational institutions can no longer do without computer-aided design (CAD) systems, production and calculations. And mathematical packages are an integral part of the world of CAE systems, but this part can in no way be considered secondary, since some problems cannot be solved at all without the help of a computer. Moreover, even theorists (the so-called pure, not applied mathematicians) resort to systems of symbolic mathematics today, for example, to test their hypotheses.

Just some 10 years ago, these systems were considered purely professional, but the mid-90s became a turning point for the global market for CAD / CAM / CAE systems for mass use. Then, for the first time in a long time, parametric modeling packages with industrial capabilities became available to PC users. The creators of such systems took into account the requirements of a wide range of users and thus made it possible for tens of thousands of engineers and mathematicians to use the latest scientific achievements in the field of CAD / CAM / CAE-systems in their personal workplaces.

So what can mathematical modeling programs do? Do they really require scientists to be able to program in certain algorithmic languages, debug programs, catch errors and spend a lot of time getting a result? No, those days are long gone, and now in mathematical packages the principle of model construction is applied, rather than the traditional "art of programming". That is, the user only sets the task, and the system finds the methods and algorithms for the solution itself. Moreover, the computer independently carries out such routine operations as opening brackets, transforming expressions, finding the roots of equations, derivatives and indefinite integrals in symbolic form, and practically without user intervention.

Modern mathematical packages can be used both as a regular calculator, and as a means to simplify expressions when solving any problems, and as a graphics or even sound generator! The means of interacting with the Internet have also become standard, and the generation of HTML pages is now done right in the process of computation. Now you can solve a problem and at the same time publish the progress of its solution for colleagues on your home page.

It is possible to talk about mathematical modeling programs and their possible areas of application for a very long time, but we will limit ourselves to only a brief overview of the leading programs, indicate their common features and differences. Nowadays, almost all modern CAE programs have built-in symbolic computation functions. However, the most famous and adapted for mathematical symbolic calculations are Maple, MathCad, Mathematica and MatLab. But, while reviewing the main programs of symbolic mathematics, we will also point out possible alternatives that are ideologically similar to one or another leader package.

So what do these programs do and how do they help mathematicians? The basis of the course of mathematical analysis in higher education is made up of such concepts as limits, derivatives, antiderivatives of functions, integrals of various types, series and differential equations. Anyone who is familiar with the basics of higher mathematics probably knows dozens of rules for finding limits, taking integrals, finding derivatives, etc. If we add to this the fact that in order to find most of the integrals one must also remember the table of basic integrals, then a truly huge amount of information is obtained. And if for some time you do not train in solving such problems, then a lot is quickly forgotten and to find, for example, an integral more difficult, you will have to look in reference books. But after all, taking integrals and finding limits in real work is not the main purpose of calculations. The real goal is to solve some problem, and computation is just an intermediate step on the way to that solution.

Using the described software, you can save a lot of time and avoid many errors in calculations. Naturally, CAE systems are not limited only to these capabilities, but in this review we will focus on them.

We only note that the range of tasks solved by such systems is very wide:

  • conducting mathematical research requiring calculations and analytical calculations;
  • development and analysis of algorithms;
  • mathematical modeling and computer experiment;
  • data analysis and processing;
  • visualization, scientific and engineering graphics;
  • development of graphic and computational applications.

At the same time, we note that since CAE systems contain operators for basic calculations, then almost all algorithms that are absent in standard functions can be implemented by writing your own program.

Mathematica (http://www.wolfram.com/)

  • 400-550 MB of disk space;
  • operating systems: Windows 98 / Me / NT 4.0 / 2000/2003 Server / 2003x64 / XP / XP x64.

Wolfram Research, Inc., which developed the Mathematica computer mathematics system, is widely regarded as the oldest and most established player in the field. Mathematica (current version 5.2) is widely used in calculations in modern scientific research and has become widely known in the scientific and educational environment. You can even say that Mathematica has significant functional redundancy (in particular, there is even a possibility for sound synthesis).

However, it is unlikely that this powerful mathematical system, claiming to be world leadership, is needed by a secretary or even a director of a small commercial firm, let alone ordinary users. But, undoubtedly, any serious scientific laboratory or university department should have a similar program if they are seriously interested in automating the performance of mathematical calculations of any degree of complexity. Despite its focus on serious mathematical calculations, Mathematica class systems are easy to learn and can be used by a fairly wide category of users - university students and teachers, engineers, graduate students, researchers and even students of mathematical classes of general education and special schools. All of them will find numerous useful applications in such a system.

At the same time, the broadest functions of the program do not overload its interface and do not slow down computations. Mathematica consistently demonstrates the high speed of symbolic transformations and numerical calculations. Of all the systems under consideration, Mathematica is the most complete and versatile program, but each program has both its advantages and disadvantages. And most importantly, they have their own adherents, whom it is useless to convince of the superiority of another system. But those who seriously work with systems of computer mathematics should use several programs, because only this guarantees a high level of reliability of complex calculations.

Note that in the development of various versions of the Mathematica system, along with the parent company Wolfram Research, Inc., other companies and hundreds of highly qualified specialists, including mathematicians and programmers, took part. Among them there are also representatives of the Russian mathematical school, which is respected and in demand abroad. The Mathematica system is one of the largest software systems and implements the most efficient computation algorithms. These include, for example, a context mechanism that prevents side effects from appearing in programs.

The Mathematica system is considered today as the world leader among computer systems of symbolic mathematics for PCs, which provide not only the ability to perform complex numerical calculations with the output of their results in the most exquisite graphical form, but also carry out particularly laborious analytical transformations and calculations. Windows versions have a modern user interface and allow you to prepare documents in the form of Notebooks. They combine initial data, descriptions of algorithms for solving problems, programs and solution results in a wide variety of forms (mathematical formulas, numbers, vectors, matrices, tables and graphs).

Mathematica was conceived as a system that automates the work of scientists and mathematicians-analysts as much as possible, so it deserves to be studied even as a typical representative of elite and highly intelligent software products of the highest degree of complexity. However, it is of much greater interest as a powerful and flexible mathematical toolkit that can provide invaluable assistance to most researchers, university and university professors, students, engineers, and even schoolchildren.

From the very beginning, much attention was paid to graphics, including dynamic, and even to the possibilities of multimedia - the reproduction of dynamic animation and the synthesis of sounds. The set of graphics functions and options that change their effect is very wide. Graphics have always been a strong point of the various versions of Mathematica and have provided them with a leadership role in computer mathematics systems.

As a result, Mathematica quickly took the lead in the symbolic math systems market. Particularly attractive are the extensive graphical capabilities of the system and the implementation of the Notebook interface. At the same time, the system provided dynamic communication between document cells in the style of spreadsheets even when solving symbolic problems, which fundamentally and favorably distinguished it from other similar systems.

By the way, the central place in systems of the Mathematica class is occupied by a machine-independent core of mathematical operations, which allows the system to be transferred to various computer platforms. To transfer the system to another computer platform, the Front End software interface processor is used. It is he who determines what form the user interface of the system has, that is, the interface processors of Mathematica systems for other platforms may have their own nuances. The kernel is made compact enough to call any function from it very quickly. The Library and a set of Add-on Packages are used to expand the set of functions. Extension packages are prepared in the own programming language of Mathematica systems and are the main tool for developing the capabilities of the system and adapting them to solving specific classes of user problems. In addition, the systems have a built-in electronic help system - Help, which contains e-books with real examples.

Thus, Mathematica is, on the one hand, a typical programming system based on one of the most powerful high-level problem-oriented functional programming languages, designed to solve various problems (including mathematical ones), and on the other hand, it is an interactive system for solving most of mathematical tasks in interactive mode without traditional programming. Thus, Mathematica as a programming system has all the possibilities for the development and creation of almost any control structures, the organization of input-output, work with system functions and maintenance of any peripheral devices, and with the help of add-ons, it becomes possible to adapt to the requests of any user, (although an ordinary user may not need these programming tools - he will completely manage with the built-in mathematical functions of the system, which amaze even experienced mathematicians with their abundance and diversity).

The disadvantages of the Mathematica system include perhaps a very unusual programming language, which, however, is facilitated by a detailed help system.

There are packages such as Maxima (/) and Kalamaris (developer.kde.org/~larrosa/kalamaris.html) as simpler but ideologically similar alternatives to Mathematica.

Note that the Maxima system is a non-commercial open source project. Maxima uses a language similar to Mathematica for mathematical work, and the graphical interface is built on the same principles. The program was originally called Xmaxima and was created for UNIX systems.

In addition, Maxima now has an even more powerful, efficient and user-friendly cross-platform GUI called Wxmaxima (http://wxmaxima.sourceforge.net). And although this project so far exists only in beta version, it is gradually turning into a very serious alternative to commercial systems.

Kalamaris is also a new project that has a similar approach and ideology to Mathematica. The project is not yet complete, but it is also a good free alternative to such a commercial monster as Mathematica.

Maple (http://www.maplesoft.com/)

Minimum system requirements:

Pentium III 650 MHz processor;

400 MB of disk space;

Operating Systems: Windows NT 4 (SP5) / 98 / ME / 2000/2003 Server / XP Pro / XP Home.

Maple program ( latest version 10.02) is a kind of patriarch in the family of symbolic mathematics systems and is still one of the leaders among universal symbolic computation systems. It provides the user with a convenient intellectual environment for mathematical research of any level and is especially popular in the scientific community. Note that the symbolic analyzer of the Maple program is the strongest part of this software, therefore it was it that was borrowed and included in a number of other CAE packages, such as MathCad and MatLab, as well as in the packages for the preparation of scientific publications Scientific WorkPlace and Math Office for Word ...

The Maple package is a joint development of the University of Waterloo (Ontario, Canada) and the Higher Technical School (ETHZ, Zurich, Switzerland). For its sale, a special company was created - Waterloo Maple, Inc., which, unfortunately, is more famous for the mathematical elaboration of its project than for the level of its commercial implementation. As a result, the Maple system was previously available mainly to a narrow circle of professionals. The company is now working in conjunction with the more successful commerce and user interface for math systems firm MathSoft, Inc. - the creator of the very popular and massive systems for numerical calculations MathCad, which have become the international standard for technical calculations.

Maple provides a convenient environment for computer experiments, during which different approaches to the problem are tried, particular solutions are analyzed, and, if programming is necessary, fragments requiring special speed are selected. The package allows you to create integrated environments with the participation of other systems and high-level universal programming languages. When the calculations are made and you need to format the results, you can use the tools of this package to visualize data and prepare illustrations for publication. To complete the work, it remains to prepare the printed material (report, article, book) directly in the Maple environment, and then you can proceed to the next research. The work takes place interactively - the user enters commands and immediately sees the result of their execution on the screen. At the same time, the Maple package is not at all like a traditional programming environment, where a rigid formalization of all variables and actions with them is required. Here, the selection of suitable types of variables is automatically ensured and the correctness of the operations is checked, so that in the general case there is no need for the description of variables and strict formalization of the record.

The Maple package consists of a core (routines written in C and well optimized), a library written in Maple, and a developed front-end. The kernel performs most of the basic operations, and the library contains many commands - procedures that are executed in interpretation mode.

The Maple interface is based on the concept of a worksheet or document containing I / O lines and text and graphics.

The package is operated in interpreter mode. In the input line, the user sets a command, presses the Enter key and receives the result - a line (or lines) of output or a message about an erroneously entered command. It immediately prompts you to enter a new command, etc.

Maple interface

Working windows (sheets) of the Maple system can be used either as interactive environments for solving problems, or as a system for preparing technical documentation. Execution teams and spreadsheets simplify user interaction with the Maple engine by serving as the primary means by which requests for specific tasks and output are sent to the Maple system. Both of these types of primary means allow for Maple commands to be entered.

The Maple system allows you to enter spreadsheets containing both numbers and symbols. They combine the mathematical capabilities of the Maple system with the familiar row and column format of traditional spreadsheets. Maple spreadsheets can be used to create tables of formulas.

To make it easier to document and organize the results of calculations, there are options for breaking into paragraphs and sections, as well as adding hyperlinks. The hyperlink is a navigational aid. With a single click, you can jump to another point within the worksheet, to another worksheet, to a help page, to a worksheet on a Web server, or to any other Web page.

Worksheets can be organized hierarchically, in the form of sections and subsections. Sections and subsections can be expanded or collapsed. The Maple system, like other text editors, supports the bookmark option.

Calculations in Maple

The Maple system can be used at the most elementary level of its capabilities - as a very powerful calculator for calculations according to given formulas, but its main advantage is the ability to perform arithmetic operations in symbolic form, that is, as a person does. When working with fractions and roots, the program does not reduce them to decimal in the process of calculations, but makes the necessary reductions and transformations into a column, which avoids rounding errors. To work with decimal equivalents, Maple has a special command that approximates the value of an expression in floating point format. The Maple system calculates finite and infinite sums and products, performs computational operations with complex numbers, easily converts a complex number to a number in polar coordinates, calculates the numerical values ​​of elementary functions, and also knows many special functions and mathematical constants (such as, for example, "e "And" pi "). Maple supports hundreds of special functions and numbers found in many areas of mathematics, science, and technology. Here are just a few of them:

  • error function;
  • Euler's constant;
  • exponential integral;
  • elliptic integral function;
  • gamma function;
  • zeta function;
  • Heaviside step function;
  • the Dirac delta function;
  • Bessel and modified Bessel functions.

The Maple system offers various ways of representing, reducing, and transforming expressions, such as operations such as simplifying and factoring algebraic expressions and converting them to different forms. Thus, Maple can be used to solve equations and systems.

Maple also has many powerful tools for evaluating expressions with one or more variables. The program can be used to solve problems of differential and integral calculus, calculate limits, series expansions, summation of series, multiplication, integral transforms (such as Laplace transform, Z-transform, Mellin transform or Fourier transform), as well as to study continuous or piecewise continuous functions.

Maple can calculate the limits of functions, both finite and tending to infinity, and also recognizes uncertainties within the limits. This system can solve many ordinary differential equations (ODE) as well as partial differential equations (PDE), including initial problem (IVP) and boundary value problem (BVP).

One of the most commonly used software packages in Maple is the linear algebra package, which contains a powerful set of commands for working with vectors and matrices. Maple can find eigenvalues ​​and eigenvectors of operators, calculate curvilinear coordinates, find matrix norms, and calculate many different types of matrix decomposition.

For technical applications, Maple includes reference books of physical constants and units of physical quantities with automatic recalculation of formulas. Maple is especially effective when teaching math. The superior intelligence of this symbolic mathematics system is combined with excellent mathematical numerical modeling tools and simply amazing graphical solution visualization capabilities. Systems such as Maple can be used both in teaching and for self-education in the study of mathematics from the very basics to the top.

Graphics in Maple

Maple supports both 2D and 3D graphics. Thus, it is possible to represent explicit, implicit and parametric functions, as well as multidimensional functions and simply datasets in a graphical form and visually search for patterns.

Graphical tools Maple allows you to build two-dimensional graphs of several functions at once, create graphs of conformal transformations of functions with complex numbers and graph functions in logarithmic, double logarithmic, parametric, phase, polar and contour forms. You can graphically represent inequalities, implicitly defined functions, solutions to differential equations, and root locus.

Maple can build surfaces and curves in 3D, including surfaces defined by explicit and parametric functions, as well as solutions to differential equations. In this case, it is possible to represent not only in a static form, but also in the form of two- or three-dimensional animation. This feature of the system can be used to display processes occurring in real time.

Note that for the preparation of the result and documentation of research, the system has all the possibilities of choosing fonts for names, inscriptions and other text information on the graphs. In this case, you can vary not only the fonts, but also the brightness, color and scale of the graph.

Specialized applications

A comprehensive set of powerful Maple PowerTools and packages for areas such as finite element analysis (FEM), nonlinear optimization, and more, will fully satisfy users with a university degree in mathematics. Maple also includes packages of subroutines for solving problems of linear and tensor algebra, Euclidean and analytical geometry, number theory, probability theory and mathematical statistics, combinatorics, group theory, integral transformations, numerical approximation and linear optimization (simplex method), as well as problems financial mathematics and many, many others.

The Finance software package is intended for financial calculations. It can be used to calculate the current and accumulated annuities, aggregate annuities, life annuities, aggregate life annuities, and interest income on bonds. You can build a depreciation table, determine the real rate for compound interest, and calculate the current and future fixed amount for a specific rate and compound interest.

Programming

Maple uses a 4th generation procedural language (4GL). This language is specifically designed for the rapid development of mathematical routines and custom applications. The syntax of this language is similar to the syntax of the high-level universal languages: C, Fortran, Basic, and Pascal.

Maple can generate code that is compatible with programming languages ​​such as Fortran or C, and with the LaTeX typing language, which is very popular in the scientific world and is used to design publications. One of the advantages of this property is the ability to provide access to specialized numerical programs that maximize the speed of solving complex problems. For example, using the Maple system, you can develop a specific mathematical model and then use it to generate C code that matches that model. Specially optimized for math development, 4GL can shorten the development process, and customize the user interface with Maplets or Maple documents with embedded graphics.

At the same time, in the Maple environment, you can prepare and documentation for the application, since the tools of the package allow you to create professional-looking technical documents containing text, interactive mathematical calculations, graphics, drawings and even sound. You can also create interactive documents and presentations by adding buttons, sliders, and other components, and finally, publish documents to the Internet and deploy interactive computing to the Web using the MapleNet server.

Internet Compatibility

Maple is the first general-purpose math package to offer full support for the MathML 2.0 standard, which governs both the look and feel of math on the web. This exclusive feature makes the current version of MathML the main tool for Internet mathematics, and also sets a new level of multiuser compatibility. TCP / IP provides dynamic access to information from other Internet resources, such as real-time financial analysis data or weather data.

Development prospects

The latest versions of Maple, in addition to additional algorithms and methods for solving mathematical problems, received a more convenient graphical interface, advanced visualization and graphing tools, as well as additional programming tools (including compatibility with universal programming languages). Starting with the ninth version, import of documents from the Mathematica program was added to the package, and definitions of mathematical and engineering concepts were introduced into the help system and navigation through the help pages was expanded. In addition, the printing quality of formulas has been improved, especially when formatting large and complex expressions, and the size of MW-files for storing Maple working documents has been significantly reduced.

Thus, Maple is perhaps the most well-balanced system and the undisputed leader in the possibilities of symbolic computation for mathematics. At the same time, the original symbolic engine is combined here with an easy-to-remember structured programming language, so that Maple can be used for both small tasks and for serious projects.

The disadvantages of the Maple system can be attributed only to its some "thoughtfulness", and not always justified, as well as the very high cost of this program (depending on the version and set of libraries, its price reaches several tens of thousands of dollars, although students and researchers are offered cheap versions - for several hundred dollars).

The Maple package is widely distributed in the universities of the leading scientific powers, in research centers and companies. The program is constantly evolving, incorporating new areas of mathematics, acquiring new functions and providing a better environment for research work. One of the main directions of development of this system is to increase the power and reliability of analytical (symbolic) calculations. This direction is most widely represented in Maple. Already today, Maple can perform the most complex analytical calculations, which are often beyond the power of even experienced mathematicians. Of course, Maple is not capable of ingenious guesses, but the system performs routine and massive calculations brilliantly. Another important area is increasing the efficiency of numerical calculations. As a result, the prospect of using Maple in numerical modeling and in performing complex calculations, including with arbitrary precision, has noticeably increased. And finally, tight integration of Maple with other software tools is another important direction in the development of this system. The Maple symbolic computing kernel is already included in a number of computer mathematics systems - from systems for a wide range of users such as MathCad to one of the best systems for numerical calculations and modeling MatLab.

All these capabilities, combined with a beautifully executed and user-friendly user interface and powerful help system, make Maple a first-class software environment for solving a wide variety of mathematical problems, capable of providing users with effective assistance in solving educational and real scientific and technical problems.

Alternative packages

Packages such as Derive (http://www.chartwellyorke.com/derive.html), Scientific WorkPlace (http://www.mackichan.com/) and YaCaS (www.xs4all.nl/~apinkus/yacas.html).

As we discussed earlier, Scientific WorkPlace (SWP, current version 5.5) initially evolved as a scientific text editor, making it easy to type and edit mathematical formulas. However, over time, MacKichan Software, Inc. (a developer of Scientific WorkPlace) licensed the Maple symbolic engine from Waterloo Maple, Inc., and now the program combines an easy-to-use word processor for creating mathematical texts and computer algebra in one environment. Thanks to the built-in computer algebra system, you can perform calculations right in the document. Of course, this program does not have the same capabilities as Maple, but it is small and easy to use.

As for YaCaS (an abbreviation for Yet Another Computer Algebra System - another computer algebra system), it is a free cross-platform alternative to Maple, built on the same principles. Powerful and highly efficient YaCaS engine is fully implemented in C ++ under open source license (OpenSource). The interface, of course, is poorer and simpler than that of the venerable competitors, but quite user-friendly.

But the small commercial mathematical system Derive (current version 6.1) has existed for quite a long time, but, of course, cannot be considered as a full-fledged alternative to Maple, although it is still attractive for its undemanding PC hardware resources. Moreover, when solving problems of moderate complexity, it demonstrates even higher performance and greater reliability of the solution than the first versions of Maple and Mathematica systems. However, it is difficult for Derive to seriously compete with these systems - both in the abundance of functions and rules for analytical transformations, and in the capabilities of computer graphics and in the convenience of the user interface. So far, Derive is more of an entry-level computer algebra curriculum.

And although the latest version of Derive 6 for Windows already has a modern user-friendly interface, it is in many ways inferior to the exquisite interface of venerable competitors. And in terms of the ability to graphically visualize the results of calculations, Derive is far behind competitors.

Matlab (http://www.mathworks.com/)

Minimum system requirements:

  • Pentium III, 4, Xeon, Pentium M processor; AMD Athlon, Athlon XP, Athlon MP;
  • 256 MB of RAM (512 MB recommended);
  • 400 MB of disk space (only for the MatLab system itself and its Help);
  • operating system Microsoft Windows 2000 (SP3) / XP.

The MatLab system belongs to the middle level of products intended for symbolic mathematics, but is designed for widespread use in the CAE area (that is, it is strong in other areas as well). MatLab is one of the oldest, thoroughly developed and time-tested systems for automating mathematical calculations, built on an expanded representation and application of matrix operations. This is reflected in the very name of the system - MATrix LABoratory, that is, a matrix laboratory. However, the syntax of the system programming language is so carefully thought out that this orientation is almost not felt by those users who are not directly interested in matrix calculations.

Despite the fact that initially MatLab was intended exclusively for computations, in the process of evolution (and now version 7 has already been released), in addition to excellent computational tools, a core of symbolic transformations was acquired from Waterloo Maple under a license for MatLab, and also libraries appeared that provide functions that are unique for mathematical packages in MatLab. For example, the well-known Simulink library, implementing the principle of visual programming, allows you to build a logic diagram of a complex control system from only building blocks, without writing a single line of code. After constructing such a circuit, you can analyze its work in detail.

The MatLab system also has ample opportunities for programming. Its C Math library (MatLab compiler) is object-based and contains over 300 data processing procedures in C. Inside the package, you can use both MatLab procedures itself and standard C procedures, which makes this tool a powerful tool for developing applications (using the C compiler Math, you can embed any MatLab procedures into ready-made applications).

The C Math library allows you to use the following categories of functions:

  • operations with matrices
  • comparison of matrices;
  • solving linear equations;
  • decomposition of operators and search for eigenvalues;
  • finding the inverse matrix;
  • search for a determinant;
  • calculation of the matrix exponential;
  • elementary mathematics;
  • beta, gamma, erf and elliptic functions;
  • fundamentals of statistics and data analysis;
  • search for roots of polynomials;
  • filtering, convolution;
  • fast Fourier transform (FFT);
  • interpolation;
  • operations with strings;
  • file I / O operations, etc.

Moreover, all MatLab libraries are distinguished by a high speed of numerical calculations. However, matrices are widely used not only in such mathematical calculations as solving problems of linear algebra and mathematical modeling, calculating static and dynamic systems and objects. They are the basis for the automatic compilation and solution of equations of state for dynamic objects and systems. It is the universality of the matrix calculus apparatus that significantly increases the interest in the MatLab system, which has incorporated the best achievements in the field of fast solution of matrix problems. Therefore, MatLab has long gone beyond the framework of a specialized matrix system, becoming one of the most powerful universal integrated systems of computer mathematics.

To visualize the simulation, the MatLab system has the Image Processing Toolbox library, which provides a wide range of functions that support the visualization of calculations performed directly from the MatLab environment, magnification and analysis, as well as the ability to build image processing algorithms. The advanced graphics library techniques in conjunction with the MatLab programming language provide an open, extensible system that can be used to create custom graphics-capable applications.

The main tools of the Image Processing Tollbox library:

  • building filters, filtering and restoring images;
  • enlargement of images;
  • analysis and statistical processing of images;
  • highlighting areas of interest, geometric and morphological operations;
  • manipulation of color;
  • two-dimensional transformations;
  • processing unit;
  • visualization tool;
  • writing / reading graphic files.

Thus, the MatLab system can be used for image processing by constructing your own algorithms that will work with graphics arrays as with data matrices. Since the MatLab language is optimized for working with matrices, the result is ease of use, high speed and cost-effectiveness of operations on images.

Thus, the MatLab program can be used to restore damaged images, pattern recognition of objects in images, or to develop any of our own original image processing algorithms. The Image Processing Tollbox library makes it easy to develop highly accurate algorithms because each of the functions included in the library is optimized for maximum performance, efficiency, and computational reliability. In addition, the library provides the developer with numerous tools for creating their own solutions and for implementing complex graphics processing applications. And when analyzing images, using instant access to powerful visualization tools can instantly see the effects of magnification, restoration, and filtering.

Among other libraries of the MatLab system, one can also note the System Identification Toolbox - a set of tools for creating mathematical models of dynamic systems based on the observed input / output data. A feature of this toolkit is the presence of a flexible user interface that allows you to organize data and models. The System Identification Toolbox library supports both parametric and nonparametric methods. The system interface facilitates preprocessing data, working with an iterative process of creating models to obtain estimates and highlight the most significant data. Fast execution with minimal effort of such operations as opening / saving data, highlighting the range of possible data values, removing errors, preventing data from leaving their characteristic level.

The datasets and identifiable models are organized graphically, making it easy to recall the results of previous analyzes during the system identification process and select the next possible process steps. The main user interface organizes the data to show the result already obtained. This facilitates a quick comparison by model estimates, allows you to graphically highlight the most significant models and explore their performance.

As for mathematical calculations, MatLab provides access to a huge number of subroutines contained in the NAG Foundation Library by Numerical Algorithms Group Ltd (the toolkit has hundreds of functions from various areas of mathematics, and many of these programs were developed by well-known specialists in the world). This is a unique collection of realizations of modern numerical methods of computer mathematics, created over the past three decades. Thus, MatLab has incorporated the experience, rules, and methods of mathematical calculations, accumulated over thousands of years of mathematics development. The extensive documentation attached to the system alone can be regarded as a fundamental multivolume electronic reference book on mathematical software.

Among the shortcomings of the MatLab system, one can note the low integration of the environment (there are a lot of windows with which it is better to work on two monitors), a not very intelligible help system (and meanwhile, the volume of proprietary documentation reaches almost 5 thousand pages, which makes it difficult to see) and specific code editor for MatLab programs. Today the MatLab system is widely used in engineering, science and education, but still it is more suitable for data analysis and organization of calculations than for purely mathematical calculations.

Therefore, to carry out analytical transformations in MatLab, the kernel of symbolic transformations Maple is used, and from Maple for numerical calculations, you can turn to MatLab. It is not without reason that Maple symbolic mathematics has become an integral part of a number of modern packages, and numerical analysis from MatLab and Toolboxes are unique. Nevertheless, the mathematical packages Maple and MatLab are intellectual leaders in their classes, they are samples that determine the development of computer mathematics.

Packages such as Octave (www.octave.org), KOctave (bubben.homelinux.net/~matti/koctave/) and Genius (www.jirka.org/genius .html).

Octave is a numerical computation program that is well compatible with MatLab. The interface of the Octave system, of course, is poorer, and it does not have such unique libraries as MatLab, but it is a very easy-to-learn program, undemanding to system resources. Octave is distributed under the terms of an open source license (OpenSource) and can be a good help for educational institutions.

KOctave is essentially a more advanced graphical interface for the Octave system. As a result of using KOctave, the Octave system becomes completely similar to MatLab.

The simple math program Genius, of course, cannot compete in power with eminent competitors, but its ideology of mathematical transformations is similar to MatLab and Maple. Genius is also distributed under the terms of an open source license (OpenSource). It has its own GEL language, an advanced Genius Math Tool, and a good document preparation system for publication (using layout languages ​​such as LaTeX, Troff (eqn) and MathML). Genius' very good graphical interface will make working with it simple and convenient.

MathCad (http://www.mathsoft.com/, http://www.mathcad.com/)

Minimum system requirements:

  • Pentium II processor or higher;
  • 128 MB of RAM (256 MB or more recommended);
  • 200-400 MB of disk space;
  • operating systems: Windows 98 / Me / NT 4.0 / 2000 / XP.

In contrast to the powerful and highly efficient computations-oriented MatLab package, MathCad (current version 13) is rather a simple but advanced editor of mathematical texts with extensive symbolic computing capabilities and an excellent interface. MathCad does not have a programming language as such, and the symbolic computing engine is borrowed from the Maple package. But the interface of the MathCad program is very simple, and the visualization possibilities are rich. All calculations here are carried out at the level of visual recording of expressions in a commonly used mathematical form. The package has good hints, detailed documentation, a learning curve, a range of additional modules, and decent manufacturer support (as you can see from the product version, this program is updated more often than the others mentioned in this review, although they have about the same - 1996-1997). However, while the mathematical capabilities of MathCad in the field of computer algebra are much inferior to the systems Maple, Mathematica, MatLab and even the baby Derive. However, many books and training courses have been published under the MathCad program, including in Russia. Today, this system has literally become an international standard for technical computing, and even many schoolchildren master and use MathCad.

For a small amount of calculations, MathCad is ideal - here everything can be done very quickly and efficiently, and then formalize the work in a familiar form (MathCad provides ample opportunities for formatting the results, up to publication on the Internet). The package has convenient data import / export capabilities. For example, you can work with Microsoft Excel spreadsheets right inside a MathCad document.

In general, MathCad is a very simple and convenient program that can be recommended to a wide range of users, including those who are not very versed in mathematics, and especially to those who are just learning the basics.

As cheaper, simpler, but ideologically similar alternatives to the MathCad program, one can mention such packages as the already mentioned YaCaS, the commercial MuPAD system (http://www.mupad.de/) and the free KmPlot program (http: //edu.kde .org / kmplot /).

The KmPlot software is distributed under an open source license (OpenSource). It is very easy to learn and will suit even schoolchildren.

As for the MuPAD program, it is a modern integrated system of mathematical calculations, with which you can perform numerical and symbolic transformations, as well as draw two-dimensional and three-dimensional graphs of geometric objects. However, in terms of its capabilities, MuPAD is significantly inferior to its venerable competitors and is, rather, an entry-level system designed for training.

Conclusion

Despite the fact that in the field of computer mathematics there is not such a variety as, say, in the environment of computer graphics, behind the apparent limited market of mathematical programs, their truly limitless possibilities are hidden! Typically, CAE systems cover almost all areas of mathematics and engineering calculations.

Once systems of symbolic mathematics were focused exclusively on a narrow circle of professionals and worked on large computers (mainframes). But with the advent of PCs, these systems were redesigned for them and brought to the level of mass serial software systems. Now on the market, symbolic mathematics systems of a wide variety of calibers coexist - from the MathCad system designed for a wide range of consumers to the computer monsters Mathematica, MatLab and Maple, which have thousands of built-in and library functions, ample opportunities for graphical visualization of calculations and advanced tools for preparing documentation.

Note that almost all of these systems work not only on personal computers equipped with popular operating systems. Windows systems but also under control operating systems Linux, UNIX, Mac OS, and also on a PDA. They have been familiar to users for a long time and are widespread on all platforms - from a handheld to a supercomputer.

1

This paper describes a program for calculating the kinetic characteristics of heterophase reactions, written in the Visual Basic Community 2015 programming language. The calculation of the rate constants and activation energies is carried out by the methods of regression analysis. The reaction mechanism is determined by the minimum of errors of approximations from a number of functions (power and exponential laws, Prout - Tompkins and Abrahami equations). The reaction mechanism determines the reaction zone: power-law - kinetic, and three others - diffusion. Also, using the example of the reaction of fluorination of anorthosites with ammonium hydrodifluoride, a statistical test of hypotheses about the adequacy of the used regression models according to Snedekor - Fisher and about the significance of the regression coefficients according to the Student's t-test is carried out. The program was tested on calculations of heterophase reactions carried out in the course of technological processes of complex fluoride processing of aluminosilicate and silicate raw materials from the Upper Amur Region, as well as a number of regions of the Russian Federation.

rate constant

activation energy

reaction zone

reaction mechanism

linear regression

nonlinear regression

procedure

1. Sorokin A.P., Rimkevich V.S., Pushkin A.A., Eranskaya T.Yu. Waste-free geotechnology of complex processing of aluminosilicate and silicate raw materials of the Amur Region // Gornyi informatsionno-analiticheskiy bulletin. - 2016. - No. 11. - P. 215–223.

2. Stromberg A.G., Semchenko D.P. Physical chemistry. - M .: Higher school, 1999 .-- 528 p.

3. Pushkin A.A., Rimkevich V.S. Establishment of zones of heterophase reactions // International research journal. - 2017. - No. 03 (57). - Part 3. - P. 35–38.

4. Baldin K.V., Bashlykov V.N., Rukosuev A.V. Theory of Probability and Mathematical Statistics. Textbook. 2nd edition. - M .: Publishing and trade corporation "Dashkov and K °", 2014. - 473 p.

6. Dukin A.N., Pozhidaev A.A.

7. Shevyakova D., Stepanov A., Dukin A. Self-instruction manual Visual basic 2008. - SPb .: BHV-Petersburg, 2008. - 592 p.

8. Kolemaev V.A., Staroverov S.V., Turundaevsky V.B. Theory of Probability and Mathematical Statistics. Textbook for economic specialties of universities. - M .: Higher school, 1991 .-- 400 p.

This article is devoted to the computer processing of experiments on the kinetics of chemical reactions. In our institute, the kinetics of chemical reactions is studied in the development of technological processes for complex fluoride processing for various types of aluminosilicate raw materials of the Upper Amur Region. The results of an experimental study on the kinetics of a chemical reaction are the values ​​of the concentrations of a certain substance С ik (t ik) at given times t ik (i = 1, ..., nk, where nk is the number of time counts at a temperature T k, k = 1.2, …, L, where l is the number of temperatures). The number of operating temperatures l allowed in the program is from two to four. The number of time samples n k, in the general case, for different temperatures T k differs and varies from 3 to 9.

The results of processing the experimental data are the rate constants and activation energies, as well as the flow zones and reaction mechanisms. Knowledge of the zone and mechanism of the reaction at a given temperature gives knowledge of the physicochemical process, which determines its course and allows you to control the course of the reaction. Comparison of the rate constants and activation energies of various reactions makes it possible to compare these reactions with each other.

We calculate the rate constants in this work using four types of physicochemical processes corresponding to four laws of concentration change: power law (), Abrahami (), exponential () and Prout - Tompkins, where wi is the reaction rate, C i is the concentration of the substance, α i is the degree of transformation of the substance, k is the rate constant. The power law describes collisions of particles, the other three are different types of diffusion. In accordance with this, the zone of reactions described by a power-law process is kinetic, for the other three processes it is diffusion.

To determine the reaction mechanism, the program uses the values ​​of the approximation errors. We assume that the reaction mechanism at a given temperature is determined by the law of concentration variation, at which the approximation error at a given temperature is minimal. Since the approximation errors are calculated for each temperature, the reaction mechanism for each temperature can be different. The program organizes an automatic selection of data (rate constants, activation energies, zones and reaction mechanisms) for each of the studied temperatures.

Purpose of the study

The starting point of research in this work is the data on the kinetics of chemical reactions. The aim of the study is to determine the kinetic characteristics of the reaction. Mathematical processing of experimental results is greatly facilitated by using a computer calculation program. In order to develop a computer program, a calculation algorithm was created with subsequent software implementation, initially using Microsoft Access 2007 using vba. This paper describes a program for processing experimental data on kinetics with the calculation of kinetic parameters: rate constants, activation energies, zones and reaction mechanisms, written in the Visual Basic Community 2015 language.

Materials and research methods

The research methods in the work are regression analysis and computer calculation. For each of the above processes, a regression equation is constructed by linearizing its equation. Linearization is carried out in the case of power, exponential laws and the Prout - Tompkins equation by taking the logarithm, and in the case of Abrahami, by the method of double logarithm. The resulting regression equations are non-linear. By changing variables, we carry out the transition to two linear regression models: with the slope and the free term in the case of the power law and Abrahami and with one slope in the case of the exponential law and the Prout – Tompkins equation (see Table 1). Further, using the formulas of the least squares method, we calculate the values ​​of the slope coefficients and free terms. In the case of the power law and the Abrahami equation, the slope is equal to the order of the reaction, and the free term is equal to the logarithms of the rate constant. In the case of the exponential law and the Prout-Tompkins equation, the slopes are the rate constants.

Table 1

Nonlinear regression models, change of variables for the transition to linear models and their equations for the processes used in the program

Name of the law

Mathematical formulation of the law

Nonlinear regression

Change of variables

Linear regression

Linear

Exponential

Exponential

Prout - Tompkins

Arrhenius

Activation energies in the program are calculated using the Arrhenius equation for rate constants. After transformation, taking the logarithm, and changing the variables, an equation with one slope is obtained, which is calculated using the least squares method. The slope is equal to the activation energy divided by the universal gas constant R (last row in Table 1).

The program calculates the errors of approximations by the formula

(*)

where cik (tik) are the experimental values ​​of concentrations at times tik, is the calculated value obtained according to the law under study at points tik at a temperature Tk, and nk, as before, is the number of time counts at a given temperature.

The selection of the dependence with a smaller approximation error, and, consequently, the determining reaction mechanism at a given temperature, is carried out in the program automatically.

In addition, the paper tests statistical hypotheses about the adequacy of each of the regression models according to the Snedecor-Fisher criterion, as well as the significance of the coefficients of these regression models according to the Student's t-test. The hypothesis of homogeneity of reproducibility variances is not tested in the work, since only one measurement is carried out at each point of the factor space.

Research results and their discussion

The Kinetics program for calculating the kinetic characteristics of heterophase reactions is written in Visual Basic in the Visual Studio Community 2015 integrated software development environment.

The program has ten tabs: Input, Kinetics, Reaction Zone, Graphs, StatisticsX (X = 0,…, 5).

The Input tab is intended for placement of control elements performing data entry: arrays of Concentrations X (i) and times TimeX (i), a line of temperatures TempX (X = 1, ..., 4; i = 1, 2, ..., n), the number of points times nk, number of data series l, maximum times and concentrations for each of the temperatures Tk.

The level of significance (set by choosing one of the eight values ​​in the list in the ComboBox-field) is used to select the Student and Snedecor-Fisher coefficients from the Student and Fisher Excel tables connected to the program.

After selecting the significance level by clicking the Calculate button on the Input tab, the procedure for calculating all the provided characteristics is started. The first step is to create two-dimensional arrays of concentrations and times Time (i, j) and Сonc (i, j), one-dimensional arrays of temperatures Temperature (k) and reciprocal temperatures ReTemp (k) = 1 / (Temperature (k) + 273), k = 1,…, l.

Next, the transition to the relative values ​​of concentration and time Time_norm (i, j) and Сonc_norm (i, j) is carried out, dividing by the maximum values. Then generalized coordinates are introduced, representing the three-dimensional arrays abscissa (4, 9, 4) and ordinate (4, 9, 4), in which the first subscript means the ordinal number of the law of concentration change from 0 to 4, the second - the ordinal number of the time count from 3 to 9, the third is the ordinal number of the temperature series from 1 to 4. Here is a fragment of the program in which the generalized variables are entered:

If j = 0 Then ordinate (j, i, k) = Conc_norm (i, k): abscissa (j, i, k) = Time_norm (i, k)

If j = 1 Then ordinate (j, i, k) = Math.Log (Rate (i, k)): abscissa (j, i, k) = Math.Log (Conc_norm (i, k))

If j = 2 Then ordinate (j, i, k) = Math.Log (-Math.Log (1 - Conc_norm (i, k))): abscissa (j, i, k) = Math.Log (Time_norm (i , k))

If j = 3 Then ordinate (j, i, k) = Math.Log (1 - Conc_norm (i, k)): abscissa (j, i, k) = Time_norm (i, k)

If j = 4 Then ordinate (j, i, k) = Math.Log (Conc_norm (i, k) / (1 - Conc_norm (i, k))): abscissa (j, i, k) = Time_norm (i, k).

After that, the sums are calculated for the least squares method:

Sx (j, k) = Sx (j, k) + abscissa (j, i, k)

Sy (j, k) = Sy (j, k) + ordinate (j, i, k)

Sxy (j, k) = Sxy (j, k) + abscissa (j, i, k) * ordinate (j, i, k)

Sx2 (j, k) = Sx2 (j, k) + Math.Pow (abscissa (j, i, k), 2),

where Sx (j, k), Sy (j, k), Sxy (j, k) and Sx2 (j, k) are the sums of abscissas, ordinates, products of abscissas by ordinates and squares of abscissas, respectively.

Further, the program calculates free terms and slope coefficients of regression for each regression model (each of the laws of concentration change) and at each temperature. The rate constants ConRat (j, k) for the linear model (j = 0) are equal to the intercept, for the power law (j = 1) and the Abrahami equation (j = 2) are calculated by taking the exponent of the intercept, and the orders of the reactions m (j, k) for these two laws are equal to the slope coefficients (rows two and three from the top of Table 1). The rate constants for the exponential law (j = 3) and the Prout – Tompkins equation (j = 4) are equal to the slope coefficients of the corresponding regression equations (in Table 1 above, rows 4 and 5).

The errors in calculating the rate constants pK (j, k) and the reaction orders pM (j, k) are calculated using the formulas for calculating the regression coefficients, and the approximation error Prec (j, k) is calculated using the formula (*). The errors in calculating the rate constants pK (j, k) and approximations Prec (j, k) are calculated for each model and at each temperature. Errors in the orders of reactions pM (j, k) are calculated for models with j = 1, 2.

The calculation of the activation energies is carried out according to the formula given in the last column of the sixth row from the top of the table. 1. In this regression model, the variables are inverse temperatures ReTemp (k) and the logarithm of the rate constant ConRat (j, k). From this formula it follows that the activation energy is equal to the slope of the given model, multiplied by the universal gas constant. One activation energy value is calculated for each model. The activation energy error pE (j) is also calculated for each model.

Calculation of rate constants, errors of rate constants, errors of approximations, as well as reaction orders and their errors is given on the Kinetics tab.

The Reaction zone tab (see Fig. 1) contains the results of automated selection: data on those zones and reaction mechanisms that (according to the results of calculation and selection) took place at each temperature. This also includes the values ​​of rate constants, errors of their calculations and errors of approximations, and activation energies.

By clicking the Output button on the Reaction zone tab, the data is output to the table. Microsoft Word... Data output is carried out using a separate procedure that automatically formats text and tables. The program provides for the output and filling of the table for a different number of data series (from two to four).

In fig. 1 shows the results of calculating the fluorination reaction of anorthosites with ammonium hydrodifluoride as an example. It can be seen from this figure that this solid-phase reaction at all temperatures proceeds in the diffusion zone, at lower and average temperatures according to the Abrahami equation, and at the upper temperature according to the exponential law. The activation energy for Avrahami is in this case 19.1 kJ / mol, and for the exponential law it is 19.7 kJ / mol. Despite the different reaction mechanisms, the activation energies are close and the rate constants increase monotonically from 0.004483 min-1 to 0.017836 min-1. Apparently, this is due to the fact that the reaction orders for Abrahami turned out to be close to 1 and took values ​​0.86; 0.91; 0.96; 1.09 (see fig. 2). From a comparison of the Abrahami equation with the exponential law, it is obvious that with the order equal to 1, the Abrahami equation turns into an exponential law.

Rice. 1. The Kinetics tab of the Kinetics program with the calculation results using the example of the fluorination of anorthosites with ammonium hydrodifluoride

Rice. 2. The Kinetics tab of the Kinetics program with the calculation results using the example of the fluorination reaction of anorthosites with ammonium hydrodifluoride

table 2

Statistical testing of hypotheses about the adequacy of regression models and about the significance of the regression coefficients according to Snedecor - Fisher and Student, respectively

The program performs statistical testing of hypotheses about the adequacy of the regression model using the Snedecor-Fisher test and the significance of the regression coefficients by the Student's t-test (see Table 2).

Statistical verification showed the adequacy of the models with j = 2, 3, 4 at all temperatures. Models with j = 0 and 1 are inadequate at lower temperatures. Checking the significance of the regression coefficients showed the significance of the slopes of the regressions for the models with j = 0, 2, 3, 4 at all temperatures, with j = 1 at the lower temperature. The free terms are significant only for the power law at the upper temperature.

Let's go back to fig. 1. The mechanisms selected for the minimum approximation errors, Avrahami and exponential, will be subjected to statistical analysis. Note that the rate constants for Avrahami are calculated by taking the exponent of the free term, which, according to the Student's t-criterion, is statistically insignificant at all temperatures. Apparently, we should consider that the reaction mechanism is an exponential law, including at low and medium temperatures. The activation energy, therefore, will be equal to 19.7 kJ / mol at all temperatures, and the rate constants will have the values ​​of 0.003942; 0.005346; 0.007637; 0.017836 (see fig. 2).

The Kinetics program for calculating the kinetic characteristics was tested on calculations of various reactions in the process of complex fluoride processing of aluminosilicate and silicate raw materials with the extraction of useful products.

Bibliographic reference

A.A. Pushkin, V.S. Rimkevich PROGRAM FOR CALCULATING THE KINETICS OF HETEROPHASE REACTIONS IN THE LANGUAGE VISUAL BASIC COMMUNITY 2015 // Fundamental Research. - 2017. - No. 10-3. - S. 518-523;
URL: http://fundamental-research.ru/ru/article/view?id=41868 (date of access: 23.06.2019). We bring to your attention the journals published by the "Academy of Natural Sciences"