100% found this document useful (2 votes)
23 views54 pages

Computer Science With MATHEMATICA Theory and Practice For Science Mathematics and Engineering 1st Edition by Roman Maeder ISBN 1595720596 9780521663953 PDF Download

The document discusses 'Computer Science with MATHEMATICA' by Roman Maeder, which introduces computer science concepts through the use of Mathematica, emphasizing its application in science, mathematics, and engineering. It covers a range of topics including algorithms, data types, and programming paradigms, while highlighting the advantages of using Mathematica for scientific computations. The book aims to provide practical experience and insights into computer science, moving beyond traditional programming languages to foster experimentation and problem-solving.

Uploaded by

sdgkishor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
23 views54 pages

Computer Science With MATHEMATICA Theory and Practice For Science Mathematics and Engineering 1st Edition by Roman Maeder ISBN 1595720596 9780521663953 PDF Download

The document discusses 'Computer Science with MATHEMATICA' by Roman Maeder, which introduces computer science concepts through the use of Mathematica, emphasizing its application in science, mathematics, and engineering. It covers a range of topics including algorithms, data types, and programming paradigms, while highlighting the advantages of using Mathematica for scientific computations. The book aims to provide practical experience and insights into computer science, moving beyond traditional programming languages to foster experimentation and problem-solving.

Uploaded by

sdgkishor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Computer Science with MATHEMATICA Theory and

Practice for Science Mathematics and Engineering


1st Edition by Roman Maeder ISBN 1595720596
9780521663953 pdf download
https://ebookball.com/product/computer-science-with-mathematica-
theory-and-practice-for-science-mathematics-and-engineering-1st-
edition-by-roman-maeder-isbn-1595720596-9780521663953-19788/

Explore and download more ebooks or textbooks


at ebookball.com
We have selected some products that you may be interested in
Click the link to download now or visit ebookball.com
for more options!.

C for Computer Science and Engineering 1st Edition by Vic


Broquard ISBN 1941415539 9781941415535

https://ebookball.com/product/c-for-computer-science-and-
engineering-1st-edition-by-vic-broquard-
isbn-1941415539-9781941415535-19790/

Computer Science Cambridge University Press 1st Edition by


Information Theory ISBN

https://ebookball.com/product/computer-science-cambridge-university-
press-1st-edition-by-information-theory-isbn-9064/

Mathematics and Computer Science III Algorithms Trees


Combinatorics and Probabilities Trends in Mathematics 1st
Edition by Michael Drmota, Philippe Flajolet, Danièle
Gardy, Bernhard Gittenberger ISBN 3034896204 9783034896207
https://ebookball.com/product/mathematics-and-computer-science-iii-
algorithms-trees-combinatorics-and-probabilities-trends-in-
mathematics-1st-edition-by-michael-drmota-philippe-flajolet-dania-le-
gardy-bernhard-gittenberger-isbn-30/

Real World Software Projects for Computer Science and


Engineering Students 1st Edition by Varun Gupta, Anh
Nguyen Duc 0367635984 9780367635985
https://ebookball.com/product/real-world-software-projects-for-
computer-science-and-engineering-students-1st-edition-by-varun-gupta-
anh-nguyen-duc-0367635984-9780367635985-16072/
Computer Science and Compiler Design An Introduction with
C 1st Edition by Compiler Generators in C ISBN

https://ebookball.com/product/computer-science-and-compiler-design-an-
introduction-with-c-1st-edition-by-compiler-generators-in-c-
isbn-11720/

Theory of Computer Science Automata Languages and


Computation 3rd Edition by ISBN KLP Mishra, N
Chandrasekaran ISBN 9788120329683
https://ebookball.com/product/theory-of-computer-science-automata-
languages-and-computation-3rd-edition-by-isbn-klp-mishra-n-
chandrasekaran-isbn-9788120329683-15850/

GATE Graduate Aptitude Test in Engineering Computer


Science and Information Technology 1st edition by
Trishna 9789353433949
https://ebookball.com/product/gate-graduate-aptitude-test-in-
engineering-computer-science-and-information-technology-1st-edition-
by-trishna-9789353433949-15508/

Physics for Computer Science Students With Emphasis on


Atomic and Semiconductor Physics 1st Edition by Narciso
Garcia, Arthur Damask 0387976566 978-0387976563
https://ebookball.com/product/physics-for-computer-science-students-
with-emphasis-on-atomic-and-semiconductor-physics-1st-edition-by-
narciso-garcia-arthur-damask-0387976566-978-0387976563-17172/

Encyclopedia of Information Science and Technology Fifth


Edition by Engineering Science Reference 9781799834816
1799834816
https://ebookball.com/product/encyclopedia-of-information-science-and-
technology-fifth-edition-by-engineering-science-
reference-9781799834816-1799834816-15502/
Computer Science with Mathematica

Computer algebra systems have revolutionized the use of computers


within mathematics research and are currently extending that
revolution to the undergraduate curriculum. But the power of such
systems goes beyond simple algebraic or numerical manipulation.
This book shows how computer-aided mathematics has reached a
level where it can support effectively many of the computations in
science and engineering. In addition to treating tradi- traditional
computer science topics, an introductory course should show
scientists and engineers how these computer-based tools can be
used to do scientific computations. This introduction to computer
science studies algorithms through use of Mathematica. This
powerful interactive tool encourages experimentation and allows
each algorithm to be tested separately and its behavior studied.
Examples from number theory, differential geometry, numerical
mathematics, symbolic computation, computer algebra, linear
algebra, electronic circuits, semiconductors, mechanical engineering,
celestial mechanics, and chaotic systems are included. Computer
science topics include abstract data types, complexity of algorithms,
searching and sorting, optimization problems, functional and object-
oriented programming, term rewriting, computability, and databases.
A valuable text for introductory courses in computer science for
mathe- mathematicians, scientists, and engineers, this book should
also prove useful to Mathematica users at all levels. Covering Version
4, the latest release of Mathematica, the book includes useful tips
and techniques that will help even seasoned users. Roman E.Maeder
was a co-founder of Wolfram Research and was responsible for
developing central parts of the Mathematica software system, such
as polynomial factorization and language design. Maeder received
his Ph.D. from the Swiss Federal Institute of Technology (ETH) in
Zurich. Formerly a professor of computer science at ETH, he is now
an independent computing consultant.
Computer Science with Mathematica Theory and Practice for
Science, Mathematics, and Engineering Roman E. Maeder
CAMBRIDGE UNIVERSITY PRESS

PUBLISHED BY THE PRESS SYNDICATE OF THE UNIVERSITY OF


CAMBRIDGE The Pitt Building, Trumpington Street, Cambridge,
United Kingdom CAMBRIDGE UNIVERSITY PRESS The Edinburgh
Building, Cambridge CB2 2RU, UK http://www.cup.cam.ac.uk 40
West 20th Street, New York, NY 10011-4211, USA
http://www.cup.org 10 Stamford Road, Oakleigh, Melbourne 3166,
Australia Ruiz de Alarc6n 13.28014 Madrid, Spain © Roman E.
Maeder 20O0 This book is in copyright. Subject to statutory
exception and to the provisions of relevant collective licensing
agreements, no reproduction of any part may take place without the
written permission of Cambridge University Press. First puhlished
2000 Printed in the United Slates of America Typeset by the author
using Mathematica 4.0 and the TgX typesetting language on a Sun
ULTRAsparc II computer. A catalog record for this book is available
from the British Library. Library of Congress Cataloging in Publication
Data Maeder, Roman. Computer science with Mathematica : theory
and practice for science, mathematics, and engineering / Roman E.
Maeder. p. cm. Includes index. ISBN 0-521-63172-6. - ISBN 0-521-
66395-4 (pbk.) 1. Mathemalica (Computer file) 2. Mathematics -
Data processing. 3. Mathematica (Computer programming language)
I. Title. QA76.95.M34 1999 51O'.285'5369-dc21 99-38932 CIP The
author and Cambridge University Press, Inc., make no
representations, expressed or implied, with respect to this
documentation or the software it describes, including, without
limitations, any implied warranties of merchantability or fitn for a
particular purpose, all of which are expressly disclaimed. The author,
or Cambridge University Press, their licensees, distributors, and
dealers shall in no event be liable for any indirect, incidental, or
consequential damages. ISBN A 521 63172 6 hardback ISBN 0 521
66395 4 paperback
Contents Preface ix About This Book xiii 1 Computers and Science
1.1 From Problems to Programs 3 1.2 Computers 14 1.3
Programming Languages 18 1.4 Computer Science 23 2
Mathematical Programming Language 2.1 Arithmetic and Logic 27
2.2 Definitions 30 2.3 Simple Program Structures 34 2.4 Structure of
Expressions 44 2.5 Help with Problems 49 2.6 Exercises 52 3
Iteration and Recursion 3.1 The Greatest Common Divisor 57 3.2
The 3z + 1 Problem 60 3.3 Advanced Topic: Loop Invariants 64 3.4
Application: Differential Equations 69 3.5 Exercises 76 4 Structure of
Programs 4.1 Complex Parametric Lines 81 4.2 The First Package 85
4.3 Optional Arguments 90 4.4 A Template Package 94 4.5 Exercises
96 5 Abstract Data Types 5.1 Definition of Abstract Data Types 99
5.2 Example: Modular Numbers 102 5.3 Design of Abstract Data
Types 106 5.4 Exercises 110

Contents Algorithms for Searching and Sorting 6.1 Searching


Ordered Data 115 6.2 Sorting Data 121 6.3 Binary Trees 129 6.4
Exercises 138 Complexity of Algorithms 7.1 Complexity of
Computations 143 7.2 Example: Computing the nth Fibonacci
Number 147 7.3 Special Topic: Dynamic Programming 156 7.4 Long-
Integer Arithmetic and Fast Multiplication 162 7.5 Exercises 167
Operations on Vectors and Matrices 8.1 Vectors and Matrices 171 8.2
Inner and Outer Products 175 8.3 Linear Algebra 185 8.4 Programs
with Arrays 194 8.5 Application: Aggregation 202 8.6 Exercises 207
List Processing and Recursion 9.1 Symbolic Expressions and Lists
213 9.2 List Processing 217 9.3 Exercises 223 Rule-Based
Programming 10.1 Pattern Matching 227 10.2 Rules and Term
Rewriting 231 10.3 Simplification Rules and Normal Forms 235 10.4
Application: Trigonometric Simplifications 241 10.5 Exercises 248
Functions 11.1 A Notation for Functions (X Calculus) 255 11.2
Functions as Values 260 11.3 Example: Simulation of Shift Registers
266 11.4 Exercises 268 Theory of Computation 12.1 Computable
Functions 273 12.2 Models of Computation 280 12.3 Turing
Machines 282 12.4 Recursive Functions Are Turing Computable 293
12.5 Exercises 299
Contents vii 13 Databases 13.1 Database Design 303 13.2 Relational
Databases 308 13.3 Data Entry and Queries 314 13.4 Commercial
Databases 319 13.5 Exercises 321 14 Object-Oriented Programming
14.1 Introduction 325 14.2 Example: Bank Accounts 327 14.3
Principles of Object-Oriented Programming 330 14.4 Application:
Collections 332 14.5 Exercises 341 Appendix A Further Reading A.I A
Guide to the Literature 345 A.2 References 347 Appendix B More
Information About Mathematica B.I Computations You Can Do with
Mathematica 353 B.2 The Code for the Illustrations in this Book 364
B.3 Mathematica's Evaluation Method 368 B.4 Syntax of Operators
374 Index 377

Preface This book provides an introduction to computer science, and


shows how modern computer- based tools can be used in science,
mathematics, and engineering. Computer-aided math- mathematics
has reached a level where it can support effectively many
computations in science and engineering. In addition to treating
traditional computer-science topics, an introductory book should
show scientists and engineers how these computer-based tools can
be used to do scientific computations. Students must get to know
these possibilities, and they must gain practical experience. Learning
a traditional programming language becomes less important, just as
learning arithmetic is not a main topic of mathematics education. In
an introductory book, it is clearly necessary to limit ourselves to a
small part of the huge field of computer science. We emphasize
topics that are related to possible applications in mathematics and
the sciences. Technical and practical computer science have
therefore been neglected. It is certainly worthwhile to combine an
introductory computer-science course with exer- exercises. In the
same way as we learn a foreign language by speaking the language
and by studying literature in that language, we should apply
algorithmic knowledge by studying programs and writing our own. If
we can solve an interesting problem from mathematics or the
sciences at the same time, all the better! Traditionally, such
introductory courses use languages such as Pascal, C, or FORTRAN.
These languages have in common that the effort to develop even a
small program (one that adds two numbers, for example) is
considerable. One has to write a main program that deals with input
and output, and to compile the program. Furthermore, these
languages cannot be used easily to solve nonnumerical problems.
Leaving aside these practical difficulties gives us room to look at
other topics in computer science, an extension that is not offered in
traditional programming courses. In this way, we gain insight into
computer science, which consists of much more than writing small
programs. Another disadvantage of traditional languages is that they
support only procedural pro- programming. This style is an important
one, but it is not the only option and it is not always the best
approach. 1 prefer a language that does not force this programming
style on programmers. The programming style should be chosen to
fit the problem to be solved, rather than vice versa. The language
should be interactive, to encourage experimentation and to allow us
to call individual functions without having to write a whole program.
Mathematica was first released in 1988, and it is being used with
increasing frequency in teaching, research, and industry. A by-
product of the symbolic computation system, it is a programming
language that differs from traditional languages in many important
ways. ix

x Preface Conventional languages are not well suited to expressing


mathematical formulae and algo- algorithms. LISP and other
functional languages showed alternatives. An important aspect of
scientific computation is an easy way to express mathematical rules.
Application of rules by machine requires good pattern-matching
capabilities of the kind found in Prolog. Another prerequisite is that it
be simple to manipulate structured data. Such structural operations
have been pioneered by APL. Object-oriented elements and
modularization are important tools for developing larger projects.
Ideas were taken from Simula, Smalltalk, and C++. We also want to
support traditional procedural programming in the style of Pascal
and C. All these objec- objectives lead to a large language with
many built-in functions. It nevertheless has a consistent and uniform
style, made possible through the use of rewrite rules, which underly
all other programming constructs. Such a language is also interactive
and therefore easy to use. It is not necessary to compile functions or
to embed them into a main program to use them. The additional
step of compilation increases the difficulty of program development
and requires special tools (debuggers) to study the behavior of
programs. Because Mathematica also contains most operations
needed in mathematics and physics, it is especially well suited for an
introductory course in computer science for readers interested
primarily in the sciences and engineering. It allows us to treat
interesting examples easily. There is no good reason, for example, to
restrict the range of integers to 2,147.483,647, as is done in most
programming languages. This restriction makes no sense in
mathematics. Programming with recursively defined functions is
often treated as extraordinary and difficult. We can express naturally
many mathematical algorithms, however, by using recursion, and it
should be possible to formulate recursion easily in a language. For
example, the properties of the greatest common divisor of two
integers leading directly to Euclid's algorithm, gcd(a, b) = gcdF, a
mod b) gcd(a, 0) = a, can be expressed verbatim in Mathematica
and tried out immediately. As in LISP, the technique of tail-recursion
elimination in Mathematica ensures that the corresponding program
runs as fast as the loop that is normally used (which is not the case
in most procedural languages). Deriving the loop invariant and
programming the same function as a loop leads naturally to
systematic programming and considerations of program correctness.
Mathematica is helpful in all areas of computer use in mathematics,
in the sciences, and in engineering: ¦ Its numerical part, which
allows arithmetic to arbitrary precision, can be used to treat
numerical mathematics, including traditional floating-point
arithmetic. ¦ Its symbolic part does computations with formulae,
solves equations, performs series ex- expansions and
transformations, and knows calculus to the level required for an
undergraduate degree.

Preface xi ¦ The programming language supports all traditional


programming styles, including proce- procedural programming. The
language can therefore be used for traditional computer-science
classes (algorithms and data structures) as well. ¦ The rule-based
programming system allows a natural expression of scientific facts. ¦
Graphics allows the meaningful presentation of results and
experimental data. It is also useful for showing how algorithms
work. ¦ We can call external programs and exchange results, so we
can use external software libraries and even control laboratory
experiments. This book grew out of class notes for a course given at
the Department of Mathematics and Physics at the Swiss Federal
Institute of Technology, Zurich. It was originally published in my
native German language [48], and I am glad to present now my own
English translation and adaptation. 1 am thankful to Erwin Engeler,
John Gray, and Stephen Wolfram for their inspiration and many
interesting discussions. Helpful suggestions on particular topics came
from R. Marti and H. Mossenbock. Lyn Dupr6 proofread an early
version of the manuscript, and Karen Tongish copyedited the final
version. The publishers of the German and English editions,
Ekkehard Hundt and Alan Harvey, helped me to keep going. Many
thanks to the anonymous reviewer whose favorable comments and
useful suggestions motivated me to finish this project. R. E. M.
Wollerau, March 1999

About This Book The emphasis of this introduction to computer


science is algorithmics - that is, the study of algorithms. We do not
want this activity to become a dry exercise, so we shall try out all
algorithms as soon as possible. Our programs will often consist of
only a few lines of code. Such simplicity allows us to concentrate on
the essentials and to ignore peripheral matters such as input,
output, and driver programs. Often, however, we shall develop
whole packages, collections of various procedures grouped around a
topic. The methods for writing such packages will be explained in
Chapter 4. After all, computer science is not about writing small,
throwaway programs but rather developing larger applications. In
addition to finding suitable algorithms, this entails techniques of
documentation and maintenance of software. We shall present some
of these techniques. Mathematica does have a major advantage over
traditional programming languages: It is interactive. Interactivity
encourages experimentation and allows us to test each function
separately and to study its behavior. In the first section we shall
study recursively defined functions, a topic often considered difficult
and therefore treated with caution. We also have at our disposal a
symbolic, numerical, and graphic computation system - an added
benefit that we shall use in many ways. Overview of Contents Each
chapter after the first two introductory ones presents a topic from
computer science together with its applications and examples in
mathematics, the sciences, and engineering. You can choose from
the many applications presented those that correspond to your
background. Because only one system (Mathematica) is used for all
programs and all calculations, the extra work of learning about
practical matters such as editing or working with the application is
minimized. My experiences have shown that Mathematica is rather
easy to learn; you will be able to work with it quite soon, after
overcoming any initial difficulties you might encounter. Chapter 1 is
not a prerequisite for the rest of the text, if you already know
something about computers. It shows how computers can be used
in the sciences, explains the history and current state of computers,
and discusses what computer science is all about. The quick
introduction to Mathematical syntax in Chapter 2 should be studied
with a computer at hand, so you can try out the calculations for
yourself and get a feeling for what it xiii

xiv About This Book is like to work v/ith Mathematica. The elements
of programming presented in Sections 2.1-2.3 are the foundation of
our programs. In Chapter 3, we use two simple examples to show
how mathematical questions can be turned into computer programs.
The most important concepts are iteration and recursion. The
section on loop invariants gives a method for proving programs
correct. Chapter 4 explains how programs in Mathematica are
structured. We start with simple commands, which we turn into a
program by defining a few functions. We will give guidelines for
turning a program into a package. Packages allow for easier use of
programs and prevent unwanted side effects on other programs,
which might have similar function names. The tools we use are
modularization and separation of the interface (for the user of our
program) and the implementation (for the program developer). You
can use these techniques as recipes, even if you do not know how
they work in detail. You can use our template package as a starting
point. Abstract data types, presented in Chapter 5, constitute one of
the most important tools for the design of programs. These methods
allow a clean separation of design and implementation. We shall use
them in most of our programs in this book. Algorithms for searching
and sorting are the basic building blocks of many programs. The
algorithms presented in Chapter 6 are part of basic computer-
science knowledge. Problems can be solved in many ways. One
aspect to consider when choosing a method is the complexity of the
resulting algorithm. Chapter 7 provides an introduction to algorith-
algorithmic complexity. As an example, we look at the computation
of large Fibonacci numbers, optimization problems, and arbitrary-
precision arithmetic. Vectors and matrices are important data
structures for mathematical applications. We present several
important operations on them and look at a few algorithms from
linear algebra in Chapter 8. In Chapter 9, we program in LISP, a
language that we can interpret in Mathematica easily. Recursion is
the most important tool for solving problems in LISP, where it
replaces iteration. For many scientific problems, rule-based
programming is the simplest method of solution. It is also the
foundation of Mathematical programming language. In Chapter 10,
we shall look at the important concepts of simplification and normal
forms, as well as at some applications. Functions are of central
importance in mathematics. They play a lesser role in computer
science, because many programming languages have only
rudimentary means of dealing with them. An important exception
are the functional languages, including Mathematica. Functions are
the topic of Chapter 11. That chapter highlights the differences
between the symbolic computation system Mathematica and
ordinary languages. In Chapter 12, we give a short introduction to
theoretical computer science. There we see that this topic is not
necessarily as "theoretical" as is often feared. We answer the
question of what the fundamental limits of computers are and show
that some problems cannot be solved by machine, even disregarding
the practical matters of limited memory and computing time.
Databases are the most important commercial application of
computers. Managing large volumes of data demands reliable and
powerful programs. A precise mathematical model of

About This Book xv collections of data provides the tools for their
easy manipulation. We treat these concepts in Chapter 13. Chapter
14 introduces an important programming style: object-oriented
programming. It is especially useful for larger applications and for
the design of reusable software. Appendix A is an annotated
bibliography on the topics programming methods, teaching with
Mathematica, and literature about Mathematica; it includes a section
with references for the topics treated in this book, followed by the
bibliographical data. The more detailed explanations about the
structure of Mathematica given in Appendix B are useful for self-
study and are also meant as a reference. For a complete reference
to Mathematica, you should consult The Mathematica Book [74]. The
appendix of that manual contains an alphabetical listing of all built-in
functions, commands, and other objects. This listing, as well as the
complete manual, is available on-line in Mathematica (in the Help
Browser). Looking up an item there is much easier than is looking it
up in a heavy book. Studying the Mathematica manual is not a
prerequisite for reading this book. Appendix B also contains a section
that demonstrates Mathematical more advanced capabilities. Finally,
we give the programs used to generate the chapter-opener pictures.
Certain sections are labeled "Advanced Topic." They presume that
the reader has a more complete mathematical background than is
required for the rest of the book; they are optional. Sections marked
"Special Topic" are independent from the rest of the book. Sections
marked "Example" or "Application" develop a topic using a larger
example that is of interest in its own right. At the end of most
sections, there is a review list, entitled "Key Concepts," of new
concepts that have been introduced. At the end of the chapters, you
will find numerous exercises. The verso page following a chapter title
contains a brief overview of the sections in the chapter, and an
explanation of the graphic illustration on the title page. The
programs for generating these pictures are in the package
Pictures.m; see Section B.2. Comments on Exercises We assume that
you already know how to work with your computer. The installation
of Math- Mathematica on your machine is explained in the
documentation that comes with the software. This documentation
includes a manual that explains the machine-specific features of
Mathematica. The best way to learn Mathematica is to do practical
exercises at the machine. In the beginning, you may want to look at
one of the included demonstration documents before moving on to
your own small examples. You can also find simple examples in the
section titled "A Tour of Math- Mathematica" in The Mathematica
Book. We recommend that you work through such examples. There
are two ways to use Mathematica on a computer: the Notebook
frontend and a simple dialog with the kernel of Mathematica (the
kernel is the part that does the actual computations; the frontend
serves as a user interface to the kernel). The Notebook frontend is
more comfortable to use, but is not required for the examples in this
book, which have

xvi About This Book all been computed by direct interaction with the
kernel. All examples have been tested with Version 4.0 of
Mathemattea. If you use the Notebook frontend, your interaction
with Mathematica will look a bit different from the way it is
presented in the book, but the results will be the same. Numbering
of your inputs happens only after they have been sent to kernel for
evaluation (with Shift- Return or ENTER), because the number is
given out by the kernel, rather than by the frontend. An example
Notebook is reproduced on page 95. Please note that each example
has been computed in a fresh Mathematica session. We recommend
that you begin new sessions to avoid any influences from previous
computations whenever the numbering of the input lines restarts at
1. Under the Notebook frontend, you can choose the menu
command Quit Kernel to start a fresh kernel. The frontend allows
you to store your programs and your sample computations in the
same document (the Notebook) and to open them again in the
future. We recommend, however, that you store packages in
separate files, and read them into Mathematica using <<filey. This
command to read in a package is often not shown in the dialogs in
this book. If you want to reproduce the examples, you must read the
appropriate programs into Mathematica first. Electronic Resources All
programs mentioned in this book are available in machine-readable
form from the book's Web site, located at
http://www.mathconsult.ch/CSM/. There, you will find compressed
archives of all files ready to download. Pack- Packages have the
extension .m; Notebooks have the extension .nb. Both kinds of files
can be opened with the frontend. Packages can be read into the
kernel directly (using «CSMV filex) and can also be opened with any
text editor (in ASCII mode). The archive should be extracted into the
AddOns/Applications subdirectory of your Mathe- Mathematica
installation directory. Extraction will create a subdirectory CSM inside
the Applications directory. Mathematica can display its own
installation In[l]:» ITopDirectory directory. The value of
$TopDirectory Out[1]= /usr/local/Mathematica will reflect the actual
place where you in- installed Mathematica on your computer. If you
installed the files correctly, this simple In[2]:= « CSM* Test' test
should give the result shown here. Note ^ CSM packages ^e
correctly installed in the use of the backquote * as a machine-
independent way to specify directories and
/usr/local/Mathematica/AddOns/Applications/CSM files. All packages
mentioned in this book can be In[3]:= <<
CSM'ComplexPareunetricPlot* loaded by prefixing their name with
the di- directory, CSM.

About This Book xvii Please refer to the book's Web site for up-to-
date information on available archive formats and detailed
installation instructions. The programs are protected by copyright.
You may copy them only for your personal use. If this book is a
required text in a class you teach, you may also make the programs
available to your students on the computer network used for the
exercise sessions. To copy otherwise requires prior written
permission from the author. The author and Cambridge University
Press, Ltd., make no representations, expressed or implied, with
respect to this software, including, without limitations, any implied
warranties of merchantability or fitness for a particular purpose, all
of which are disclaimed expressly. The author or Cambridge
University Press, their licensees, distributors, or dealers shall in no
event be liable for any indirect, incidental, or consequential
damages. In addition to the programs, the book's Web site contains
other information, such as notebooks, updates, a list of errata, and
the archive of the mailing list intended for readers of this book. I
encourage you to join the mailing list. Please see the Web site for
details. Notation and Terminology Mathematica input and output is
typeset in a typewriterlike style (in the Courier font): Expand[ (x+y)
*9]. Parts of Mathematica expressions not to be entered verbatim,
but denot- denoting (meta) variables, are set in italic: f [var_] : =
body. Functions or commands are denoted by their name, followed
by an empty argument list in square brackets: Expand[]. Program
listings are delimited by horizontal lines: a[l] = a[2] = 1
a[n_Integer?Positive] := a[n] = a[a[n-l]] + a[n-l-a[n-l]] A sequence
by John H. Conway. A program package is identified by name (the
context name, as we shall see) - for example, Complex. The files
used for storing successive versions of this package will be named
Complexi .m, Complex2.m, and so on. The final version will be called
Complex.m. Mathematica dialog is set in two columns. The left
column contains explanations; the right column contains input and
output, including graphics. This form of presentation is derived from
The Mathematica Book. As usual, we will clarify program structure
by indentation. Mathematica allows writing deeply nested
expressions. It is, therefore, often necessary to break such
expressions into multiple lines.

xviii About This Book Here is an example of such a dialog. You In[l]
:= Factor[ i*34 - 1 ] would enter only the input set in boldface.
out[i]= (-1 + x) A + x) The prompt In[l] := is printed by Math-
ematica. If you work with the Notebook A _ x + x2 _ x3 + x4 _ x5 +
x6 _ J + x8 _ frontend, this prompt will appear after you evaluate
your input with ENTER. 10 n 12 13 14 15 16. J x-x+x-x+x-x+x)
23456789 A+x+x +x +i +x + x + x + x + x + 10 11 12 13 14 15 16
I +X + X +X + X +X +X) In most programming languages, you can
define procedures, functions, or subroutines. Mathe- Mathematica
uses only one mechanism, called definitions, which look like / [rc_] :
= def. Chapter 2 provides a short explanation of the elements of
Mathematical programming language. A more in-depth presentation
is given in Appendix B. The table on page xx lists the mathematical
notations that we use. Equations, figures, program listings, and
tables are numbered by section. For example, Equation 3.1-1 is the
first equation in Section 3.1. Colophon Mathematica dialogs were
computed on a Sun ULTRAsparc II with Version 4.0 of Mathematica
using the initialization file init.m reproduced here. Format
[Continuation!!.]] :» "" SeedRandom[10000] Off[ General::spell,
General::spelll ] Unprotect[Short] Short[e_] := Short[e, 2] (* lines
are very short *) Protect[Short] Set0ptions[ Plot3D, AspectRatio ->
Automatic, PlotPoints -> 35 ] Set0ptions[ Graphics3D, AspectRatio -
> Automatic ] Set0ptions[ ParametricPlot, AspectRatio -> Automatic
] SetDptions[ ParametricPlot3D, Axes -> None ]
Needs["ProgrammingInMathematicax0ptions*"] SetAllDptions[
ColorOutput -> GrayLevel ] $DefaultFont = {"Times-Roman", 9.0} (¦
font in graphics ¦) Set0ptions["stdout", PageWidth->56] (¦ line width
¦) init.m: Mathematica initialization for this book. The manuscript is
written in L&TgX [40] (with many custom macros). It contains only
the input of the sample computations. The results were computed by
Mathematica and were inserted

About This Book xix automatically into the file. The bibliography was
produced with BffiTgX [59J, and the index was sorted with
makeindex [41]. Those figures not produced with Mathematica were
designed with FrameMaker and included in PostScript form. The
reproductions of Notebooks and help screens were taken from the
computer's screen. Finally, the output of LJTgX was converted into
PostScript and phototypeset.
About This Book \gx logx gcd(a, b) a | b a mod b a div b signx n! N
Z zp R C i [r\ \r] x^y n(x) a1 v.w a 0 b divv grad s V2.s d dx d 7$x x
h-> y Xx.t(x) [x —> a]e pAq pVq p^q rUs rDs r — s r N s logarithm
to base 2, log2 x natural logarithm (base e) greatest common divisor
a divides b remainder when a is divided by b integer part of the
quotient a/b sign of x n factorial, n! = n(n - l)(n - 2) • ¦ ¦ 1; 0! = 1
set of nonnegative integers {0, 1,2,...} ring of integers {0, ± 1,
±2,...} residue classes modulo p field of real numbers field of
complex numbers imaginary unit, i = y/—l largest integer < r
smallest integer > r approximate equality of x and y number of
primes < x transpose of matrix a dot product of vectors v and w
outer product of tensors a and b divergence of vector field v
gradient of scalar field s Laplace operator, V2.s = div grad s total
derivative w.r.t. x partial derivative w.r.t. x mapping of x to y lambda
expression (pure function) substitution of x by a in e p AND? pORq p
implies q union of sets r and s intersection of sets r and s difference
of sets r and s join of relations r and s Mathematical Notation Used
in This Book.

Chapter 1 Computers and Science

In the first section of this chapter we show how typical scientific


problems can be solved with the help of a computer. We also discuss
methods to develop programs to solve these problems. Section 1.2
covers computers and operating systems. We describe the historic
development and operating principles of a modern workstation.
Programming languages have developed along with hardware. In
Section 1.3, we look at a program in several forms - from machine
language to a higher-level programming language. An overview over
the branches of computer science (Section 1.4) concludes the
chapter. About the illustration overleaf: The illustration shows one of
the simplest functions leading to chaotic behavior. We iterated the
map /: x h-> 4x(l — x). The first nine iterations with three nearby
starting values are displayed. These values separate more and more,
and show quite different behavior after only eight iterations. The
picture was produced with the command (see Pictures.m): AnimateC
Random documents with unrelated
content Scribd suggests to you:
Is liev’lingskind nu van ’t geluk,
In ’t kort … u krijgt een decoratie!
Van daag nog zal u ’t ridderkruis
In glorie op uw borst zelf hechten!

Brand.
Ik heb een zwaarder kruis te dragen;
Neem’ dàt van mij af, wie het kan.

D e B a l j u w.
Wat ’s dat? U schijnt niet erg getroffen
Door ’t gunstbewijs van hooger hand?
U is mij absoluut een raadsel!
Maar, ’k bid u, denk toch even na …

B r a n d (stampvoetend).

Al dat gepraat geeft niemendal;…


’k Ga even wijs weg als ik kwam;
U heeft niets van den zin gevat,
Die achter al mijn woorden lag.
Ik meende niet de grootheid, die
Gemeten wordt bij voet en duimen;
Maar die terugstraalt, schoon verborgen,
Ons koud doorhuivert, heet doet gloeien,
Die lokt tot droomen en verwijlen,
Die opheft als een sterrennacht,
Die, die … laat mij alleen! ’k Ben moe;…
Bewijs, verklaar, praat tegen andren …

(gaat de hoogte op naar de kerk).

D e B a l j u w.
Wie daar nu toch uit wijs kan worden,
En hem begrijpen? Grootheid die
Zit in iets dat terug moet stralen,
Dat niet te meten is bij duimen?
En sterrennacht? Zoo zei hij immers?…
Had hij te goed gedéjeuneerd soms?… (af).

B r a n d (komt weer uit de kerk).

Zoo eenzaam in het woest gebergte


Was ik nog nooit, als ’k hier nu sta;
Op welke vraag ook, nooit een weerklank,
Maar dom gekwaak en leuterpraat.

(kijkt in de richting waar de baljuw heenging).

Hèm zou ik wel vertrappen willen!


Zoo dikwijls ik poog op te heffen
Zijn geest, uit laag geknoei en logen,
Spuwt hij mij nog zijn vuile ziel
Brutaalweg vlak in mijn gezicht!…
O, Agnes, waarom ging je heen?
Mij maakt dit onnut spel zoo moe.
Waar niemand wint en niemand wijkt,
Sta ik als strijder heel alleen!

D e P r o o s t (komt op).

O mijn kindren! O mijne lamren …!


O neen, pardon,… ik wilde zeggen:
Mijn ambtgenoot! Dat komt door ’t feest … ja …
Mijn preek spookt mij wat door het hoofd;
’k Heb die pas gistren bestudeerd …
Nu ligt zij mij zoo versch nog bij.
Doch al genoeg … Aan u mijn dank,
U, die zoo dapper brak het ijs,
Ging tusschen twist en praatjes door,
Neerhaalde wat reeds was vervallen,
En groot en waardig ’t nieuwe bouwde.
Brand.
Zóó ver is ’t nog niet.

De Proost.
Zoo, mijn waarde,
Ontbreekt er meer nog dan de wijding?

Brand.
In ’t nieuwgebouwde huis behoort
Een weergeboren, reine geest.

De Proost.
Och, zoo iets komt ook wel van zelf.
Zoo’n groot en mooi versierd gewelf,
Zoo’n lichte ruimte brengt ook mee
Dat ’t volk zich wel wat reiner houdt.
En dan die mooie acoustiek,
Die ieder woord geeft dubb’le kracht,
Moet der gemeenteleden g’loof
Verhonderdvoudigen per hoofd.
Dat zijn in waarheid resultaten,
Zooals zelfs niet in groote steden
Er beter aan te wijzen zijn …
Dat alles danken wij aan u;
Neem daarvoor van een ambtgenoot
Den diepgevoelden dank, die wel
Aan het diner gevolgd zal worden,
Op dezen dag … uw eeredag!…
Door menig warm, geestdriftig woord
Van onze jongre geestlijkheid …
Maar, waarde Brand, wat ziet u bleek …

Brand.
Al lang ontzonk mij kracht en moed.
De Proost.
Geen wonder ook;… bij zooveel zorgen,
En alles zonder hulp en steun.
Maar nu is ’t ergste ook geleden,
En reeds loont ons een schoone dag.
Maar goeden moed; het zal wel gaan!
Zoo vele duizenden zijn hier
Uit verre streken saamgekomen;
Zeg zelf nu maar … Wie neemt het op
In reednaarsgaven tegen u?
Kijk, heel uw ambtgenooten-schaar
Ontvangt u nu met open armen,
En der gemeenteleden harten
Zijn vol van warmen dank aan u!
En ’t bouwwerk dat zoo goed gelukt is!
En dat het hier zoo mooi versierd is!
En dan de dagtekst … hoe verheven!
En ’t ongeëvenaard diner!
Ik was juist in de pastorie
Toen daar voor ’t feest het kalf geslacht werd.
In waarheid, Brand, een prachtig dier!
Ik dacht zoo, dat heeft heel wat in
Om zulk een lekker stuk te vinden
In dezen moeielijken tijd,
Nu ’t vleesch zoo duur is tegenwoordig.
Maar laat ons dat tot straks bewaren.
Iets anders nog dreef mij hierheen.

Brand.
Spreek op maar; snijd, steek, scheur en kerf!

De Proost.
Mijn climax, vriend, is minder pijnlijk.
Doch kort zijn; veel tijd is er niet.
Er is een enkel punt, waarin
Van heden af u moet verandren,
En dat zal vast niet moeilijk zijn.
Ja, ik vermoed, dat u zoo half wel
Kan raden al, waarop ik zinspeel?
’t Betreft uw opvatting van ambtsplicht.
Tot nu toe heeft u niet genoeg
Gewoonte en gebruik ontzien;
En toch, die beide zijn ’t voornaamste,
Zoo al niet eigenlijk het hoogste.
Nu ja, och Heer, ’k wil niet berispen,
U is nog jong, een nieuweling,
U komt pas uit een groote stad,
Kan hier de toestanden niet kennen …
Maar nu, mijn waarde, is het noodig
De zaak wat juister op te vatten.
Tot nu toe ging u ’t meest ter harte
Wat iedre ziel voor zich behoeft;
Een grove fout … dit onder ons …
Men moet de massa samen wegen;
Scheer allen over ééne kam.
Gerust, daar vaart u ’t beste bij!

Brand.
Verklaar u nader!

De Proost.
Kijk eens hier,…
U bouwde hier tot aller heil
Een kerk. Die is als ’t feestgewaad
Des vredes en van recht en wet;
Want in den godsdienst ziet de Staat
De macht, die ’t meest doet ter beschaving …
Het bolwerk van zijn vast vertrouwen,
En ’t richtsnoer der moraliteit.
Ziet u, de Staat is niet heel rijk,
En die wil waarde voor zijn geld.
Goed Christen, zegt men daar, goed burger
Denkt u dat die het geld verdoet
Voor ’t menschdom, en God ten believe?
En om ’t zich moeielijk te maken?
Neen, zoo gek is de Staat nu niet;
En ’t zag voor allen er slecht uit
Zoo, nauwgezet de Staat en streng,
Niet meer dan dàt voor oogen had.
Doch ’t doel bereikt de Staat alleen
Door middel van zijn ambtenaars,
In dit geval dus door den leeraar …

Brand.
Elk woord is wijsheid! Spreek!

De Proost.
Er blijft nu
Niet veel te zeggen meer. U schonk dus
Den Staat die kerk te zijnen bate,
En daaruit volgt dat thans uw arbeid
Tot steun van Kerk en Staat moet dienen.
In dezen geest zie ik het feest,
Dat wij zoo aanstonds zullen vieren;
Zóó zullen ook de klokken luiden,
Zóó leest men dan den schenkingsbrief.
En mèt de schenking, dus, belooft u,
Nu ook te doen wat ’k u gevraagd heb …

Brand.
Bij God, zoo was het niet bedoeld!

De Proost.
Ja, vriendlief, maar nu is ’t te laat …
Brand.
Te laat? Dat zullen wij eens zien!

De Proost.
’k Moet om u lachen! Wees toch wijs!
Waarover maakt u nu zoo’n drukte?
Wat u belooft, daar steekt geen kwaad in!
Geen enkle ziel die schade lijdt
Als tevens u den Staat wil dienen;
Twee vliegen kan u in één klap slaan,
Als u het maar verstandig aanlegt.
’t Is niet uw werk om Jan en Piet
Te redden van het vuur der hel,
Maar de gemeenteleden àllen
Aan de genadebron te laven.
Wordt ’t heele kerspel dan verlost,
Heeft dus ook ieder deel daaraan.
De Staat is, u zal ’t vast niet weten,
Precies republikeinsch ten halve;
Hij haat de vrijheid als den dood,
Maar ziet gelijkheid graag genoeg;
Gelijkheid vindt men echter nooit
Vóór, wat oneven is, geslecht wordt,…
En dàt is ’t juist wat u niet doet!
Integendeel u heeft bevorderd
Wat ongelijk en ongewoon is.
Eertijds kwam dat nooit zoo aan ’t licht.
Een ieder was lid van de Kerk.
Nu heeft elk een persoonlijkheid;
En dat komt niet den Staat ten goede.
En daarom gaat ’t dan ook zoo moeilijk
Gelijkheidsbijdragen te innen,
En andere gemeente-goedren,
Omdat de Kerk niet meer de hoed is
Die passen moet op alle hoofden.
Brand.
Welk een vooruitzicht opent zich!

De Proost.
Niet moedloos zijn; dat baat u niets;
Hoewel onloochenbaar hier heerscht
Een warboel, die een gruwel is.
Maar waar nog leven is, is hoop.
En door de schenking komt te meer
Uw plicht uit, naamlijk om te werken
Voor ’t heil van Kerk en Staat nu beide.
Bij alles hoort toch regelmaat,
Zal niet verspreider krachten spel
Dol, als een ongetemd wild veulen,
Vernielen griend en haag en grenspaal
Van overleev’ring en gewoonte.
In iedre orde heerscht één wet,
Al draagt die ook een andren naam.
Men noemt haar “school” voor schoone kunsten;
Bij de soldaten, als ik mij
Nog goed herinner is ’t “de pas”.
Ja, dat is ’t woord, mijn waarde vriend!
Daar moet het heen, zoo meent de Staat.
Hij acht den “looppas” veel te snel;
“Markeert den pas”, niet snel genoeg;
Maar ieder in denzelfden pas,
En ieder even groote passen,…
Kijk, dat is ’t doel waarheen wij streven!

Brand.
De goot voor d’adelaar;… hoog boven
De wolken zweven, voor de ganzen!

De Proost.
Nu, dieren zijn wij, Goddank niet;…
Maar wil u poëzie en fabels,
Die vindt men in den bijbel wel.
Die is er vol van; wemelt zelfs
Van Genesis tot de Openbaring
Van vele leerrijke parabels.
Ik wijs bijvoorbeeld enkel op
Het bouwen van den Babeltoren!
Hoe ver kwam ’t arme menschdom daar?
En dat waardoor? Licht te verklaren,
Zij bleven niet in de geleed’ren,
Zij spraken elk hun eigen taal,
Niet samen trokken ze onder ’t juk …
Zij werden tot persoonlijkheden.
Dit is de ééne helft der kernen
Verborgen in der fabel schaal:
Wie zich van andren houdt gescheiden,
Blijft eenzaam en komt licht ten val.
Wien God in ’s levens strijd wil neerslaan
Dien maakt hij tot individu.
En eertijds zeiden de Romeinen:
De goden roofden hem ’t verstand.
Maar gek en eenzaam dat is ’t zelfde,
En daarom moet wie eenzaam staat
Ten slotte ’t zelfde lot verwachten
Als hem,… dien David zond ten strijde
In ’t heetst gevecht,… Uria, trof.

Brand.
Wel mooglijk, ja; maar wat dan nog?
’k Zie in den dood geen ondergang.
En is u er zoo zeker van
Dat waren zij die bouwden één
Van taal geweest, en één van zin,
Het hun gelukt zou zijn den toren
Tot in den hemel op te trekken?
De Proost.
Tot in den hemel? Neen, volstrekt niet;
Tot in den hemel reikt er niemand.
Dàt is de andre helft der kernen
Verborgen in der fabel schaal:
Dat ieder bouwwerk komt ten val
Dat streven wil naar ’s hemels sterren.

Brand.
De Jacobsladder rees zoo hoog toch,
En ’t ziele-smachten reikt ten hemel!

De Proost.
Bedoelt u ’t zóó! Ja, lieve hemel!
Daarover valt niets meer te zeggen.
Natuurlijk is de hemel ’t loon
Voor ’n leven welbesteed en vroom.
Maar g’loof en leven te vermengen
Schaadt beiden; ’t één is niet het ander;…
Zes dagen zijn er om te werken,
De zevende is voor zielezorgen;
Stond heel de week het Godshuis open,
Wie zou er dan nog Zondags komen?
’t Verzwakt de loutringskracht van ’t woord,
Zoo u niet met verstand het spaart;
Want godsdienst, evenals de kunst
Moet niet zich oplossen in damp.
U mag uw idealen zien
Van ’s kansels heilig toevluchtsoord …
Maar leg ze weg met ’t ambtsgewaad,
Zoodra u weer in ’t leven staat.
Zoo ’k zei, er is een wet in alles,
Die strenge zelfbeperking eischt,
En ’t is om dit in ’t licht te stellen …
Wat noodig was … dat ’k tot u sprak.
Brand.
Eén ding begrijp ik: voor mij passen
De staatsbegrippen van mijn ambt niet.

De Proost.
Jawel, vriend, u kan juist veel goed doen,…
Maar niet hier … u moet hooger op;…
In andre sfeer …

Brand.
Is ’t daarvoor noodig
Dat ’k eerst gesleurd word door het slijk?

De Proost.
Wie zich vernedert wordt verhoogd.
Zal ’t haakje pakken, moet men ’t buigen.

Brand.
U moet, wien u gebruikt eerst dooden!

De Proost.
God sta mij bij! Wat denkt u nu,
Dat ik zoo iets …?

Brand.
Jawel! Zoo is ’t!
Eerst iemand langzaam doen verbloeden!
Als een geraamte past men eerst
In jullie bloedloos bleek bestaan!

De Proost.
Ik zou geen kat nog ader laten,
Veel minder u, begrijp mij toch!
Ik dacht alleen dat het geen kwaad kon
Als ik u even wees den weg,
Waar langs ik ben vooruit gekomen.

Brand.
Beseft u ook wàt u verlangd heeft?
Dat ik bij ’t eerste haangekraai
Van ’t Rijk, verloochnen zal ál wat
Mijn ideaal was waar ’k voor leefde!

De Proost.
Verloochnen, vriend? Wie eischt er dat?
Ik wees alleen maar op uw plicht;
Ik wil dat u op zij zal zetten
Wat uw gemeente niet tot nut is.
Bewaar het alles, als u wil,…
Maar hoû ’t hermetisch achter slot.
Dweep in uw binnenste als ’t dan moet,
Niet voor het volk, in ’t openbaar.
G’loof mij: het wreekt zich op den duur,
Als men stijfhoofdig blijft en tuchtloos.

Brand.
Ja, angst voor straf, hoop op belooning,
Als ’t Kaïnsmerk staat ’t op jouw voorhoofd;
En schreeuwt het uit, hoe wereldwijs jij
Den Abel in je ziel gedood hebt!

D e P r o o s t (in zichzelf).

Hij zegt waarachtig “jij” en “jou”;


Dat gaat te ver! (luid) Ik wil nu niet
Den strijd doen duren, maar ik moet
U nogmaals vragen in te zien,…
Gesteld dat u vooruit wil komen …
In wat voor land, in welk een tijd
U leeft; want niemand wint den strijd
Als hij niet meegaat met de strooming.
Kijk naar de artisten, naar de dichters:
Verachten die der tijden plichten?
Zie de soldaten, dragen zij nog
Een scherpe sabel in de schede?
Welneen! Omdat een wet gebiedt:
Voeg u naar wat uw land behoeft.
Zijn eigen ik moet ieder temmen,
Niet uitsteken en niet vooròp gaan,
Zich in de massa stil verbergen.
Humaan is ’t wachtwoord, zegt de baljuw.
Als u ’t nu maar humaan aanlegde
Kon u nog mooi carrière maken.
Maar eerst de kantjes afgeslepen,
En afgeschaafd wat hobb’lig is;
Glad moet u wezen als de andren,
En niet op eigen wegen wandlen
Zal, wat u doet, ook duurzaam zijn.

Brand.
Weg, weg van hier!

De Proost.
Ja, dat is waar;
Een man als u, ’k begrijp het goed,
Verlangt een beetren arbeidskring;
Maar, zal u ooit tevreden zijn
In ruimen of in kleinen kring,
Moet u de tijdslivrei aantrekken.
De korporaal moet met den stok
De maat er in slaan bij het volk.
Want ’t ideaal van een die vóórgaat
Is thans bij ons, een korporaal.
Zooals de korporaal zijn menschen
Ter kerke leidt, in het gelid,
Zoo moet u de gemeente leiden
Als herder naar het Paradijs,
’t Gaat zoo gemaklijk; voor ’t geloof
Heeft u, als leeraar, het gezag;
En daar dat weer op studie steunt
Neemt men ’t ook blindelings wel aan.
En hoe de leer u moet verkond’gen
Dat toont u wet en ritueel wel.
Dus, broeder … niet ontmoedigd zijn,
Om na te denken is ’t nog tijd;
Begrijp den toestand, wees niet angstig!…
’k Wil in de kerk nog eens beproeven
Of ik met luider stem kan spreken;
’k Ben niet gewend aan zooveel klank,…
Die komt hier maar zoo zelden voor.
Tot weerziens; straks zal ’k preeken over
De tweespalt in der menschen ziel,
En hoe Gods beeltnis uitgewischt is,…
Maar nu wordt ’t, dunkt mij, wel haast tijd
Om ’n kleine hartsterking te nemen (af).

B r a n d (staat een oogenblik als versteend in zijn gedachten).

’k Bracht ’t al ten offer voor mijn werk,


Voor Gods werk, meende ik in verblindheid;
Daar klonk ééndaags-trompetgeschal
En wees mij welken geest ik diende.
Neen, neen! Zij hebben mij nog niet!
Die kerk daarginds heeft bloed gedronken;
Mijn licht, mijn leven gaf ’k er voor;
Maar toch, mijn ziel zal ik behouden!
Ontzettend is ’t alleen te staan,…
Waarheen ik zie den dood te ontwaren;
Ontzettend, zóó naar brood te hongren,
Als men u niets dan steenen reikt.
Wat sprak hij angstverwekkend waar,…
Doch welk een afgrond werd onthuld!
Gods heil’ge duive zit verborgen,
Bracht nooit nog klaarheid over mij!…
O, stond in ’t g’loof maar één mij na …
Die mij weer kalmte gaf en rust!

(Ejnar bleek, uitgeteerd, in ’t zwart gekleed, komt op den weg voorbij en


blijft staan als hij Brand ziet).

B r a n d (uitroepend:)

Jij, Ejnar!

E j n a r.
Ja, zoo is mijn naam.

Brand.
Juist nu ’k naar iemand zoo verlang
Wiens hart niet is van hout of steen!
O, Ejnar, kom hier in mijn armen!

E j n a r.
Dat hoeft niet; ik ben al geborgen.

Brand.
Je koestert wrok na zooveel jaren,
Om wat er eens gebeurd is?

E j n a r.
Neen;
Jij hebt geen schuld. Ik zie in jou
Het blinde werktuig, dat Gods liefde
Mij toezond, toen ik was verdwaald.
B r a n d (wijkt terug).

Wat ’s dat voor taal?

E j n a r.
De taal der ruste,…
Die iemand leert, als hij der zonde
Gewaad aflegt, en wordt herboren.

Brand.
Verwonderlijk! Ik had gehoord
Dat jij toenmaals heel andre wegen
Had ingeslagen …

E j n a r.
’k Was verleid
Door hoogmoed, trotsch op eigen krachten.
De gaven, die de wereld aankweekt,
’t Talent, dat men zoo vaak geroemd heeft,
Mijn zangkunst, ’t waren enkel strikken,
Die mij in Satans netten trokken.
Maar God zij dank; hij had mij lief,
Hij liet zijn zwakke lam niet los;
Hij hielp mij, toen het noodig was.

Brand.
Op welke wijze?

E j n a r.
Ik verviel …

Brand.
Verviel? Waartoe?

E j n a r.
Tot drank en spel;
Hij deed naar ’t dobbelspel mij grijpen …

Brand.
En noem je dàt een daad des Heeren?

E j n a r.
’t Was tot verlossing de eerste stap.
Daarna werd ik een tijdlang ziek.
’k Verloor mijn werklust, mijn talent,
En al mijn vroolijkheid verdween.
Toen zond men mij naar ’t ziekenhuis;
Lang lag ik ziek, in heete koortsen …
Ik meende dat ’k in alle kamers
Zag duizenden heel groote vliegen,…
Kwam er weer uit en maakte kennis
Met zusters, die in ’s hemels dienst staan,
Verloren zielen zoekend rondgaan;
En dezen, met een theoloog,
Verlosten mij van ’s werelds juk,
Bevrijdden mij uit ’t net der zonde
En maakten mij tot ’n kind des Heeren.

Brand.
Zoo.

E j n a r.
Ja. Eén pad leidt door het dal;
Het andere langs een steile helling.

Brand.
En later?

E j n a r.
Later? Ja, dat ’s waar;
Toen ben ’k geweest onthoudingsleeraar.
Maar daarbij loopt men groot gevaar
Weer in verzoeking te geraken;
Ik zocht daarom iets anders weer,
Ik ga nu weg als zendeling …

Brand.
Waarheen?

E j n a r.
Naar ’t land der woeste negers
Maar ’t best is dat wij nu maar scheiden!
Mijn tijd is kostbaar …

Brand.
Blijf je niet?
’t Is feest van daag hier.

E j n a r.
Dank je wel;
Mijn plaats is bij de zwarte zielen.
Vaarwel! (wil gaan).

Brand.
Dringt geen herinnering
Je te verwijlen en te vragen …?

E j n a r.
Waarnaar?

Brand.
Naar een, die zou betreuren
Den afgrond tusschen nu en toen …

E j n a r.
Ja, ik begrijp, je denkt wellicht
Nog aan die jonge vrouw van toen,
Die me in haar netten hield gevangen,
Vóór ik door ’t g’loof nog was gereinigd.
Wel, hoe is het met haar gesteld?

Brand.
Zij werd een jaar daarna mijn vrouw.

E j n a r.
Dàt heeft geen beteeknis; aan zóó iets
Schenk ik volstrekt geen aandacht meer?
Dat waar ’t op aankomt zeg me alleen.

Brand.
Ons leven was gezegend rijk
Met vreugd en leed; ons kindje stierf …

E j n a r.
Heeft geen beteeknis.

Brand.
Dat óók niet?

E j n a r.
Naar zulke dingen vraag ik niet;
’k Wil weten hoe zij is gestorven.

Brand.
Met blijde hoop op ’t morgenrood,
Met heel den rijkdom van haar hart,
Met vasten wil tot ’t laatste toe;…
Met dank voor al wat ’t leven gaf
En nam, zoo ging zij in haar graf.
E j n a r.
Dat alles is maar woordenpraal;
Zeg hoe het stond met haar geloof?

Brand.
Onwrikbaar.

E j n a r.
In wien?

Brand.
In haar God!

E j n a r.
Alleen in hem? Dat is haar oordeel!

Brand.
Wat zeg je daar?

E j n a r.
Verdoemd, helaas.

B r a n d (kalm).

Loop heen, lummel!

E j n a r.
De Heer der helle
Heeft in zijn greep ook jou te pakken;…
Zoo goed als zij zal je eeuwig branden.

Brand.
Ellendeling, durf jij verdoemen!
Die zelf lag in een poel van zonden …
E j n a r.
Op mij kleeft nu geen enkle smet;
Ik ben gereinigd door het g’loof;
En alles wat er onrein was
Wies ware heiligheid mij af;
Gereinigd is mijn Adamskleed
Door der ontwaking klophout-slag;
En als een koorhemd ben ik blank,
Gebleekt door ’t loogbad des gebeds.

Brand.
Schaam je!

E j n a r.
Insgelijks. ’k Ruik zwavelstank,
En ’k zie den duivel om den hoek staan.
Ik ben een korrel hemelsch koren,…
Jij in de zeef van ’t oordeel … kaf. (af).

B r a n d (kijkt hem een oogenblik na; plotseling schitteren zijn oogen en


hij barst uit:)

Naar dien man moest ik verlangen!


Nu zijn alle banden los;
Eigen vlag zal ik ontplooien,
Al ging niemand met mij mee!

D e B a l j u w (komt haastig op).

Waarde Brand, ’t is haasten, haasten!


Heel de schare voor den optocht
Staat gereed om uit te trekken …

Brand.
Laat hen komen.
D e B a l j u w.
Zonder u!
Denk eens na, spoed u naar huis!
’t Volk wil al niet langer wachten;
Al die goede menschen dringen
Als een bergrivier in ’t voorjaar,
Naar de pastorie opstuwend,
Roepen dat ze u willen zien.
Hoor maar, daar klinkt weer hun roepen!
Haast u, want ik vrees zij mochten
Niet humaan te werk eens gaan.

Brand.
Nooit meer zal ’k mijn voorhoofd buigen
In hun midden, met u gaan;
Ik blijf hier.

D e B a l j u w.
Is u krankzinnig?

Brand.
Uw weg is voor mij te smal.

D e B a l j u w.
Die wordt smaller nog hoe langer
Meer en meer het volk gaat dringen;
Kijk, daar heb je ’t al, waarachtig!
Proost en priesters, ambtenaars
Allemaal op zij gedrongen …;
Kom toch, kom toch, sla d’r op los!
Laat uw invloed zich doen gelden!
Al te laat! de rijen breken;
Heel de optocht loopt in ’t honderd!
(De menigte stroomt naar binnen en breekt in woeste wanorde door den
feeststoet heen naar de kerk toe).

Enkele stemmen.
Brand!

A n d e r e (wijzen naar de trappen van de kerk, waar Brand staat en


roepen:)

Kijk daar!

We e r a n d e re .
Geef nu het teeken!

D e P r o o s t (in het gedrang).

Baljuw, hoû het volk toch tegen!

D e B a l j u w.
Ik heb heden niets te zeggen!

D e S c h o o l m e e s t e r.
Spreek een enkel woord tot hen,
Dat hen tot bedaren brengt!
Is ’t iets slechts of is ’t iets goeds
Wat er hier gebeuren moet?

Brand.
O, er gaat dus nog een strooming
Door hun drukkend loome kalmte!
Menschen, gij staat aan den kruisweg,
’t Nieuwe moet geheel gij willen,…
Puin en vuil van ’t oude wegdoen,…
Vóór de tempel, hoog en groot
Oprijst tot een bedehuis!
De Ambtenaren.
Hoor, hij raaskalt!

De Geestelijken.
Hij is gek!

Brand.
Ja, dat wàs ik, toen ik meende
Dat gij, hoe dan ook, toch diende
Hem, die geest en waarheid wil!
En ik was het, toen ik dacht,
Dat ik hem u nader bracht
Lonkend, dingend, met den Heer;
Klein was maar het oude kerkje,
En ik redeneerde zoo:
Eéns zoo groot,… dat slaat wel in;
Vijfmaal grooter … dàt moet goed doen!
En ik zag niet hoe ’t weer gold
’t Oude alles of wel niets.
Transigeerend dwaalde ik af.
Maar op heden sprak de Heer.
De bazuin des Oordeels heeft er
Over ’t huis zoo juist geklonken,…
En ik, luistrend, angstig, bevend,
Klein, als David stond voor Nathan,
Was verslagen, stom van schrik;…
Nu is alle twijfel weg.
Schipp’ren blijft een werk des Duivels!

D e M e n i g t e (in stijgende opwinding).

Weg met hen die ons verblindden!


Doodt, wie stalen onze krachten!

Brand.
Gij liet door den Booze u
’n Blinddoek voor de oogen binden,
Klein verdeeld hebt gij uw krachten,
U verbrokkeld en gekloofd;
Daardoor zijt gij zwak en hol nu,
Niemand krachtig, sterk en heel.
Wat zoekt gij hier in de kerk?
’t Is de praal maar die u lokt,
Orgelspel en klokgelui …
Het genot van heerlijk huivren
Bij een preek vol vuur en gloed,
Die daar lispelt, die daar fluistert,
Wast en overvloeit en dondert,
Naar de regels van de kunst!

D e P r o o s t (in zichzelf).

Daarmee doelt hij op den baljuw!

D e B a l j u w (evenzoo).

Dat is op den proost gemunt!

Brand.
’t Is de glans der nieuwe kaarsen,
’t Uiterlijke dat gij wilt.
En dan weer naar huis in stompheid,
Weer terug in sleur en dufheid,
Lijf en ziel in werkdags-kleeren;
En diep in de kist verborgen,
Goed bezorgd, het boek des levens,
Tot er weer een Zondag komt!
O, dat was ’t niet wat ik droomde,
Toen ik al die offers bracht!
Hoog en groot wilde ik de kerk,
Dat zij overwelven zou
Niet alleen geloof en leer,
Maar àl wat God in het leven
Recht van leven heeft gegeven …
Zweet en stof van ’t zware dagwerk,
Avondrust en bange nachten,
Levenslust van jonge menschen,
Alles wat van vreugd en leed
’n Menschenziel maar kan bevatten.
’t Bruisend neerstorten van beek en
Waterval in donkren afgrond,
Tonen gierend uit den storm,
Klanken uit de zee òpklinkend,
Moesten met het orgelspel
En met ’t lied van menschenstemmen
Als bezworen, samen smelten!
Weg met ’t werk dat hier gedaan is!
’t Is alleen in leugens groot;
Rijp alweder om te vallen,
Is het uw klein-willen waardig.
Gij wilt allen wasdom dooden
Door uw werk van God te scheiden …
Zes der dagen van de week
Haalt gij Gods banier naar binnen.
En den zevenden alleen,
Ziet men haar ten hemel wapp’ren!

Stemmen uit de menigte.


Leid ons! Laat de vlag uitwaaien!
Met u zullen we overwinnen!

De Proost.
Luistert niet! Hij is geen Christen,
Hij bezit niet ’t ware g’loof.

Brand.
Ha! Daar noemt gij juist het punt …
Voor ons beiden het geschilpunt,
En voor de verbroken éénheid!
Zonder ziel kan niemand g’looven!
Wijs mij hier één ènkle ziel!
Wijs mij iemand die niet wegwierp
’t Beste wat er in hem is.
Tastend, grijpend, voorwaarts haastend,
Onder ’t jagen naar genoegens,…
Lokkend fluitend goochelspel …
Wordt gij stomp voor levensvreugd.
Uitgebrand pas en gebroken
Komen zij voor de arke dansen!
Hebben kreup’len dan en dooven
Eerst den beker leeg gedronken,…
Ja, dàn is het tijd voor boete,
Tijd voor hopen en voor bidden,
Eerst als gij uw merk verspeeld hebt,
Wordt als ’t redelooze dier,
Kruipt gij naar de hemelpoort,
Zoekend God … als invaliden!
Daarom moet zijn rijk vervallen.
Waarom zou hij aan zijn voeten
Die verlepte zielen dulden?
Heeft hij zelf het niet verkondigd …
Enkel zij, die rein van zin zijn
Als een kind, en onbedorven,
Zullen ’t hemelrijk eens erven!
Kinderzin alléén bereikt dat!
Transigeert niet met u zelven.
Komt dan allen, mannen, vrouwen,…
Komt met frissche kinderwangen,
In de groote kerk des levens!

D e B a l j u w.
Maak dan open!

D e M e n i g t e (gilt angstig).

Neen! Niet deze!

Brand.
Onze kerk heeft paal noch perken,
’t Groene aardrijk is haar vloer,
Weide of akker, zee of fjord;
’s Hemels blauw is het gewelf
Dat haar ruimte overspant.
Daar zal al uw werk gebeuren,
Dat een ieder ’t moge hooren;
Vreest niet, wat ge ook moogt volbrengen,
Haar daarmede te ontwijden.
Zij zal alles dekken, even
Als de bast den heelen stam:
Dáár wordt g’loof en leven één.
Daar zal ’t daaglijksch werken worden
Eén geheel met wet en g’loofsleer.
Daar zal ’t dagwerk voor u één zijn
Met verlangen naar het hoog’re,
’t Spel der kinderen om den kerstboom,
En den feestdans vóór de arke!

(Er gaat als een storm door de menigte; enkelen wijken terug; de meesten
scharen zich om Brand).

Duizend Stemmen.
Nu is ’t licht, waar ’t eerst was duister;…
Eén is ’t: leven… en God dienen!

De Proost.
Wee ons! hij lokt ze allen tot zich!
Helpt politie, baljuw, koster!
D e B a l j u w (gedempt).

Schreeuw toch niet zoo! Wie zal nu gaan


Vechten met een dollen stier?
Wacht tot hij is uitgeraasd.

B r a n d (tegen de menigte).

Weg van hier! Hier is God niet!


Kàn hij zijn hier bij dezulken?
Vrij en heerlijk is zijn rijk.

(Sluit de kerkdeur af en neemt de sleutels in de hand).

Hier ben ik geen priester meer.


Ik herroep wat ’k heb geschonken;…
Uit mijn hand zal niemand krijgen
Deze sleutels voor uw feest!

(gooit de sleutels in de rivier).

Wilt ge er in, gij slaaf van ’t stof,…


Kruip dan door het keldergat;
Krom uw slappen rug, en buk;
Laat in ’t donker uw verpeste
Zuchten sluipen langs den grond,
Krachtloos als uw rotte longen!

D e B a l j u w (zachtjes en verlicht).

Ha, daar gaat de ridderorde!

D e P r o o s t (evenzoo).

Zoo, die wordt geen bisschop meer!

Brand.
Kom, wie jong is,… kom wie frisch is,
Laat van u, door ’s levens adem,
Wisschen ’t stof uit ’t enge dal.
Volg mij op mijn zegetocht!
Eénmaal moet gij toch ontwaken,
Eénmaal moet gij toch, geadeld,
Breken met wat schipp’ren heet;…
Uit de ellende van uw lafheid,
Uit al wat er zwak en laag is.
Sla in ’t aangezicht uw vijand!
Strijd met hem op dood en leven!

D e B a l j u w.
Halt! Ik lees de oproersakte!

Brand.
Lees maar! Ik breek nu met alles!

De Menigte.
Wijs den weg, wij zullen volgen!

Brand.
Over ’t ijs der steile gletschers!
Heel het land door, gaan wij trekken,
Iedren zieleband ontknoopend
Die het volk gevangen houdt,…
Dan gelouterd, hoog en vrij,
Al wat traag en stomp is wegdoen,
Mannen wordend, priesters wordend,
Nieuw opdrukkend d’ ouden stempel,
Welvend ’t Godsrijk als een tempel!

(De menigte, waaronder de koster en de schoolmeester, schaart zich om


hem heen. Brand wordt opgeheven en op hun schouders gedragen).
Ve l e S t e m m e n .
Groot zijn deze dagen! groote
Dingen zal men zien gebeuren!

(De menschenmassa stroomt door het dal de hoogte op. Weinigen blijven
achter).

D e P r o o s t (tegen de weggaanden).

O, verblinden toch! Wat wilt gij?


Ziet gij niet dat Satans geest uit
Al wat hij verkondigt, spreekt?

D e B a l j u w.
Hei! Keert om, je past veel beter
In het dorp hier, kalm en stil.
Menschen hoort!… Je gaat te gronde!…
Hm, geen antwoord zelfs, die honden!

De Proost.
Denkt toch aan je huis en haard!

Stemmen uit de menigte.


’n Grooter huis rijst voor ons op!

D e B a l j u w.
Denkt aan jullie veld en akker,
Denkt aan ’t onverzorgde vee!

Stemmen.
Van den hemel daalde manna
Toen zijn volk eens honger leed!

De Proost.
Hoort je vrouwen om je jamren!
S t e m m e n (ver weg).

Wie niet meegaat moet ons vreemd zijn!

De Proost.
Kindren klagen: weg is vader!

De heele Schare.
Mèt of tegen ons, is ’t wachtwoord!

D e P r o o s t (kijkt hen een oogenblik na met gevouwen handen en zegt


dan angstvallig:)

Zonder kudde, angstig vragend,


Staat nu de oude zieleherder,
Uitgekleed tot op het hemd!

D e B a l j u w (maakt een dreigend gebaar).

Hèm zal het er naar vergaan!


Overwinnen zullen wij!

De Proost.
Overwinnen?… Zij zijn weg!

D e B a l j u w.
Ja, maar wij zijn er toch nog …
En … ik ken mijn schaapjes wel! (loopt hen na).

De Proost.
Zou hij waarlijk …? ja, zoo waar,
Achterna loopt hij de bende!
Hè, ik voel mijn moed herleven …
Dan wil ik ook mee den berg op!…
Mooglijk vang ik er wel enklen!
Leg het zadel op mijn klepper!…
Haal me een paard, vertrouwd en mak!

(allen af).

(Bij de allerhoogste tot het dorp behoorende hut. Op den achtergrond wordt
het landschap hooger en gaat over in groote kale bergvlakten. Het regent.
Brand, door de menigte, mannen, vrouwen en kinderen, vergezeld, komt den
berg op).

Brand.
Kijkt vóóruit; vóór ons ligt de zege!
Het dorp ligt achter ons, beneden.
Van berg tot berg spant dicht de mist
Er overheen haar neveltent.
Vergeet het duf bestaan daarginds,
Stijg vrij, stijg hoog, gij volk van God!

Een Man.
Mijn oude vader kan niet meer.

Een andere.
Ik at sinds gisteren niemendal …

Ve r s c h e i d e n e n .
Wij hebben honger! hebben dorst!

Brand.
Eerst over dezen berg; vooruit!

D e S c h o o l m e e s t e r. .
Langs welken weg?

Brand.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookball.com

You might also like