Solving PDEs in C++: Numerical Methods in a Unified Object-Oriented Approach (Computational Science and Engineering) 2nd Edition by Yair Shapira (PDF)

9

 

Ebook Info

  • Published: 2012
  • Number of pages: 800 pages
  • Format: PDF
  • File Size: 2.71 MB
  • Authors: Yair Shapira

Description

This text provides a comprehensive guide for the numerical solution of PDEs using C++ within an object-oriented approach. The high level of abstraction available in C++ is particularly useful in the implementation of complex mathematical objects, such as unstructured meshes, sparse matrices and multigrid hierarchies, often used in numerical modeling. Assuming only an elementary knowledge of calculus and linear algebra, the reader is given a full introduction to programming, PDEs and numerical methods. The learning process is illuminated further by practical examples alongside exercises and solutions that are found at the end of each chapter. This massively expanded second edition contains a wealth of new material, including sections on cryptography, image processing and solution of nonlinear PDEs, accompanied by new reader-friendly code. This book is ideal for students, engineers and researchers who want to use advanced numerical programming methods to solve problems in applied science and engineering.

User’s Reviews

Editorial Reviews: Review There are dozens of excellent books on C++ and object-oriented programming, but very few of them put the language into the perspective of scientific computing. The introductory part of the present book acts as a language introduction, while the main contents focus on how C++ can be used to implement numerical algorithms. I would say that this is a long-awaited type of textbook in the scientific computing community. –Hans Petter Langtangen, Professor, Simula Research Laboratory and University of Oslo, Norway. Book Description A comprehensive guide for the numerical solution of PDEs using C++ for students, engineers and researchers. Includes reader-friendly code. Book Description This text provides a comprehensive and self-contained guide for the numerical solution of PDEs using C++ for students, engineers and researchers who want to use advanced programming tools to solve problems in applied science. The second edition contains new reader-friendly code to solve nonlinear systems of PDEs in three dimensions. About the Author Yair Shapira is engaged in research in the Computer Science Department, Technion – Israel Institute of Technology, Haifa, Israel. His main research interests are multigrid, preconditioning and numerical methods. He is author of the books Matrix-Based Multigrid: Theory and Applications, 2nd Edition (2008) and Mathematical Objects in C++: Computational Tools in a Unified Object-Oriented Approach (2009). Read more

Reviews from Amazon users which were colected at the time this book was published on the website:

⭐Whilst I’m no mathematician (rather, an engineer turned software developer), and so whilst I can’t comment on the mathematical aspects presented, I didn’t appreciate the C++ code in this book. An overview of C++ is given, but it doesn’t use the terms that are generally used in a programming book. In addition to these peculiar terms, much of the C++ code is simply bad, and would likely crash sooner or later in the real world.

⭐I know the math behind well and I used to use Matlab or C to implement the algorithms.I hope to learn object-oriented approach and so I read this book.But when I tried the Vector and Matrix classes in the first two chapters, the code just can’t compile. I am new to C++and so it is really hard for me to fix the problems myself. E.g. The authors said many timesthat certain operators/member functions for derived class need not be written because those from the base classwill be automatically used.However, when I compile the code, a hell lot of errors were generated, sayingthat no matching functions can be found. If these are compiler-dependent problems, the author should have tested on various common compilers and fix them.The constructor for Matrix also assumes the number of columns is just 2, so are determinants and inverses.More general code should be considered. Many code is also incomplete.The approach of the book is very strange. After the introduction of basics of C,C++,data structure, most other chapters are just about the math of PDE and numerical methods. Then the exercises ask the readers to implement themselves! Man, this book is supposed to teach implementation. But it merely mentions some rough ideas of implementation. I do learn from this book the main ideas of implementation, but it’s still very far from actually implementation. I think it is completely unnecessary to cover the math, because if readers need to learn the PDE and numerical methods, there are many excellent books. The level of math in this book is inappropriate. So, the author should skip the math and present in details the implementation.Hope the authors can provide complete code that actually works.

⭐As someone else mentioned already this is the only book in its kind and for me this is the only quality it possesses. If it really stood up for what the table of contents promises then it would be the perfect book but the content lets you down pretty quickly. The C++ language is used in a style that if you don’t use other references there is no way to be able to understand C++ code written in the real world. Except for using the oo structures of the language everything else is in C style. But lets say you want to start with this book since it focuses on applications to pde and then perhaps move on to a more advanced reference for C++; then the book turns out to be too descriptive giving only a feeling of what’s involved. There is no need to mention that no book can teach you the math for pde, however you won’t learn C++ as well. The only thing you can expect, again as an other reviewer mentioned, is to run into some slick ideas about how to exploit oo concepts for meshes and adaptive refinement.

⭐I’ve had the book for several weeks now and have worked through most of the book and tried to use several of the example classes. From the perspective of an engineer who writes a lot of code for engineers to use and understand I’d say the book is definitely written from a computer scientists point of view with heavy use of templates, inheritance and operator overloading. Several of the code examples are missing parts such as a default constructor in the template for the point class needed to run the ultra simple example. Also, there are several inaccuracies such as claiming in Fortran you must declare array sizes at compile time. This hasn’t been the case in over 14 years. I still give the book 4 stars for being the only book of its kind plus it isn’t all bad. There are some good ideas presented especially in the use of templates and how to use objects to build up a hierarchy from points to meshes. This was presented in a well detailed way which was easy to understand and really improved my understanding of templates, classes and OOP.

⭐The book does give a good introduction to C/C++ if that is what you need. If you already are an expert at C/C++, this book is excellent introduction for applying PDE’s with C/C++, though I could have asked for more examples.I bought the book to help me write better PDE’s in my work with Image Processing, Fuzzy Logic, Neural Networks. The Author does explain thing in a very concise way, but be prepared to do research and work through the exercises.However, there is some noticable code in the book that just does not work, but can be easily corrected. There is also some misinformation with the STL library and it’s capabities. This can be a problem for those not well versed in the STL. Also some of the functionality is not as effiecent or well written as he claims to be. This is especially true the operator overloads, but it not bad.Otherwise I would have given it a five star.

Keywords

Free Download Solving PDEs in C++: Numerical Methods in a Unified Object-Oriented Approach (Computational Science and Engineering) 2nd Edition in PDF format
Solving PDEs in C++: Numerical Methods in a Unified Object-Oriented Approach (Computational Science and Engineering) 2nd Edition PDF Free Download
Download Solving PDEs in C++: Numerical Methods in a Unified Object-Oriented Approach (Computational Science and Engineering) 2nd Edition 2012 PDF Free
Solving PDEs in C++: Numerical Methods in a Unified Object-Oriented Approach (Computational Science and Engineering) 2nd Edition 2012 PDF Free Download
Download Solving PDEs in C++: Numerical Methods in a Unified Object-Oriented Approach (Computational Science and Engineering) 2nd Edition PDF
Free Download Ebook Solving PDEs in C++: Numerical Methods in a Unified Object-Oriented Approach (Computational Science and Engineering) 2nd Edition

Previous articleComputer Science – Theory and Applications: 13th International Computer Science Symposium in Russia, CSR 2018, Moscow, Russia, June 6–10, 2018, Proceedings … Science and General Issues Book 10846) by Fedor V. Fomin (PDF)
Next articleA Theory of Shape Identification (Lecture Notes in Mathematics Book 1948) 2008th Edition by Frédéric Cao (PDF)