skip to content
From mathematics to generic programming Preview this item
ClosePreview this item
Checking...

From mathematics to generic programming

Author: Alexander A Stepanov; Daniel E Rose
Publisher: Upper Saddle River, NJ : Addison-Wesley Professional, 2015
Edition/Format:   Print book : EnglishView all editions and formats
Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Document Type: Book
All Authors / Contributors: Alexander A Stepanov; Daniel E Rose
ISBN: 9780321942043 0321942043
OCLC Number: 901010423
Description: xiii, 293 s
Contents: Acknowledgments ix About the Authors xi Authors' Note xiii Chapter 1: What This Book Is About 1 1.1 Programming and Mathematics 2 1.2 A Historical Perspective 2 1.3 Prerequisites 3 1.4 Roadmap 4 Chapter 2: The First Algorithm 7 2.1 Egyptian Multiplication 8 2.2 Improving the Algorithm 11 2.3 Thoughts on the Chapter 15 Chapter 3: Ancient Greek Number Theory 17 3.1 Geometric Properties of Integers 17 3.2 Sifting Primes 20 3.3 Implementing and Optimizing the Code 23 3.4 Perfect Numbers 28 3.5 The Pythagorean Program 32 3.6 A Fatal Flaw in the Program 34 3.7 Thoughts on the Chapter 38 Chapter 4: Euclid's Algorithm 41 4.1 Athens and Alexandria 41 4.2 Euclid's Greatest Common Measure Algorithm 45 4.3 A Millennium without Mathematics 50 4.4 The Strange History of Zero 51 4.5 Remainder and Quotient Algorithms 53 4.6 Sharing the Code 57 4.7 Validating the Algorithm 59 4.8 Thoughts on the Chapter 61 Chapter 5: The Emergence of Modern Number Theory 63 5.1 Mersenne Primes and Fermat Primes 63 5.2 Fermat's Little Theorem 69 5.3 Cancellation 72 5.4 Proving Fermat's Little Theorem 77 5.5 Euler's Theorem 79 5.6 Applying Modular Arithmetic 83 5.7 Thoughts on the Chapter 84 Chapter 6: Abstraction in Mathematics 85 6.1 Groups 85 6.2 Monoids and Semigroups 89 6.3 Some Theorems about Groups 92 6.4 Subgroups and Cyclic Groups 95 6.5 Lagrange's Theorem 97 6.6 Theories and Models 102 6.7 Examples of Categorical and Non-categorical Theories 104 6.8 Thoughts on the Chapter 107 Chapter 7: Deriving a Generic Algorithm 111 7.1 Untangling Algorithm Requirements 111 7.2 Requirements on A 113 7.3 Requirements on N 116 7.4 New Requirements 118 7.5 Turning Multiply into Power 119 7.6 Generalizing the Operation 121 7.7 Computing Fibonacci Numbers 124 7.8 Thoughts on the Chapter 127 Chapter 8: More Algebraic Structures 129 8.1 Stevin, Polynomials, and GCD 129 8.2 Goettingen and German Mathematics 135 8.3 Noether and the Birth of Abstract Algebra 140 8.4 Rings 142 8.5 Matrix Multiplication and Semirings 145 8.6 Application: Social Networks and Shortest Paths 147 8.7 Euclidean Domains 150 8.8 Fields and Other Algebraic Structures 151 8.9 Thoughts on the Chapter 152 Chapter 9: Organizing Mathematical Knowledge 155 9.1 Proofs 155 9.2 The First Theorem 159 9.3 Euclid and the Axiomatic Method 161 9.4 Alternatives to Euclidean Geometry 164 9.5 Hilbert's Formalist Approach 167 9.6 Peano and His Axioms 169 9.7 Building Arithmetic 173 9.8 Thoughts on the Chapter 176 Chapter 10: Fundamental Programming Concepts 177 10.1 Aristotle and Abstraction 177 10.2 Values and Types 180 10.3 Concepts 181 10.4 Iterators 184 10.5 Iterator Categories, Operations, and Traits 185 10.6 Ranges 188 10.7 Linear Search 190 10.8 Binary Search 191 10.9 Thoughts on the Chapter 196 Chapter 11: Permutation Algorithms 197 11.1 Permutations and Transpositions 197 11.2 Swapping Ranges 201 11.3 Rotation 204 11.4 Using Cycles 207 11.5 Reverse 212 11.6 Space Complexity 215 11.7 Memory-Adaptive Algorithms 216 11.8 Thoughts on the Chapter 217 Chapter 12: Extensions of GCD 219 12.1 Hardware Constraints and a More Efficient Algorithm 219 12.2 Generalizing Stein's Algorithm 222 12.3 Bezout's Identity 225 12.4 Extended GCD 229 12.5 Applications of GCD 234 12.6 Thoughts on the Chapter 234 Chapter 13: A Real-World Application 237 13.1 Cryptology 237 13.2 Primality Testing 240 13.3 The Miller-Rabin Test 243 13.4 The RSA Algorithm: How and Why It Works 245 13.5 Thoughts on the Chapter 248 Chapter 14: Conclusions 249 Further Reading 251 Appendix A: Notation 257 Appendix B: Common Proof Techniques 261 B.1 Proof by Contradiction 261 B.2 Proof by Induction 262 B.3 The Pigeonhole Principle 263 Appendix C: C++ for Non-C++ Programmers 265 C.1 Template Functions 265 C.2 Concepts 266 C.3 Declaration Syntax and Typed Constants 267 C.4 Function Objects 268 C.5 Preconditions, Postconditions, and Assertions 269 C.6 STL Algorithms and Data Structures 269 C.7 Iterators and Ranges 270 C.8 Type Aliases and Type Functions with using in C++11 272 C.9 Initializer Lists in C++11 272 C.10 Lambda Functions in C++11 272 C.11 A Note about inline 273 Bibliography 275 Index 281
Responsibility: Alexander A. Stepanov, Daniel E. Rose

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


Primary Entity

<http://www.worldcat.org/oclc/901010423> # From mathematics to generic programming
    a schema:CreativeWork, schema:Book ;
   library:oclcnum "901010423" ;
   library:placeOfPublication <http://id.loc.gov/vocabulary/countries/nju> ;
   library:placeOfPublication <http://experiment.worldcat.org/entity/work/data/1833422055#Place/upper_saddle_river_nj> ; # Upper Saddle River, NJ
   schema:about <http://dewey.info/class/005.1/e23/> ;
   schema:about <http://experiment.worldcat.org/entity/work/data/1833422055#Topic/computer_algorithms> ; # Computer algorithms
   schema:about <http://experiment.worldcat.org/entity/work/data/1833422055#Topic/generic_programming_computer_science_mathematics> ; # Generic programming (Computer science)--Mathematics
   schema:bookFormat bgn:PrintBook ;
   schema:contributor <http://experiment.worldcat.org/entity/work/data/1833422055#Person/rose_daniel_e> ; # Daniel E. Rose
   schema:creator <http://experiment.worldcat.org/entity/work/data/1833422055#Person/stepanov_alexander_a> ; # Alexander A. Stepanov
   schema:datePublished "2015" ;
   schema:exampleOfWork <http://worldcat.org/entity/work/id/1833422055> ;
   schema:inLanguage "en" ;
   schema:name "From mathematics to generic programming" ;
   schema:productID "901010423" ;
   schema:publication <http://www.worldcat.org/title/-/oclc/901010423#PublicationEvent/upper_saddle_river_nj_addison_wesley_professional_2015> ;
   schema:publisher <http://experiment.worldcat.org/entity/work/data/1833422055#Agent/addison_wesley_professional> ; # Addison-Wesley Professional
   schema:workExample <http://worldcat.org/isbn/9780321942043> ;
   wdrs:describedby <http://www.worldcat.org/title/-/oclc/901010423> ;
    .


Related Entities

<http://experiment.worldcat.org/entity/work/data/1833422055#Agent/addison_wesley_professional> # Addison-Wesley Professional
    a bgn:Agent ;
   schema:name "Addison-Wesley Professional" ;
    .

<http://experiment.worldcat.org/entity/work/data/1833422055#Person/rose_daniel_e> # Daniel E. Rose
    a schema:Person ;
   schema:familyName "Rose" ;
   schema:givenName "Daniel E." ;
   schema:name "Daniel E. Rose" ;
    .

<http://experiment.worldcat.org/entity/work/data/1833422055#Person/stepanov_alexander_a> # Alexander A. Stepanov
    a schema:Person ;
   schema:familyName "Stepanov" ;
   schema:givenName "Alexander A." ;
   schema:name "Alexander A. Stepanov" ;
    .

<http://experiment.worldcat.org/entity/work/data/1833422055#Place/upper_saddle_river_nj> # Upper Saddle River, NJ
    a schema:Place ;
   schema:name "Upper Saddle River, NJ" ;
    .

<http://experiment.worldcat.org/entity/work/data/1833422055#Topic/computer_algorithms> # Computer algorithms
    a schema:Intangible ;
   schema:name "Computer algorithms" ;
    .

<http://experiment.worldcat.org/entity/work/data/1833422055#Topic/generic_programming_computer_science_mathematics> # Generic programming (Computer science)--Mathematics
    a schema:Intangible ;
   schema:name "Generic programming (Computer science)--Mathematics" ;
    .

<http://worldcat.org/isbn/9780321942043>
    a schema:ProductModel ;
   schema:isbn "0321942043" ;
   schema:isbn "9780321942043" ;
    .


Content-negotiable representations

Close Window

Please sign in to WorldCat 

Don't have an account? You can easily create a free account.