Our aim in writing this book was to provide an extensive set of C++ programs for solving basic numerical problems with verification of the results. This C++ Toolbox for Verified Computing I is the C++ edition of the Numerical Toolbox for Verified Computing l. The programs of the original edition were written in PASCAL-XSC, a PASCAL eXtension for Scientific Computation. Since we published the first edition we have received many requests from readers and users of our tools for a version in C++. We take the view that C++ is growing in importance in the field of numeri cal computing. C++ includes C, but as a typed language and due to its modern concepts, it is superior to C. To obtain the degree of efficiency that PASCAL-XSC provides, we used the C-XSC library. C-XSC is a C++ class library for eXtended Scientific Computing. C++ and the C-XSC library are an adequate alternative to special XSC-Ianguages such as PASCAL-XSC or ACRITH-XSC. A shareware version of the C-XSC library and the sources of the toolbox programs are freely available via anonymous ftp or can be ordered against reimbursement of expenses. The programs of this book do not require a great deal of insight into the features of C++. Particularly, object oriented programming techniques are not required.
This is the revised and extended second edition of the successful basic book on computer arithmetic. It is consistent with the newest recent standard developments in the field. The book shows how the arithmetic and mathematical capability of the digital computer can be enhanced in a quite natural way. The work is motivated by the desire and the need to improve the accuracy of numerical computing and to control the quality of the computed results (validity). The accuracy requirements for the elementary floating-point operations are extended to the customary product spaces of computations including interval spaces. The mathematical properties of these models are extracted into an axiomatic approach which leads to a general theory of computer arithmetic. Detailed methods and circuits for the implementation of this advanced computer arithmetic on digital computers are developed in part two of the book. Part three then illustrates by a number of sample applications how this extended computer arithmetic can be used to compute highly accurate and mathematically verified results. The book can be used as a high-level undergraduate textbook but also as reference work for research in computer arithmetic and applied mathematics.
This manual describes a PASCAL extension for scientific computation with the short title PASCAL-XSC (PASCAL eXtension for Scientific Computation). The language is the result of a long term effort of members of the Institute for Applied Mathematics of Karlsruhe University and several associated scientists. PASCAL XSC is intended to make the computer more powerful arithmetically than usual. It makes the computer look like a vector processor to the programmer by providing the vector/matrix operations in a natural form with array data types and the usual operator symbols. Programming of algorithms is thus brought considerably closer to the usual mathematical notation. As an additional feature in PASCAL-XSC, all predefined operators for real and complex numbers and intervals, vectors, matrices, and so on, deliver an answer that differs from the exact result by at most one rounding. Numerical mathematics has devised algorithms that deliver highly accurate and automatically verified results by applying mathematical fixed point theorems. That is, these computations carry their own accuracy control. However, their imple mentation requires arithmetic and programming tools that have not been available previously. The development of PASCAL-XSC has been aimed at providing these tools within the PASCAL setting. Work on the subject began during the 1960's with the development of a general theory of computer arithmetic. At first, new algorithms for the realization of the arithmetic operations had to be developed and implemented.
As suggested by the title of this book Numerical Toolbox for Verified Computing, we present an extensive set of sophisticated tools to solve basic numerical problems with a verification of the results. We use the features of the scientific computer language PASCAL-XSC to offer modules that can be combined by the reader to his/her individual needs. Our overriding concern is reliability - the automatic verification of the result a computer returns for a given problem. All algorithms we present are influenced by this central concern. We must point out that there is no relationship between our methods of numerical result verification and the methods of program verification to prove the correctness of an imple~entation for a given algorithm. This book is the first to offer a general discussion on • arithmetic and computational reliability, • analytical mathematics and verification techniques, • algorithms, and • (most importantly) actual implementations in the form of working computer routines. Our task has been to find the right balance among these ingredients for each topic. For some topics, we have placed a little more emphasis on the algorithms. For other topics, where the mathematical prerequisites are universally held, we have tended towards more in-depth discussion of the nature of the computational algorithms, or towards practical questions of implementation. For all topics, we present exam ples, exercises, and numerical results demonstrating the application of the routines presented.
The number one requirement for computer arithmetic has always been speed. It is the main force that drives the technology. With increased speed larger problems can be attempted. To gain speed, advanced processors and pro gramming languages offer, for instance, compound arithmetic operations like matmul and dotproduct. But there is another side to the computational coin - the accuracy and reliability of the computed result. Progress on this side is very important, if not essential. Compound arithmetic operations, for instance, should always deliver a correct result. The user should not be obliged to perform an error analysis every time a compound arithmetic operation, implemented by the hardware manufacturer or in the programming language, is employed. This treatise deals with computer arithmetic in a more general sense than usual. Advanced computer arithmetic extends the accuracy of the elementary floating-point operations, for instance, as defined by the IEEE arithmetic standard, to all operations in the usual product spaces of computation: the complex numbers, the real and complex intervals, and the real and complex vectors and matrices and their interval counterparts. The implementation of advanced computer arithmetic by fast hardware is examined in this book. Arithmetic units for its elementary components are described. It is shown that the requirements for speed and for reliability do not conflict with each other. Advanced computer arithmetic is superior to other arithmetic with respect to accuracy, costs, and speed.
Computer Arithmetic in Theory and Practice deals with computer arithmetic and the various implementations of the entire arithmetic package on diverse processors, including microprocessors. It illustrates the importance of theoretical development in the sound implementation of arithmetic on computers, and argues that such an implementation requires the establishment of various isomorphisms between different definitions of arithmetic operations. Comprised of seven chapters, this volume begins with an introduction to the theory of computer arithmetic by giving an axiomatic characterization of the essential properties of sets and subsets; complete lattices and complete subnets; screens and roundings; and arithmetic operations. The discussion then turns to the concepts of a ringoid and a vectoid as well as those of ordered or weakly ordered ringoids and vectoids; interval arithmetic; and floating-point arithmetic. The operations in interval spaces are defined by means of semimorphisms. The final chapter shows how to embed the five basic data types (integer, real, complex, real interval, and complex interval) together with the arithmetic operations that are defined for all of these types into existing higher programming languages. This book will be helpful to students and practitioners in the fields of computer science and applied mathematics.
About three decades after the first experiments on deep inelastic lepton hadron scattering began to investigate the structure of hadrons, the history of this fruitful field of particle physics continues in the broad spectrum of research performed at the electron and positron proton collider HERA at DESY, where the multipurpose detectors ZEUS and H1 access ep scattering at a center of mass energy of 300 GeV and explore as yet uncharted kinematic realms of deep inelastic scattering. After the first years of data taking at HERA, each of the experiments has collected a total of roughly 40 pb 1 of e+p data, yielding sensitivity to deep inelastic e+p interactions at high four momentum transfers, Q2, where typi cal cross sections drop into the subpicobarn regime. This kinematic domain is characterized by electroweak unification, manifesting itself most markedly in the neutral and charged current cross sections, which approach an equal order of magnitude as Q2 rises above the square of the W and Z masses. Consequently, HERA allows, for the first time, studies of both types of pro cesses simultaneously with the same initial state conditions and in the same detector, and thus we can investigate the interplay of electroweak and strong forces governing the respective cross sections.
Advanced textbook presenting a well-founded introduction to the field, including didactical features like summary boxes and a Q&A section An Introduction to Redox Polymers for Energy-Storage Applications discusses fundamental aspects related to polymer-based batteries, such as types of batteries, their historic development, design and synthesis criteria of the active material, and summarizes the various types of redox polymers and their applications. Each chapter contains learning objectives, summary boxes, and questions and answers to allow for efficient exam preparation. In An Introduction to Redox Polymers for Energy-Storage Applications, readers will find detailed information on: Fundamental aspects of redox-active polymers, along with their historical classification, taking the key applications of the materials into account Energy-storage devices, containing polymers as the electrode active materials, and specific material requirements for the desired applications Classification of redox-active polymers, e.g., according to the nature of the actual redox-active moieties, their backbone structure, or topology Electrical conductivity of conjugated polymers, covering their most prominent representatives (polyaniline, polypyrrole, polythiophene, and polyacetylene) An Introduction to Redox Polymers for Energy-Storage Applications not only provides a well-founded introduction on polymers and batteries, but also covers the synthesis and applications of these materials, making it an excellent textbook for graduates, PhD students, and professionals who are starting in this field.
Computer Arithmetic in Theory and Practice deals with computer arithmetic and the various implementations of the entire arithmetic package on diverse processors, including microprocessors. It illustrates the importance of theoretical development in the sound implementation of arithmetic on computers, and argues that such an implementation requires the establishment of various isomorphisms between different definitions of arithmetic operations. Comprised of seven chapters, this volume begins with an introduction to the theory of computer arithmetic by giving an axiomatic characterization of the essential properties of sets and subsets; complete lattices and complete subnets; screens and roundings; and arithmetic operations. The discussion then turns to the concepts of a ringoid and a vectoid as well as those of ordered or weakly ordered ringoids and vectoids; interval arithmetic; and floating-point arithmetic. The operations in interval spaces are defined by means of semimorphisms. The final chapter shows how to embed the five basic data types (integer, real, complex, real interval, and complex interval) together with the arithmetic operations that are defined for all of these types into existing higher programming languages. This book will be helpful to students and practitioners in the fields of computer science and applied mathematics.
Enclosure methods and their applications have been developed to a high standard during the last decades. These methods guarantee the validity of the computed results. This means they are of the same standard as the rest of mathematics. The book deals with a wide variety of aspects of enclosure methods. All contributions follow the common goal to push the limits of enclosure methods forward. Topics that are treated include basic questions of arithmetic, proving conjectures, bounds for Krylow type linear system solvers, bounds for eigenvalues, the wrapping effect, algorithmic differencing, differential equations, finite element methods, application in robotics, and nonsmooth global optimization.
The number one requirement for computer arithmetic has always been speed. It is the main force that drives the technology. With increased speed larger problems can be attempted. To gain speed, advanced processors and pro gramming languages offer, for instance, compound arithmetic operations like matmul and dotproduct. But there is another side to the computational coin - the accuracy and reliability of the computed result. Progress on this side is very important, if not essential. Compound arithmetic operations, for instance, should always deliver a correct result. The user should not be obliged to perform an error analysis every time a compound arithmetic operation, implemented by the hardware manufacturer or in the programming language, is employed. This treatise deals with computer arithmetic in a more general sense than usual. Advanced computer arithmetic extends the accuracy of the elementary floating-point operations, for instance, as defined by the IEEE arithmetic standard, to all operations in the usual product spaces of computation: the complex numbers, the real and complex intervals, and the real and complex vectors and matrices and their interval counterparts. The implementation of advanced computer arithmetic by fast hardware is examined in this book. Arithmetic units for its elementary components are described. It is shown that the requirements for speed and for reliability do not conflict with each other. Advanced computer arithmetic is superior to other arithmetic with respect to accuracy, costs, and speed.
This manual describes a PASCAL extension for scientific computation with the short title PASCAL-XSC (PASCAL eXtension for Scientific Computation). The language is the result of a long term effort of members of the Institute for Applied Mathematics of Karlsruhe University and several associated scientists. PASCAL XSC is intended to make the computer more powerful arithmetically than usual. It makes the computer look like a vector processor to the programmer by providing the vector/matrix operations in a natural form with array data types and the usual operator symbols. Programming of algorithms is thus brought considerably closer to the usual mathematical notation. As an additional feature in PASCAL-XSC, all predefined operators for real and complex numbers and intervals, vectors, matrices, and so on, deliver an answer that differs from the exact result by at most one rounding. Numerical mathematics has devised algorithms that deliver highly accurate and automatically verified results by applying mathematical fixed point theorems. That is, these computations carry their own accuracy control. However, their imple mentation requires arithmetic and programming tools that have not been available previously. The development of PASCAL-XSC has been aimed at providing these tools within the PASCAL setting. Work on the subject began during the 1960's with the development of a general theory of computer arithmetic. At first, new algorithms for the realization of the arithmetic operations had to be developed and implemented.
C-XSC is a tool for the development of numerical algorithms delivering highly accurate and automatically verified results. It provides a large number of predefined numerical data types and operators. These types are implemented as C++ classes. Thus, C-XSC allows high-level programming of numerical applications in C and C++. The most important features of C-XSC are: real, complex, interval, and complex interval arithmetic; dynamic vectors and matrices; subarrays of vectors and matrices; dotprecision data types, predefined arithmetic operators with maximum accuracy; standard functions of high accuracy; multiple precision arithmetic and standard functions; rounding control for I/O data; error handling, and library of problem solving routines with automatic result verification. Thus, C-XSC makes the computer more powerful concerning the arithmetic. C-XSC is immediately usable by C programmers, easy to learn, user-extendable, and may also be combined with other tools. The book can be used as a textbook and as a reference manual. It consists of an introduction to advanced computer arithmetic, a chapter describing the programming languages C and C++, the major chapter "C-XSC Reference", sample programs, and indices.
As suggested by the title of this book Numerical Toolbox for Verified Computing, we present an extensive set of sophisticated tools to solve basic numerical problems with a verification of the results. We use the features of the scientific computer language PASCAL-XSC to offer modules that can be combined by the reader to his/her individual needs. Our overriding concern is reliability - the automatic verification of the result a computer returns for a given problem. All algorithms we present are influenced by this central concern. We must point out that there is no relationship between our methods of numerical result verification and the methods of program verification to prove the correctness of an imple~entation for a given algorithm. This book is the first to offer a general discussion on • arithmetic and computational reliability, • analytical mathematics and verification techniques, • algorithms, and • (most importantly) actual implementations in the form of working computer routines. Our task has been to find the right balance among these ingredients for each topic. For some topics, we have placed a little more emphasis on the algorithms. For other topics, where the mathematical prerequisites are universally held, we have tended towards more in-depth discussion of the nature of the computational algorithms, or towards practical questions of implementation. For all topics, we present exam ples, exercises, and numerical results demonstrating the application of the routines presented.
Our aim in writing this book was to provide an extensive set of C++ programs for solving basic numerical problems with verification of the results. This C++ Toolbox for Verified Computing I is the C++ edition of the Numerical Toolbox for Verified Computing l. The programs of the original edition were written in PASCAL-XSC, a PASCAL eXtension for Scientific Computation. Since we published the first edition we have received many requests from readers and users of our tools for a version in C++. We take the view that C++ is growing in importance in the field of numeri cal computing. C++ includes C, but as a typed language and due to its modern concepts, it is superior to C. To obtain the degree of efficiency that PASCAL-XSC provides, we used the C-XSC library. C-XSC is a C++ class library for eXtended Scientific Computing. C++ and the C-XSC library are an adequate alternative to special XSC-Ianguages such as PASCAL-XSC or ACRITH-XSC. A shareware version of the C-XSC library and the sources of the toolbox programs are freely available via anonymous ftp or can be ordered against reimbursement of expenses. The programs of this book do not require a great deal of insight into the features of C++. Particularly, object oriented programming techniques are not required.
The articles in this book give a comprehensive overview on the whole field of validated numerics. The problems covered include simultaneous systems of linear and nonlinear equations, differential and integral equations and certain applications from technical sciences. Furthermore some papers which improve the tools are included. The book is a must for scientists working in numerical analysis, computer science and in technical fields.
This will help us customize your experience to showcase the most relevant content to your age group
Please select from below
Login
Not registered?
Sign up
Already registered?
Success – Your message will goes here
We'd love to hear from you!
Thank you for visiting our website. Would you like to provide feedback on how we could improve your experience?
This site does not use any third party cookies with one exception — it uses cookies from Google to deliver its services and to analyze traffic.Learn More.