- Hardcover
- Used





Seller: Bookbot, Prague, Czech RepublicBookbot
AbeBooks seller since October 7, 2023
Condition: Used - As new
US$ 7.24
Quantity: 1 available
Add to basketItem description from seller
Seller Inventory # 014a35ff-ddbb-482c-846c-10c4ff13ec01
- Title
- Programming in Mathematica
- Author
- Roman Maeder
- Publisher
- Addison-Wesley
- Publication year
- 1989
- Condition
- As New
- Binding
- Hardcover
- Language
- English
- ISBN 10
- 0201510022
- ISBN 13
- 9780201510027
- Seller catalogs
- Computers & Internet
"Synopsis" may belong to another edition of this title.
From the Inside Flap
Mathematica's programming language is unlike any you have encountered before. The language's manual explains all its features and gives some very basic examples of their use. For writing good programs, however, this is not enough: there is clearly a need for a book explaining all the many features in context and giving more extensive examples of their use. The first edition of this book filled this gap for version 1.2 of Mathematica. Like the second edition, this third edition was prompted by a major new version of Mathematica, Version 3.0.
I have been in contact with many early users of Mathematica and I have also given students at the University of Illinois and the Swiss Federal Institute of Technology an opportunity to learn about it. I have seen many programs written in Mathematica, good ones and bad ones. The bad ones invariably solve a particular problem in an unnecessarily complicated way, perhaps because the programmers were unaware of the elegant constructs available in Mathematica. Let me point out these constructs and show you how they can be used to write concise, elegant, and efficient programs.
The best way to teach these Mathematica-specific programming methods is to look at examples of complete programs that solve some nontrivial problem. Even if the example chosen does not lie in the particular field of application that you are interested in, you will be able to use similar ideas for your own programs. Many of the examples presented here deal with graphics. Graphics applications are especially suited for learning programming, because it is easy to see whether your code is correct simply by looking at the picture it produces. Advanced graphics applications are also sufficiently challenging to require advanced programming methods. Other examples come from symbolic computation, geometry, dynamics, and numerical mathematics. Along the way, we also develop many short pieces of code that can be used as parts of larger programs or that help to customize Mathematica to your particular needs. Many of these found their way into the standard Mathematica distribution and are now available to all users.
Because there exists an excellent manual, this book does not explain everything from scratch, but assumes some familiarity with Mathematica. I assume also that you have access to a computer on which to try out the examples. In this book I want to tell you how you can use Mathematica for more than just typing in single commands. If you are using Mathematica for your work, teaching, or solving homework assignments, sooner or later you will encounter more advanced problems requiring many commands to solve, or you will be faced with doing the same calculation steps over and over again with different input. This is the point at which you want to start writing programs. Mathematica includes a rich and powerful programming language. Unlike the usual languages such as BASIC and C, it is not restricted to a small number of data types, but allows you to perform all its symbolic computations. The Mathematica manual can only hint at the possibilities. It explains all the features but does not show you which ones to use for a particular problem or how to fit things together into larger programs.
Through design and tradition, each programming language has developed a certain preferred style of good programming. It is possible to solve the same problem in many different ways, but there is usually some idea about what is a good or a bad program. In this book, I want to present examples of what the designers of
Mathematica think is good programming style and show you why this is so. Even if you write your programs strictly for personal use, you will benefit from following a good style. For developing programs for others to use, adhering to this style is indispensable.
The programming examples in this book serve two purposes. First, they help explain concepts and show how things fit together to make up complete programs. Second, they are designed to be more than mere toy programs and should prove useful in their own right. In developing an example we always use the same method. We start out with a few commands or definitions that could be entered directly into Mathematica. We then extract the parts of the computation that are the same regardless of the input and define some functions or procedures that automate these steps. Then we apply standard techniques to these functions to make them into a package, adding documentation and certain programming constructs that make such a package easier to use. The goal is to write a program that would be useful not only to its author, who knows how it works, but also to other people. Finally, we might add a few more functions to the package or look at alternatives to what we did so far. In Chapter 1 these steps are described in full detail. Later on, when we concentrate on other aspects, we assume that you are familiar with these basic concepts and we shall not mention all the steps in detail. All the programs developed in this book are either part of the standard Mathematica distribution from Wolfram Research, or they are available free in electronic form.
Version 3.0 brings major new features. The programming language itself has not changed all that much, but many problems that required elaborate workarounds and many inconsistencies have been remedied. As a consequence, it is now possible to present the material on packages in a more logical fashion. The support for developing larger applications has been improved, and this edition discusses the software engineering issues of writing and using larger programs in Mathematica. The treatment of exact numeric quantities is another area of improvement, and the way numerical code should be written has changed. All programs have been revised to take advantage of the many new built-in functions. I added more material about functional and structural programming. These techniques are fundamental to writing good Mathematica code, but they are not available in most other programming languages and therefore need an expanded treatment.
The most important addition to Version 3.0 is, of course, the new frontend and the typesetting capabilities. The fact that notebooks and typeset formulae are represented as ordinary Mathematica expressions means that they can be manipulated easily with programs. This capability leads to some fascinating applications, and the new material on the frontend and typesetting teaches you how to develop such applications.
A complete, larger application (iterated function systems), more exercises, and an updated bibliography complete this expanded and revised edition.
This book is no replacement for the Mathematica manual The Mathematica Book. I do not expect that you have read everything in the manual, but you should have some basic experience with Mathematica before reading this book. Single commands are usually used without detailed explanation. You can use the index in The Mathematica Book to look up a description of a command that you did not know about. We also give references to places in The Mathematica Book where you can find explanations of concepts that are particularly relevant to a topic in this book. You should always turn to The Mathematica Book for explanations of features that are assumed known here, but that you have not used yet. The place to look for an explanation of all variants, defaults, or options for a particular command is the Reference Guide in the back of the book. All this information is also available in electronic form and can be accessed through the Help Browser of Mathematica.
All explanations about how Mathematica works are based on Version 3.0. The first edition of this book was about Version 1.2. Many things have changed in the new version. I added a few sections called "Changes from Earlier Editions"for the benefit of readers familiar with earlier versions of Mathematica or the first and second edition of this book.
I am grateful to many people who have contributed to this book. My thanks go first to the other developers of Mathematica. The language was shaped through countless discussions and many heated arguments. Trying to explain to each other why we think a certain feature should be done in a certain way has deepened our understanding of the matters involved and has given the language its overall consistency, despite the fact that it contains hundreds of commands and unifies many diverse programming paradigms.
Helpful ideas for this book came from Jim Feagin, Theodore Gray, Dan Grayson, Jerry Keiper, Silvio Levy, Troels Petersen, Will Self, Bruce Smith, Ilan Vardi, Ferrell Wheeler, and Stephen Wolfram. Some of the examples I used were inspired by Henry Cejtin, John Gray, Lee Rubel, William Thurston, Ilan Vardi, Jnrg Waldvogel, and Dave With
"About the title" may belong to another edition of this title.
Shipping rates from Czech Republic to U.S.A.
| Item | 4 to 7 business days | 4 to 7 business days |
|---|---|---|
| First item | US$ 24.38 | US$ 24.38 |
Payment methods
- Bank Wire Transfer
- Paypal
Store description
Specialty
used booksSeller's business information
Knihobot s.r.o.
Dukelských hrdinů 359/21
Praha, Czech Republic 17000
Terms of sale
Terms and Conditions of Purchase from Bookbot
- General provisions
1.1 These Terms and Conditions of Purchase (the ‘Terms and Conditions’) of Knihobot s.r.o. (english website Bookbot), Company ID No.: 054 00 651, with its registered office at Dukelských hrdinů 359/21, Holešovice, 170 00 Prague 7, registered in the Commercial Register maintained by the Municipal Court in Prague, Section C, Entry 289573 (‘Bookbot’), regulate mutual rights and obligations arising from a purchase contract entered into in compliance with Section 2079 et seq. of Act No. 89/2012 Coll., the Civil Code (‘Purchase Contract’).
1.2 The provisions hereof are an integral part of the Purchase Contract.
- Goods and their price
2.1 Under the Purchase Contract, Bookbot as the seller undertakes to hand over to the buyer an item that is the subject of purchase and to allow the buyer to acquire the ownership title to the item, and the buyer undertakes to take over the item and pay the purchase price to Bookbot as the seller.
2.2 The item to be purchased shall be understood to be, in particular, books, magazines and other items that Bookbot normally trades (‘Goods’), and which are displayed in the offer of Bookbot’s e-shop available at www.bookbot.com (‘e-shop’).
2.3 All the Goods offered in the e-shop are used, for that reason, they are subject to Section 2167 et seq. of the Act No. 89/2012 Coll., the Civil Code.
2.4 The price of the Goods displayed in the e-shop is inclusive of VAT. The price of the Goods does not include the cost of postage or any cash on delivery or payment costs charged by the external providers of such services.
- Non-binding reservation and personal collection at Bookbot/Knihobot branch
3.1 The buyer can reserve the Goods offered in the e-shop without incurring any obligations and collect them in person at a selected Bookbot branch after Bookbot confirms the reservation. The buyer is obliged to properly inspect the Goods when collecting them and check them for any defects. The buyer acquires the ownership title to the Goods at the moment they take over the Goods in person and pay the purchase price.
3.2 The Purchase Contract entered into under Article 3.1 hereof cannot be withdrawn from within the meaning of Article 5 hereof.
- Ordering Goods and carriage of Goods
4.1 The buyer can have the Goods offered in the e-shop transported to their destination by a carrier. In such an event, the Purchase Contract is entered into once Bookbot confirms the order of Goods.
4.2 The Purchase Contract entered into pursuant to Article 4.1 hereof may be withdrawn from within the meaning of Article 5 hereof.
4.3 The cost of carriage of the Goods to the buyer shall be borne by the buyer unless otherwise decided by Bookbot. The current price list for postage and cash-on-delivery is available on Bookbot’s website HERE.
- Withdrawal from the Purchase Contract
5.1 If the Purchase Contract is entered into remotely, i.e., in the manner defined in Article 4 hereof, the buyer shall be entitled to withdraw from the Contract within fourteen days even without giving a reason.
5.2 The buyer shall inform Bookbot of the withdrawal from the Purchase Contract by email to info@bookbot.com before the expiry of the fourteen-day period from the date of the Goods takeover.
5.3 Following a call from Bookbot, the buyer shall be obliged to send or hand over to Bookbot the Goods received from Bookbot within fourteen days of the call from Bookbot. The time limit shall be deemed to have been met if the buyer hands over the Goods to a carrier no later than on the last day of the time limit referred to in the previous sentence. The costs associated with the return of the Goods shall be borne by the buyer.
5.4 If the buyer withdraws from the Purchase Contract, Bookbot shall refund the buyer without undue delay, however, no later than within fourteen days of the withdrawal from the Purchase Contract, all funds received from the buyer under the Purchase Contract, including the costs of delivery. Bookbot will only refund the buyer in a different way than their payment method to Bookbot if the buyer consents to it and if Bookbot does not incur any other costs.
5.5 The buyer shall be held liable for any reduction in value of the Goods as a result of handling the Goods in a manner different from the one that is necessary to familiarise oneself with the nature and properties of the Goods, including their functions.
- Rights from defective performance
6.1 Goods shall be considered defective if they are not delivered in the agreed quantity, quality and design.
6.2 The buyer shall inspect the Goods upon takeover and check the quality and quantity of the Goods.
6.3 The buyer’s right from defective performance arises out of a defect that the Goods have at the moment the liability for damage passes onto the buyer even if it demonstrates itself later. The buyer shall not have rights from defective performance in the event they should have identified the defect as early as during the Contract conclusion if they had paid usual attention to the Goods. In addition, the buyer shall not have rights from defective performance in the event of usual wear and tear or defects and damage clearly documented during the sale of the Goods.
6.4 Once the buyer discovers a defect in the Goods, they shall be obliged to inform Bookbot by email without undue delay. If the buyer does not report the defect in the Goods in due time, they shall lose the right to withdraw from the Contract.
6.5 Bookbot shall be obliged to issue to the buyer at their request a written confirmation of its obligations from defective performance to the scope defined in Section 2166 of Act No. 89/2012 Coll., the Civil Code.
6.6 If Bookbot deems it necessary, the buyer is obliged to present the claimed Goods for assessment of the claim. Bookbot shall assess the claim within 14 days of receipt of the claimed Goods and inform the buyer of the claim settlement within this time limit.
6.7. The buyer is entitled to exercise its rights from defective performance in respect of used Goods within 12 months of the sale of the Goods.
- Receipt
7.1 Bookbot will send the receipt to the buyer’s email address that the buyer provided when completing the order. By placing an order, the buyer expressly agrees to this form of issuing a receipt.
7.2 Bookbot will inform the buyer about the order processing, availability and unavailability of the Goods to the email address and mobile number provided by the buyer when completing the order.
- Out-of-court settlement of consumer disputes
8.1 In the event of a consumer dispute under the Purchase Contract between Bookbot and the buyer who is a consumer, and if the dispute cannot be settled by agreement, the buyer may file a motion to out-of-court settlement of the dispute with a designated entity for out-of-court settlement of consumer disputes, which is the Czech Trade Inspection Authority, Central Inspectorate – ADR Department, Štěpánská 15, 120 00 Prague 2, email: adr@coi.cz, web: https://www.coi.cz/informace-o-adr.
8.2 Consumers can also use the online dispute resolution platform set up by the European Commission at http://ec.europa.eu/consumers/odr/.
- Final provisions
9.1 All arrangements between Bookbot and the buyer are governed by the laws of the Czech Republic. If the relationship established by the Contract contains an international element, the parties agree that the relationship shall be governed by the laws of the Czech Republic.
9.2 Bookbot may amend the Terms and Conditions.
9.3 Customer support contact details are indicated in the e-shop bookbot.com
The address for delivery by email is: info@bookbot.com
phone number: +49 78 195 633 044 (daily from 8 a.m. to 8 p.m.). Available in English, German and Czech
Any questions, suggestions, comments or complaints can be handled at info@bookbot.com.
These Terms and Conditions take effect on 10 March 2023.
Shipping terms
Shipping costs fully cover all US customs tariffs and charges. No additional payment will be required by the US authorities.