Computation in Science (Second Edition). Konrad Hinsen

Чтение книги онлайн.

Читать онлайн книгу Computation in Science (Second Edition) - Konrad Hinsen страница 3

Автор:
Жанр:
Серия:
Издательство:
Computation in Science (Second Edition) - Konrad Hinsen IOP ebooks

Скачать книгу

6.4 Non-reproducible determinism

       6.5 Staged computation

       6.5.1 Preserving compiled code

       6.5.2 Reproducible builds

       6.5.3 Preserving or rebuilding?

       6.6 Replicability, robustness, and reuse

       6.7 Managing software evolution

       6.8 Best practices for reproducible and replicable computational science

       6.9 Further reading

       References

       7 Outlook: scientific knowledge in the digital age

       7.1 The scientific record goes digital

       7.2 Procedural knowledge turns into software

       7.3 Machine learning: the fusion of factual and procedural knowledge

       7.4 The time scales of scientific progress and computing

       7.5 The industrialization of science

       7.6 Preparing the future

       7.7 Further reading

       References

      In the course of only a few decades, computers have revolutionized scientific research and have become indispensable tools for both experimentalists and theoreticians. More and more scientists are writing computer programs for doing their work, and practically all scientists today use computer programs written by somebody else. Sometimes they do so without even being aware of it, in particular when these programs are integrated into lab instruments.

      In spite of the ubiquitous use of computers in science, few researchers in the natural sciences have any formal training in computer science, software engineering, or numerical analysis. They usually acquire their computing knowledge ‘on the job’, and as a consequence it is usually limited to the practical knowledge required for applying computational tools. A big part of this practical knowledge is about specific computing technologies which, given the fast pace of change in this field, tend to be short-lived. Scientists often feel overwhelmed by the amount of computing knowledge they have to absorb, while at the same time lacking a solid understanding of the basic principles of the field.

      The goal of this book is to explain these basic principles, and to show how they relate to the tasks of a scientistʼs daily work in the research lab. It provides a high-level overview of those aspects of computer science and software engineering that are most relevant for computational science, using a language familiar to scientists, and places them into the context of scientific computing. References to the literature are provided for readers wishing to study a particular aspect in more depth. My hope is that this book will allow its readers to use computers with more confidence, and to see computing technologies in a different light, evaluating them on the basis of how they contribute to doing better science.

      The intended audience for this book includes both graduate students and experienced scientists. Some hands-on experience with computing is highly desirable, but no competence in any particular computing technology is expected. Most of this book is relevant to all of the natural sciences. The frontier between the physical and the life sciences is blurring, and computation plays a big part in this change. An interdisciplinary approach to computational science therefore seems the most appropriate one for the 21st century. Its main drawback is that some misunderstandings are inevitable. Even a term as basic as ‘theory’ or ‘model’ can have different meanings in different fields. My own background in theoretical physics will certainly show through occasionally. If anything I say seems strange or wrong, please consider that this may just reflect a cultural difference.

      The website at http://computation-in-science.khinsen.net/ contains complementary material to this book, in particular references to on-line material that I consider of interest for my readers. I will regularly add new references that I discover and remove links that no longer work.

      In writing this book, critical comments from a diverse team of reviewers have been invaluable. My thanks go to Jane Charlesworth, Alice della Penna, Javier Galgarra, Jeremy Gray, Chris Ing, Arnaud Legrand, Tim Rice, and in particular Ian Hawke. They have all provided valuable feedback to drafts of the text, which I hope to have used wisely for improving the presentation.

      Konrad Hinsen

      Konrad Hinsen is a research scientist with a background in statistical physics. He develops and uses computational methods for the study of complex systems. Most of his work centers around the structure and dynamics of proteins, at the interface of theory and experiment. He holds a PhD in physics from RWTH Aachen University, and conducts his research at the Centre de Biophysique Moléculaire in Orléans and at the Synchrotron SOLEIL in Saint Aubin. In addition to his research activity, he teaches courses on computational science and works as a department editor for Computing in Science and Engineering magazine.

      IOP Publishing

      Computation in Science (Second Edition)

      From concepts to practice

      Konrad Hinsen

      Chapter 1

      What is computation?

      This book is about computation in the context of scientific research. Scientists should always try to be precise about what they say, so I will start by explaining what this term actually means. It turns out that this is not as trivial as it may seem to be. Moreover, there are also pragmatic reasons for discussing the nature of computation, because a good grasp of what computation actually is makes it much easier to appreciate

Скачать книгу