Author: Ulrich W. Kulisch
Publisher: Springer Science & Business Media
ISBN: 3709105250
Category : Computers
Languages : en
Pages : 151
Book Description
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.
Advanced Arithmetic for the Digital Computer
Author: Ulrich W. Kulisch
Publisher: Springer Science & Business Media
ISBN: 3709105250
Category : Computers
Languages : en
Pages : 151
Book Description
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.
Publisher: Springer Science & Business Media
ISBN: 3709105250
Category : Computers
Languages : en
Pages : 151
Book Description
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.
Advanced Computer Arithmetic Design
Author: Michael J. Flynn
Publisher: Wiley-Interscience
ISBN:
Category : Computers
Languages : en
Pages : 352
Book Description
Innovative techniques and cutting-edge research in computer arithmetic design Computer arithmetic is a fundamental discipline that drives many modern digital technologies. High-performance VLSI implementations of 3-D graphics, encryption, streaming digital audio and video, and signal processing all require fast and efficient computer arithmetic algorithms. The demand for these fast implementations has led to a wealth of new research in innovative techniques and designs. Advanced Computer Arithmetic Design is the result of ten years of effort at Stanford University under the Sub-Nanosecond Arithmetic Processor (SNAP) project, which author Michael Flynn directs. Written with computer designers and researchers in mind, this volume focuses on design, rather than on other aspects of computer arithmetic such as number systems, representation, or precision. Each chapter begins with a review of conventional design approaches, analyzes the possibilities for improvement, and presents new research that advances the state of the art. The authors present new data in these vital areas: ? Addition and the Ling adder ? Improvements to floating-point addition ? Encoding to reduce execution times for multiplication ? The effects of technology scaling on multiplication ? Techniques for floating-point division ? Approximation techniques for high-level functions such as square root, logarithms, and trigonometric functions ? Assessing cost performance of arithmetic units ? Clocking to increase computer operation frequency ? New implementation of continued fractions to the approximation of functions This volume presents the results of a decade's research in innovative and progressive design techniques. Covering all the most important research topics in the field, Advanced Computer Arithmetic Design is the most up-to-date and comprehensive treatment of new research currently available.
Publisher: Wiley-Interscience
ISBN:
Category : Computers
Languages : en
Pages : 352
Book Description
Innovative techniques and cutting-edge research in computer arithmetic design Computer arithmetic is a fundamental discipline that drives many modern digital technologies. High-performance VLSI implementations of 3-D graphics, encryption, streaming digital audio and video, and signal processing all require fast and efficient computer arithmetic algorithms. The demand for these fast implementations has led to a wealth of new research in innovative techniques and designs. Advanced Computer Arithmetic Design is the result of ten years of effort at Stanford University under the Sub-Nanosecond Arithmetic Processor (SNAP) project, which author Michael Flynn directs. Written with computer designers and researchers in mind, this volume focuses on design, rather than on other aspects of computer arithmetic such as number systems, representation, or precision. Each chapter begins with a review of conventional design approaches, analyzes the possibilities for improvement, and presents new research that advances the state of the art. The authors present new data in these vital areas: ? Addition and the Ling adder ? Improvements to floating-point addition ? Encoding to reduce execution times for multiplication ? The effects of technology scaling on multiplication ? Techniques for floating-point division ? Approximation techniques for high-level functions such as square root, logarithms, and trigonometric functions ? Assessing cost performance of arithmetic units ? Clocking to increase computer operation frequency ? New implementation of continued fractions to the approximation of functions This volume presents the results of a decade's research in innovative and progressive design techniques. Covering all the most important research topics in the field, Advanced Computer Arithmetic Design is the most up-to-date and comprehensive treatment of new research currently available.
Computer Arithmetic and Validity
Author: Ulrich Kulisch
Publisher: ISSN
ISBN: 9783110301731
Category : Computer arithmetic
Languages : en
Pages : 0
Book Description
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 capability of the computer can be enhanced. 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.
Publisher: ISSN
ISBN: 9783110301731
Category : Computer arithmetic
Languages : en
Pages : 0
Book Description
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 capability of the computer can be enhanced. 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.
Computer Arithmetic
Author: Behrooz Parhami
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 684
Book Description
Ideal for graduate and senior undergraduate courses in computer arithmetic and advanced digital design, Computer Arithmetic: Algorithms and Hardware Designs, Second Edition, provides a balanced, comprehensive treatment of computer arithmetic. It covers topics in arithmetic unit design and circuit implementation that complement the architectural and algorithmic speedup techniques used in high-performance computer architecture and parallel processing. Using a unified and consistent framework, the text begins with number representation and proceeds through basic arithmetic operations, floating-point arithmetic, and function evaluation methods. Later chapters cover broad design and implementation topics-including techniques for high-throughput, low-power, fault-tolerant, and reconfigurable arithmetic. An appendix provides a historical view of the field and speculates on its future. An indispensable resource for instruction, professional development, and research, Computer Arithmetic: Algorithms and Hardware Designs, Second Edition, combines broad coverage of the underlying theories of computer arithmetic with numerous examples of practical designs, worked-out examples, and a large collection of meaningful problems. This second edition includes a new chapter on reconfigurable arithmetic, in order to address the fact that arithmetic functions are increasingly being implemented on field-programmable gate arrays (FPGAs) and FPGA-like configurable devices. Updated and thoroughly revised, the book offers new and expanded coverage of saturating adders and multipliers, truncated multipliers, fused multiply-add units, overlapped quotient digit selection, bipartite and multipartite tables, reversible logic, dot notation, modular arithmetic, Montgomery modular reduction, division by constants, IEEE floating-point standard formats, and interval arithmetic. Features: * Divided into 28 lecture-size chapters * Emphasizes both the underlying theories of computer arithmetic and actual hardware designs * Carefully links computer arithmetic to other subfields of computer engineering * Includes 717 end-of-chapter problems ranging in complexity from simple exercises to mini-projects * Incorporates many examples of practical designs * Uses consistent standardized notation throughout * Instructor's manual includes solutions to text problems * An author-maintained website http://www.ece.ucsb.edu/~parhami/text_comp_arit.htm contains instructor resources, including complete lecture slides
Publisher:
ISBN:
Category : Computers
Languages : en
Pages : 684
Book Description
Ideal for graduate and senior undergraduate courses in computer arithmetic and advanced digital design, Computer Arithmetic: Algorithms and Hardware Designs, Second Edition, provides a balanced, comprehensive treatment of computer arithmetic. It covers topics in arithmetic unit design and circuit implementation that complement the architectural and algorithmic speedup techniques used in high-performance computer architecture and parallel processing. Using a unified and consistent framework, the text begins with number representation and proceeds through basic arithmetic operations, floating-point arithmetic, and function evaluation methods. Later chapters cover broad design and implementation topics-including techniques for high-throughput, low-power, fault-tolerant, and reconfigurable arithmetic. An appendix provides a historical view of the field and speculates on its future. An indispensable resource for instruction, professional development, and research, Computer Arithmetic: Algorithms and Hardware Designs, Second Edition, combines broad coverage of the underlying theories of computer arithmetic with numerous examples of practical designs, worked-out examples, and a large collection of meaningful problems. This second edition includes a new chapter on reconfigurable arithmetic, in order to address the fact that arithmetic functions are increasingly being implemented on field-programmable gate arrays (FPGAs) and FPGA-like configurable devices. Updated and thoroughly revised, the book offers new and expanded coverage of saturating adders and multipliers, truncated multipliers, fused multiply-add units, overlapped quotient digit selection, bipartite and multipartite tables, reversible logic, dot notation, modular arithmetic, Montgomery modular reduction, division by constants, IEEE floating-point standard formats, and interval arithmetic. Features: * Divided into 28 lecture-size chapters * Emphasizes both the underlying theories of computer arithmetic and actual hardware designs * Carefully links computer arithmetic to other subfields of computer engineering * Includes 717 end-of-chapter problems ranging in complexity from simple exercises to mini-projects * Incorporates many examples of practical designs * Uses consistent standardized notation throughout * Instructor's manual includes solutions to text problems * An author-maintained website http://www.ece.ucsb.edu/~parhami/text_comp_arit.htm contains instructor resources, including complete lecture slides
Computer Arithmetic Algorithms
Author: Israel Koren
Publisher: CRC Press
ISBN: 1439863717
Category : Computers
Languages : en
Pages : 298
Book Description
This text explains the fundamental principles of algorithms available for performing arithmetic operations on digital computers. These include basic arithmetic operations like addition, subtraction, multiplication, and division in fixed-point and floating-point number systems as well as more complex operations such as square root extraction and evaluation of exponential, logarithmic, and trigonometric functions. The algorithms described are independent of the particular technology employed for their implementation.
Publisher: CRC Press
ISBN: 1439863717
Category : Computers
Languages : en
Pages : 298
Book Description
This text explains the fundamental principles of algorithms available for performing arithmetic operations on digital computers. These include basic arithmetic operations like addition, subtraction, multiplication, and division in fixed-point and floating-point number systems as well as more complex operations such as square root extraction and evaluation of exponential, logarithmic, and trigonometric functions. The algorithms described are independent of the particular technology employed for their implementation.
The Preparation of Programs for an Electronic Digital Computer
Author: Maurice Vincent Wilkes
Publisher:
ISBN:
Category : Calculators
Languages : en
Pages : 192
Book Description
This is often considered the first book on computer programming. It was written for the EDSAC (Electronic Delay Storage Automatic Calculator) computer that began operation in 1949 as the world's first regularly operated stored program computer. The idea of a library of subroutines was developed for the EDSAC, and is described in this book. Maurice Wilkes lead the development of the EDSAC.
Publisher:
ISBN:
Category : Calculators
Languages : en
Pages : 192
Book Description
This is often considered the first book on computer programming. It was written for the EDSAC (Electronic Delay Storage Automatic Calculator) computer that began operation in 1949 as the world's first regularly operated stored program computer. The idea of a library of subroutines was developed for the EDSAC, and is described in this book. Maurice Wilkes lead the development of the EDSAC.
Modern Computer Arithmetic
Author: Richard P. Brent
Publisher: Cambridge University Press
ISBN: 9780521194693
Category : Computers
Languages : en
Pages : 236
Book Description
Modern Computer Arithmetic focuses on arbitrary-precision algorithms for efficiently performing arithmetic operations such as addition, multiplication and division, and their connections to topics such as modular arithmetic, greatest common divisors, the Fast Fourier Transform (FFT), and the computation of elementary and special functions. Brent and Zimmermann present algorithms that are ready to implement in your favorite language, while keeping a high-level description and avoiding too low-level or machine-dependent details. The book is intended for anyone interested in the design and implementation of efficient high-precision algorithms for computer arithmetic, and more generally efficient multiple-precision numerical algorithms. It may also be used in a graduate course in mathematics or computer science, for which exercises are included. These vary considerably in difficulty, from easy to small research projects, and expand on topics discussed in the text. Solutions are available from the authors.
Publisher: Cambridge University Press
ISBN: 9780521194693
Category : Computers
Languages : en
Pages : 236
Book Description
Modern Computer Arithmetic focuses on arbitrary-precision algorithms for efficiently performing arithmetic operations such as addition, multiplication and division, and their connections to topics such as modular arithmetic, greatest common divisors, the Fast Fourier Transform (FFT), and the computation of elementary and special functions. Brent and Zimmermann present algorithms that are ready to implement in your favorite language, while keeping a high-level description and avoiding too low-level or machine-dependent details. The book is intended for anyone interested in the design and implementation of efficient high-precision algorithms for computer arithmetic, and more generally efficient multiple-precision numerical algorithms. It may also be used in a graduate course in mathematics or computer science, for which exercises are included. These vary considerably in difficulty, from easy to small research projects, and expand on topics discussed in the text. Solutions are available from the authors.
Advanced Binary for Programming & Computer Science
Author: Sunil Tanna
Publisher: Createspace Independent Publishing Platform
ISBN: 9781726352642
Category :
Languages : en
Pages : 190
Book Description
This book explains how the binary works and how it is used by computers to represent information including positive and negative integers, characters and real numbers. It explains the logical and bitwise operations used to manipulate information and perform arithmetic. We also briefly look at how computers store this information in memory and secondary storage, and how it can be transmitted between computers. Topics covered include: INTRODUCING NUMBER BASES AND BINARY CONVERTING FROM BINARY TO DENARY AND VICE-VERSA How to Convert a Binary Number to Denary How to Convert a Denary Number to Binary HOW COMPUTERS GROUP BINARY DIGITS A Closer Look at Bytes A Closer Look at Words * Word alignment, word alignment and packing, byte ordering and endianness Addresses BOOLEAN OPERATIONS AND LOGIC GATES Fundamentals of Boolean Algebra * NOT, AND, OR, XOR, NAND, NOR, NXOR Combining Logic Gates * NOT, AND, OR, XOR, NOR using NAND logic Logical Versus Bitwise Operations Using Bitwise Operations to Set, Clear, Flip or Test Bits * Setting bits, inverting bits, clearing bits, testing bits ADDING AND SUBTRACTING IN BINARY Adding Binary Integers * The column addition method of adding denary numbers and adding binary numbers, implementing binary addition using logic gates Subtracting Binary Integers * The column subtraction methods of subtracting denary numbers and subtracting binary numbers, implementing binary subtraction using logic gates SHIFT OPERATIONS Left Shift Right Shift Circular Shifts MULTIPLICATION AND DIVISION IN BINARY Multiplication * Multiplying by a power of 2, column multiplication, Russian peasant multiplication algorithm, multiplication in hardware Division * Dividing by a power of 2, denary long division, binary long division, algorithm for binary long division, division in hardware REPRESENTING CHARACTERS AND STRINGS OF CHARACTERS Representing Individual Characters * ASCII, extended ASCIIs, BCDIC and other early character encodings, EBCDIC, Unicode Representing Strings of Characters * Terminated strings, length-prefixed strings, other string representations REPRESENTING TEXT AND GRAPHICS ON SCREEN Text Mode Displays Bitmap Displays PARITY CHECKING What is a Parity Bit Even and Odd Parity Advantages, Disadvantages and Limitations of Using Parity Checking Parity's Use in RAID Storage Devices Unused Parity Bits SIGNED INTEGERS Offset Binary Signed Magnitude Representation One's Complement Two's Complement Other Representations of Signed Numbers * Base -2, signed-digit representation REAL NUMBERS Fixed Point Representation Floating Point Representation Rational Data Type Logarithmic Number Systems DENARY ENCODINGS AND DECIMAL DATA TYPES Why Use Denary Representations of Real Numbers? Binary Encodings of Denary * Serial decimal, two-out-of-five, bi-quinary, character-based encodings of denary, binary-Coded Decimal (BCD), Chen-Ho Encoding, Densely Packed Decimal (DPD) and excess-3 Decimal Data Types * Which numbers can be exactly represented in fixed and floating point? * How inexact? * Issues with inexact representation * Decimal representation DATA STRUCTURES Structs Arrays Linked Lists and More Complex Structures * Limitations of arrays, introducing linked lists, singly and doubly linked lists, more complex data structures TYPES OF COMPUTER MEMORY Magnetic-Core Memory and Core Rope Memory RAM * DRAM and SRAM ROM * Mask-programmed ROM, PROM, EPROM, EEPROM, Flash memory SECONDARY STORAGE Sequential Storage * Punched tape, magnetic tape Random Access Storage * Magnetic disk, optical disk, solid state drives, flash memory and cloud Storage MEASURING MEMORY AND STORAGE DIGITAL COMMUNICATIONS Serial Communication Parallel Communication MEASURING TRANSFER RATES Baud
Publisher: Createspace Independent Publishing Platform
ISBN: 9781726352642
Category :
Languages : en
Pages : 190
Book Description
This book explains how the binary works and how it is used by computers to represent information including positive and negative integers, characters and real numbers. It explains the logical and bitwise operations used to manipulate information and perform arithmetic. We also briefly look at how computers store this information in memory and secondary storage, and how it can be transmitted between computers. Topics covered include: INTRODUCING NUMBER BASES AND BINARY CONVERTING FROM BINARY TO DENARY AND VICE-VERSA How to Convert a Binary Number to Denary How to Convert a Denary Number to Binary HOW COMPUTERS GROUP BINARY DIGITS A Closer Look at Bytes A Closer Look at Words * Word alignment, word alignment and packing, byte ordering and endianness Addresses BOOLEAN OPERATIONS AND LOGIC GATES Fundamentals of Boolean Algebra * NOT, AND, OR, XOR, NAND, NOR, NXOR Combining Logic Gates * NOT, AND, OR, XOR, NOR using NAND logic Logical Versus Bitwise Operations Using Bitwise Operations to Set, Clear, Flip or Test Bits * Setting bits, inverting bits, clearing bits, testing bits ADDING AND SUBTRACTING IN BINARY Adding Binary Integers * The column addition method of adding denary numbers and adding binary numbers, implementing binary addition using logic gates Subtracting Binary Integers * The column subtraction methods of subtracting denary numbers and subtracting binary numbers, implementing binary subtraction using logic gates SHIFT OPERATIONS Left Shift Right Shift Circular Shifts MULTIPLICATION AND DIVISION IN BINARY Multiplication * Multiplying by a power of 2, column multiplication, Russian peasant multiplication algorithm, multiplication in hardware Division * Dividing by a power of 2, denary long division, binary long division, algorithm for binary long division, division in hardware REPRESENTING CHARACTERS AND STRINGS OF CHARACTERS Representing Individual Characters * ASCII, extended ASCIIs, BCDIC and other early character encodings, EBCDIC, Unicode Representing Strings of Characters * Terminated strings, length-prefixed strings, other string representations REPRESENTING TEXT AND GRAPHICS ON SCREEN Text Mode Displays Bitmap Displays PARITY CHECKING What is a Parity Bit Even and Odd Parity Advantages, Disadvantages and Limitations of Using Parity Checking Parity's Use in RAID Storage Devices Unused Parity Bits SIGNED INTEGERS Offset Binary Signed Magnitude Representation One's Complement Two's Complement Other Representations of Signed Numbers * Base -2, signed-digit representation REAL NUMBERS Fixed Point Representation Floating Point Representation Rational Data Type Logarithmic Number Systems DENARY ENCODINGS AND DECIMAL DATA TYPES Why Use Denary Representations of Real Numbers? Binary Encodings of Denary * Serial decimal, two-out-of-five, bi-quinary, character-based encodings of denary, binary-Coded Decimal (BCD), Chen-Ho Encoding, Densely Packed Decimal (DPD) and excess-3 Decimal Data Types * Which numbers can be exactly represented in fixed and floating point? * How inexact? * Issues with inexact representation * Decimal representation DATA STRUCTURES Structs Arrays Linked Lists and More Complex Structures * Limitations of arrays, introducing linked lists, singly and doubly linked lists, more complex data structures TYPES OF COMPUTER MEMORY Magnetic-Core Memory and Core Rope Memory RAM * DRAM and SRAM ROM * Mask-programmed ROM, PROM, EPROM, EEPROM, Flash memory SECONDARY STORAGE Sequential Storage * Punched tape, magnetic tape Random Access Storage * Magnetic disk, optical disk, solid state drives, flash memory and cloud Storage MEASURING MEMORY AND STORAGE DIGITAL COMMUNICATIONS Serial Communication Parallel Communication MEASURING TRANSFER RATES Baud
Digital Arithmetic
Author: Milos D. Ercegovac
Publisher: Elsevier
ISBN: 1558607986
Category : Computers
Languages : en
Pages : 736
Book Description
The authoritative reference on the theory and design practice of computer arithmetic.
Publisher: Elsevier
ISBN: 1558607986
Category : Computers
Languages : en
Pages : 736
Book Description
The authoritative reference on the theory and design practice of computer arithmetic.
Design of Digital Computers
Author: Hans W. Gschwind
Publisher: Springer Science & Business Media
ISBN: 3642861903
Category : Computers
Languages : en
Pages : 556
Book Description
I have been using the first edition of this book as a text for a number of years. This was in a Stanford University first-year graduate course that is taken by students from Electrical Engineering or Computer Science who are interested in computer organization. Because computer tech nology has been changing so rapidly, it became necessary to supplement the text with additional readings. My colleagues and I examined many newly-published books for possible use as texts. We found no book with the same excellent choice of topics and thorough coverage as Dr. Gschwind's first edition. Springer-Verlag's request that I prepare a second edition of this book came at a time when I had many other projects underway. Before I de cided whether to take on the project of preparing a revision, I asked many of my students for their opinions of Dr. Gschwind's first edition. Even I was surprised by the enthusiasm that this rather skeptical and critical group of students displayed for the book. It was this enthusiasm that convinced me of the value and importance of preparing the revision.
Publisher: Springer Science & Business Media
ISBN: 3642861903
Category : Computers
Languages : en
Pages : 556
Book Description
I have been using the first edition of this book as a text for a number of years. This was in a Stanford University first-year graduate course that is taken by students from Electrical Engineering or Computer Science who are interested in computer organization. Because computer tech nology has been changing so rapidly, it became necessary to supplement the text with additional readings. My colleagues and I examined many newly-published books for possible use as texts. We found no book with the same excellent choice of topics and thorough coverage as Dr. Gschwind's first edition. Springer-Verlag's request that I prepare a second edition of this book came at a time when I had many other projects underway. Before I de cided whether to take on the project of preparing a revision, I asked many of my students for their opinions of Dr. Gschwind's first edition. Even I was surprised by the enthusiasm that this rather skeptical and critical group of students displayed for the book. It was this enthusiasm that convinced me of the value and importance of preparing the revision.