Computation in Science (Second Edition)

Computation in Science (Second Edition)
Автор книги: id книги: 1931792     Оценка: 0.0     Голосов: 0     Отзывы, комментарии: 0 4470,26 руб.     (48,71$) Читать книгу Купить и скачать книгу Купить бумажную книгу Электронная книга Жанр: Программы Правообладатель и/или издательство: Ingram Дата добавления в каталог КнигаЛит: ISBN: 9780750332873 Скачать фрагмент в формате   fb2   fb2.zip Возрастное ограничение: 0+ Оглавление Отрывок из книги

Реклама. ООО «ЛитРес», ИНН: 7719571260.

Описание книги

In the course of only a few decades computers have revolutionized scientific research and more and more scientists are writing computer programs for doing their work. In spite of the ubiquitous use of computers in science, few researchers in the natural sciences have any schooling in computer science, software engineering, or numerical analysis. They usually acquire their computing knowledge «on the job» and often feel overwhelmed by the amount of computing knowledge they must absorb. Computation in Science  provides a background in computation for scientists who use computational methods. The book explains how computing is used in the natural sciences and provides a high-level overview of relevant aspects of computer science and software engineering with a focus on concepts, results, and applications. 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 a language familiar to them. Its unique feature is in connecting the dots between computational science, the theory of computation and information, and software engineering. It will compensate for the general lack of any formal training in computer science and information theory allowing readers to achieve a better understand how they use computers in their work, and how computers work. Readers will learn to use computers with more confidence, and to see computing technologies in a different light, evaluating them based on how they contribute to doing science. This new edition has been significantly updated and extended to reflect developments in scientific computing, including new examples and references. It also includes a new chapter on reproducibility which reflects the importance that computational reproducibility. Accompanied by a website maintained by the author, which hosts companion code and supplementary material, it is intended for both graduate students and experienced scientists. Some hands-on experience with computing is highly desirable, but no competence in any specific computing technology is expected. Key Features
Significantly updated and enhanced, including a new chapter on reproducibility, it's one of the first books to include this in the era of the “reproducibility crisis”Updated references to include the latest research resultsAccessible to a broad range of physical and life scientists with no formal training in computingWritten for both graduate students and experienced scientistsSupported by the website http://computation-in-science.khinsen.net/ with updates, links to useful sites and software

Оглавление

Konrad Hinsen. Computation in Science (Second Edition)

Contents

Preface

Acknowledgements

Author biography

IOP Publishing. Computation in Science (Second Edition) From concepts to practice. Konrad Hinsen. Chapter 1. What is computation?

1.1 Defining computation. 1.1.1 Numerical computation

1.1.2 From numbers to symbols

1.1.3 Non-numerical computation

1.2 The roles of computation in scientific research. Computation as a tool

Computation for understanding

Computation as a form of scientific knowledge

Computation as a model for information processing in nature

1.3 Analog computing

1.4 Further reading

References

IOP Publishing. Computation in Science (Second Edition) From concepts to practice. Konrad Hinsen. Chapter 2. Computation in science

2.1 Traditional science: celestial mechanics

2.1.1 Empirical models for planetary orbits

2.1.2 Newton’s physical model

2.2 Scientific models and computation

2.2.1 Characterizing models by computational effort

2.2.2 Empirical models: from linear regression to data science

2.2.3 Explanatory models: from simple to complex systems

2.2.4 Measuring the complexity of a model

2.2.5 Getting rid of the equations

2.3 Computation at the interface between observations and models

2.3.1 Matching models and measurements

2.3.2 Mixing models and measurements

2.4 Computation for developing insight

2.5 The impact of computing on science

2.6 Further reading

References

IOP Publishing. Computation in Science (Second Edition) From concepts to practice. Konrad Hinsen. Chapter 3. Formalizing computation

3.1 From manual computation to rewriting rules

3.2 From computing machines to automata theory

3.3 Computability

3.4 Restricted models of computation

3.5 Computational complexity

3.6 Computing with numbers

3.6.1 Floating-point numbers

3.6.2 Rational numbers

3.6.3 Computable numbers

3.7 Further reading

References

IOP Publishing. Computation in Science (Second Edition) From concepts to practice. Konrad Hinsen. Chapter 4. Automating computation

4.1 Computer architectures

4.1.1 Processors and working memory

4.1.2 Processor instruction sets

4.1.3 Special-purpose processors

4.1.4 Parallel computers

4.2 Programming languages

4.2.1 Design choices

Performance versus clarity and convenience

Verifiability versus simplicity

Computing results versus developing software tools

Generality versus adequacy for a specific purpose

Standardization versus individualism

4.2.2 Social and psychological aspects

4.3 Observing program execution

4.3.1 Debuggers: watching execution unfold

4.3.2 Profilers: measuring execution time

4.4 Software engineering

4.5 Further reading

References

IOP Publishing. Computation in Science (Second Edition) From concepts to practice. Konrad Hinsen. Chapter 5. Taming complexity

5.1 Chaos and complexity in computation

5.2 Verification, validation, and testing

5.2.1 Verification versus validation

5.2.2 Independent repetition

5.2.3 Testing

5.2.4 Redundancy

5.2.5 Proving the correctness of software

5.2.6 The pitfalls of numerical computation

5.3 Abstraction

5.3.1 Program abstractions

5.3.2 Data abstractions

5.3.3 Object-oriented programming

5.3.4 The cost of abstraction

5.4 Managing state

5.4.1 Identifying state in a program

5.4.2 Stateless computing

5.4.3 State protection

5.5 Incidental complexity and technical debt

5.6 Further reading

References

IOP Publishing. Computation in Science (Second Edition) From concepts to practice. Konrad Hinsen. Chapter 6. Computational reproducibility

6.1 Reproducibility: a core value of science

6.2 Repeating, reproducing, replicating

6.3 The role of computation in the reproducibility crisis

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

IOP Publishing. Computation in Science (Second Edition) From concepts to practice. Konrad Hinsen. Chapter 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

Отрывок из книги

Computation in Science (Second Edition)

From concepts to practice

.....

4.2.1 Design choices

4.2.2 Social and psychological aspects

.....

Добавление нового отзыва

Комментарий Поле, отмеченное звёздочкой  — обязательно к заполнению

Отзывы и комментарии читателей

Нет рецензий. Будьте первым, кто напишет рецензию на книгу Computation in Science (Second Edition)
Подняться наверх