Python for Scientific Computing and Artificial Intelligence is split into 3 parts: in Section 1, the reader is introduced to the Python programming language and shown how Python can aid in the understanding of advanced High School Mathematics. In Section 2, the reader is shown how Python can be used to solve real-world problems from a broad range of scientific disciplines. Finally, in Section 3, the reader is introduced to neural networks and shown how TensorFlow (written in Python) can be used to solve a large array of problems in Artificial Intelligence (AI).
This book was developed from a series of national and international workshops that the author has been delivering for over twenty years. The book is beginner friendly and has a strong practical emphasis on programming and computational modelling.
Features :
No prior experience of programming is required.
Online GitHub repository available with codes for readers to practice.
Covers applications and examples from biology, chemistry, computer science, data science, electrical and mechanical engineering, economics, mathematics, physics, statistics and binary oscillator computing.
Full solutions to exercises are available as Jupyter notebooks on the Web.
Support Material
GitHub Repository of Python Files and Notebooks:https://github.com/proflynch/CRC-Press/
Solutions to All Exercises:
Section 1: An Introduction to Python:https://drstephenlynch.github.io/webpages/Solutions_Section_1.html
Section 2: Python for Scientific Computing:https://drstephenlynch.github.io/webpages/Solutions_Section_2.html
Section 3: Artificial Intelligence:https://drstephenlynch.github.io/webpages/Solutions_Section_3.html
Author(s): Stephen Lynch
Series: The Python Series
Publisher: CRC Press
Year: 2023
Language: English
Pages: 334
Cover
Half Title
Series Page
Title Page
Copyright Page
Dedication
Contents
Foreword
Preface
SECTION I: An Introduction to Python
CHAPTER 1: The IDLE Integrated Development Learning Environment
1.1. INTRODUCTION
1.1.1. Tutorial One: Using Python as a Powerful Calculator (30 Minutes)
1.1.2. Tutorial Two: Lists (20 Minutes)
1.2. SIMPLE PROGRAMMING IN PYTHON
1.2.1. Tutorial Three: Defining Functions (30 Minutes)
1.2.2. Tutorial Four: For and While Loops (20 Minutes)
1.2.3. Tutorial Five: If, elif, else constructs (10 Minutes)
1.3. THE TURTLE MODULE AND FRACTALS
CHAPTER 2: Anaconda, Spyder and the Libraries NumPy, Matplotlib and SymPy
2.1. A TUTORIAL INTRODUCTION TO NUMPY
2.1.1. Tutorial One: An Introduction to NumPy and Arrays (30 Minutes)
2.2. A TUTORIAL INTRODUCTION TO MATPLOTLIB
2.2.1. Tutorial Two: Simple Plots using the Spyder Editor Window (30 minutes)
2.3. A TUTORIAL INTRODUCTION TO SYMPY
2.3.1. Tutorial Three: An Introduction to SymPy (30 Minutes)
CHAPTER 3: Jupyter Notebooks and Google Colab
3.1. JUPYTER NOTEBOOKS, CELLS, CODE AND MARKDOWN
3.2. ANIMATIONS AND INTERACTIVE PLOTS
3.3. GOOGLE COLAB AND GITHUB
CHAPTER 4: Python for AS-Level (High School) Mathematics
4.1. AS-LEVEL MATHEMATICS (PART 1)
4.2. AS-LEVEL MATHEMATICS (PART 2)
CHAPTER 5: Python for A-Level (High School) Mathematics
5.1. A-LEVEL MATHEMATICS (PART 1)
5.2. A-LEVEL MATHEMATICS (PART 2)
SECTION II: Python for Scientific Computing
CHAPTER 6: Biology
6.1. A SIMPLE POPULATION MODEL
6.2. A PREDATOR-PREY MODEL
6.3. A SIMPLE EPIDEMIC MODEL
6.4. HYSTERESIS IN SINGLE FIBER MUSCLE
CHAPTER 7: Chemistry
7.1. BALANCING CHEMICAL-REACTION EQUATIONS
7.2. CHEMICAL KINETICS
7.3. THE BELOUSOV-ZHABOTINSKI REACTION
7.4. COMMON-ION EFFECT IN SOLUBILITY
CHAPTER 8: Data Science
8.1. INTRODUCTION TO PANDAS
8.2. LINEAR PROGRAMMING
8.3. K-MEANS CLUSTERING
8.4. DECISION TREES
CHAPTER 9: Economics
9.1. THE COBB-DOUGLAS QUANTITY OF PRODUCTION MODEL
9.2. THE SOLOW-SWAN MODEL OF ECONOMIC GROWTH
9.3. MODERN PORTFOLIO THEORY (MPT)
9.4. THE BLACK-SCHOLES MODEL
CHAPTER 10: Engineering
10.1. LINEAR ELECTRICAL CIRCUITS AND THE MEMRISTOR
10.2. CHUA'S NONLINEAR ELECTRICAL CIRCUIT
10.3. COUPLED OSCILLATORS: MASS-SPRING MECHANICAL SYSTEMS
10.4. PERIODICALLY FORCED MECHANICAL SYSTEMS
CHAPTER 11: Fractals and Multifractals
11.1. PLOTTING FRACTALS WITH MATPLOTLIB
11.2. BOX-COUNTING BINARY IMAGES
11.3. THE MULTIFRACTAL CANTOR SET
11.4. THE MANDELBROT SET
CHAPTER 12: Image Processing
12.1. IMAGE PROCESSING, ARRAYS AND MATRICES
12.2. COLOR IMAGES
12.3. STATISTICAL ANALYSIS ON AN IMAGE
12.4. IMAGE PROCESSING ON MEDICAL IMAGES
CHAPTER 13: Numerical Methods for Ordinary and Partial Differential Equations
13.1. EULER'S METHOD TO SOLVE IVPS
13.2. RUNGE KUTTA METHOD (RK4)
13.3. FINITE DIFFERENCE METHOD: THE HEAT EQUATION
13.4. FINITE DIFFERENCE METHOD: THE WAVE EQUATION
CHAPTER 14: Physics
14.1. THE FAST FOURIER TRANSFORM
14.2. THE SIMPLE FIBER RING (SFR) RESONATOR
14.3. THE JOSEPHSON JUNCTION
14.4. MOTION OF PLANETARY BODIES
CHAPTER 15: Statistics
15.1. LINEAR REGRESSION
15.2. MARKOV CHAINS
15.3. THE STUDENT T-TEST
15.4. MONTE-CARLO SIMULATION
SECTION III: Artificial Intelligence
CHAPTER 16: Brain Inspired Computing
16.1. THE HODGKIN-HUXLEY MODEL
16.2. THE BINARY OSCILLATOR HALF-ADDER
16.3. THE BINARY OSCILLATOR SET RESET FLIP-FLOP
16.4. REAL-WORLD APPLICATIONS AND FUTURE WORK
CHAPTER 17: Neural Networks and Neurodynamics
17.1. HISTORY AND THEORY OF NEURAL NETWORKS
17.2. THE BACKPROPAGATION ALGORITHM
17.3. MACHINE LEARNING ON BOSTON HOUSING DATA
17.4. NEURODYNAMICS
CHAPTER 18: TensorFlow and Keras
18.1. ARTIFICIAL INTELLIGENCE
18.2. LINEAR REGRESSION IN TENSORFLOW
18.3. XOR LOGIC GATE IN TENSORFLOW
18.4. BOSTON HOUSING DATA IN TENSORFLOW AND KERAS
CHAPTER 19: Recurrent Neural Networks
19.1. THE DISCRETE HOPFIELD RNN
19.2. THE CONTINUOUS HOPFIELD RNN
19.3. LSTM RNN TO PREDICT CHAOTIC TIME SERIES
19.4. LSTM RNN TO PREDICT FINANCIAL TIME SERIES
CHAPTER 20: Convolutional Neural Networks, TensorBoard and Further Reading
20.1. CONVOLVING AND POOLING
20.2. CNN ON THE MNIST DATASET
20.3. TENSORBOARD
20.4. FURTHER READING
CHAPTER 21: Answers and Hints to Exercises
21.1. SECTION 1 SOLUTIONS
21.2. SECTION 2 SOLUTIONS
21.3. SECTION 3 SOLUTIONS
Index