Software Etudes in the Mathematica Tallinn Research Group
Systems of computer mathematics find more and more broad use in a number of natural, economical and social fields. One of leaders among means of this class undoubtedly is the Mathematica system. The book focuses on an important aspect - procedural and functional programming supported by the Mathematica. This aspect is of particular importance not only for appendices but also above all it is quite important in the creation of the user means which extend the most frequently used standard means of the Mathematica system and/or eliminate its shortcomings, or complement with the new interesting facilities. The present book contains over 1140 software etudes not only which are illustrating effective methods of programming in Mathematica system and many subtleties and undocumented opportunities of its software, but also being of undoubted interest as the means expanding and supplementing the system means. In a certain historical context etudes have appeared as a result of development of the number of rather large projects in the Mathematica system connected with the solution of mathematical problems, computer researches of the classical cellular automata, modeling, etc. In the course of programming of these projects the certain software fragments presenting mass character have been formed later on in the kind of the separate procedures and functions that have made the basis of the package attached to the present book. Many etudes presented here contain a rather useful and effective methods of programming in Mathematica system. The presented etudes are small by the size of program code and can be in case of need rather easily analysed and, perhaps, are modified for specific conditions of application. It must be kept in mind that along with the software having both the applied, and the system character together with illustrating of rather useful methods of programming; at that, the present book represents a rather convenient organization of the user software that supported by a large number of the means for its serving. Software represented in the book contains a number of useful and effective receptions of the procedural and functional programming in the Mathematica system that extend the system software and allow sometimes much more efficiently and easily to program the software for various purposes, above all, wearing system character. Among them there are means which are of interest from the point of view of including of their or their analogs in standard tools of the Mathematica system, at the same time they use approaches, useful in programming of applications. The above software rather essentially dilates the Mathematica functionality and can be useful enough for programming of many problems above all of system character. At the same time, it must be kept in mind that the classification of the represented means by their appointment in a certain measure has a rather conditional character because these tools can be crossed substantially among themselves by the functionality. The freeware package MathToolBox containing the above means is attached to the present book. The book is oriented on a wide enough circle of the users of computer mathematics systems, researchers, teachers and students of universities for courses of computer science, physics, mathematics, and a lot of other natural disciplines. This book will be of interest also to the specialists of industry and technology which use the computer mathematics systems in own professional activity. At last, the book is a rather useful handbook with fruitful methods on the procedural and functional programming in the Mathematica system.