このページのリンク

<電子ブック>
Programming for Mathematicians / by Raymond Seroul
(Universitext. ISSN:01725939)

1st ed. 2000.
出版者 (Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer)
出版年 2000
大きさ XVI, 432 p. 8 illus : online resource
著者標目 *Seroul, Raymond author
SpringerLink (Online service)
件 名 LCSH:Applied mathematics
LCSH:Engineering mathematics
LCSH:Software engineering
LCSH:Computer mathematics
LCSH:Computer programming
FREE:Applications of Mathematics
FREE:Software Engineering/Programming and Operating Systems
FREE:Computational Mathematics and Numerical Analysis
FREE:Programming Techniques
一般注記 1. Programming Proverbs -- 1.1. Above all, no tricks! -- 1.2. Do not chewing gum while climbing stairs -- 1.3. Name that which you still don’t know -- 1.4. Tomorrow, things will be better; the day after, better still -- 1.5. Never execute an order before it is given -- 1.6. Document today to avoid tears tomorrow -- 1.7. Descartes’ Discourse on the Method -- 2. Review of Arithmetic -- 2.1. Euclidean Division -- 2.2. Numeration Systems -- 2.3. Prime Numbers -- 2.3.1. The number of primes smaller than a given real number -- 2.4. The Greatest Common Divisor -- 2.5. Congruences -- 2.6. The Chinese Remainder Theorem -- 2.7. The Euler phi Function -- 2.8. The Theorems of Fermat and Euler -- 2.9. Wilson’s Theorem -- 2.10. Quadratic Residues -- 2.11. Prime Number and Sum of Two Squares -- 2.12. The Moebius Function -- 2.13. The Fibonacci Numbers -- 2.14. Reasoning by Induction -- 2.15. Solutions of the Exercises -- 3. An Algorithmic Description Language -- 3.1. Identifiers -- 3.2. Arithmetic Expressions -- 3.3. Boolean Expressions -- 3.4. Statements and their Syntax -- 3.5. The Semantics of Statements -- 3.6. Which Loop to Choose? -- 4. How to Create an Algorithm -- 4.1. The Trace of an Algorithm -- 4.2. First Method: Recycling Known Code -- 4.3. Second Method: Using Sequences -- 4.4. Third Method: Defered Writing -- 4.5. How to Prove an Algorithm -- 4.6. Solutions of the Exercises -- 5. Algorithms and Classical Constructions -- 5.1. Exchanging the Contents of Two Variables -- 5.2. Diverse Sums -- 5.3. Searching for a Maximum -- 5.4. Solving a Triangular Cramer System -- 5.5. Rapid Calculation of Powers -- 5.6. Calculation of the Fibonacci Numbers -- 5.7. The Notion of a Stack -- 5.8. Linear Traversal of a Finite Set -- 5.9. The Lexicographic Order -- 5.10. Solutions to the Exercises -- 6. The Pascal Language -- 6.1. Storage of the Usual Objects -- 6.2. Integer Arithmetic in Pascal -- 6.3. Arrays in Pascal -- 6.4. Declaration of an Array -- 6.5. Product Sets and Types -- 6.6. The Role of Constants -- 6.7. Litter -- 6.8. Procedures -- 6.9. Visibility of the Variables in a Procedure -- 6.10. Context Effects -- 6.11. Procedures: What the Program Seems To Do -- 6.12. Solutions of the Exercises -- 7. How to Write a Program -- 7.1. Inverse of an Order 4 Matrix -- 7.2. Characteristic Polynomial of a Matrix -- 7.3. How to Write a Program -- 7.4. A Poorly Written Procedure -- 8. The Integers -- 8.1. The Euclidean Algorithm -- 8.2. The Blankinship Algorithm -- 8.3. Perfect Numbers -- 8.4. The Lowest Divisor Function -- 8.5. The Moebius Function -- 8.6. The Sieve of Eratosthenes -- 8.7. The Function pi(x) -- 8.8. Egyptian Fractions -- 8.9. Operations on Large Integers -- 8.10. Division in Base b -- 8.11. Sums of Fibonacci Numbers -- 8.12. Odd Primes as a Sum of Two Squares -- 8.13. Sums of Four Squares -- 8.14. Highly Composite Numbers -- 8.15. Permutations: Johnson’s’ Algorithm -- 8.16. The Count is Good -- 9. The Complex Numbers -- 9.1. The Gaussian Integers -- 9.2. Bases of Numeration in the Gaussian Integers -- 9.3. Machin Formulas -- 10. Polynomials -- 10.1. Definitions -- 10.2. Degree of a Polynomial -- 10.3. How to Store a Polynomial -- 10.4. The Conventions we Adopt -- 10.5. Euclidean Division -- 10.6. Evaluation of Polynomials: Horner’s Method -- 10.7. Translation and Composition -- 10.8. Cyclotomic Polynomials -- 10.9. Lagrange Interpolation -- 10.10. Basis Change -- 10.11. Differentiation and Discrete Taylor Formulas -- 10.12. Newton-Girard Formulas -- 10.13. Stable Polynomials -- 10.14. Factoring a Polynomial with Integral Coefficients -- 11. Matrices -- 11.1. Z-Linear Algebra -- 11.2. Linear Systems with Integral Coefficients -- 11.3. Exponential of a Matrix: Putzer’s Algorithm -- 11.4. Jordan Reduction -- 12. Recursion -- 12.1. Presentation -- 12.2. The Ackermann function -- 12.3. The Towers of Hanoi -- 12.4. Baguenaudier -- 12.5. The Hofstadter Function -- 12.6. How to Write a Recursive Code -- 13. Elements of compiler theory -- 13.1. Pseudocode -- 13.2. A Pseudocode Interpreter -- 13.3. How to Analyze an Arithmetic Expression -- 13.4. How to Evaluate an Arithmetic Expression -- 13.5. How to Compile an Arithmetic Expression -- References
The aim of this book is to teach mathematics students how to program using their knowledge of mathematics. For this they require only to know how to construct a proof. The entire book's emphasis is on "how to think" when programming. Three methods for constructing an algorithm or a program are used: a) manipulation and enrichment of existing code; b) use of recurrent sequences; c) deferral of code writing, in order to deal with one difficulty at a time. Many theorems are mathematically proved and programmed. The last chapter explains how a compiler works and shows how to compile "by hand" little (but not trivial--even recursive) programs. The book is intended for anyone who thinks mathematically and wants to program and play with mathematics
HTTP:URL=https://doi.org/10.1007/978-3-642-57129-9
目次/あらすじ

所蔵情報を非表示

電子ブック オンライン 電子ブック

Springer eBooks 9783642571299
電子リソース
EB00162397

書誌詳細を非表示

データ種別 電子ブック
分 類 LCC:T57-57.97
DC23:519
書誌ID 4000109959
ISBN 9783642571299

 類似資料