# From Python to Numpy (Nicolas P. Rougier)

Problem Vectorization - Conclusion This lesson summarizes the discussion on problem vectorization. Custom Vectorization - Typed list This lesson is a brief introduction to Typed list and how it is implemented using the NumPy library. Beyond NumPy - NumPy & co This lesson discusses a couple of other useful Python packages that you can use depending on your requirements. Beyond NumPy - Scipy & co This lesson gives a brief introduction to SciPy library and the additional packages that it offers. Custom Vectorization - Conclusion This lesson provides a brief summary of what we have covered so far in this chapter. Beyond NumPy - Conclusion This lesson provides a brief summary of what we have covered so far in this chapter. Conclusion - About the Author A brief introduction about the author of this course! Introduction - What is NumPy? This lesson gives a brief introduction to what is NumPy and explains data types in NumPy. Introduction - Creation in NumPy This lesson helps you learn how to create a NumPy array in different ways. Introduction - Indexing in NumPy This lesson will help you learn indexing in NumPy. Problem Vectorization - Coding Example: Blue Noise Sampling The case study discussed in this lesson is based on a study related to the Starry Night painting called “Blue Noise Sampling”. Let’s learn what is it about! Code Vectorization - Uniform Vectorization This lesson discusses uniform vectorization and introduces the next case study that we are going to look at, i.e, Game of life. Problem Vectorization - Coding Example: Fluid Dynamics Now we will discuss a case study related to computation fluids and see which approach out of Eulerian and Lagrangian is easier to implement in NumPy. Problem Vectorization - Coding Example: Blue Noise Sampling using Bridson method In this lesson, we will try to do the blue noise sampling using the Bridson method. First we will discuss the step-by-step approach and then implement it in code. Introduction - Reshaping in NumPy This lesson explains how to reshape an array into various dimensions. Introduction - Broadcasting in NumPy This lesson explains broadcasting in NumPy in detail. Introduction - NumPy Vectorization This lesson teaches Numpy vectorization and explains it with a simple example using object-oriented, procedural and vectorized approach. Introduction - Readability vs. Speed This lesson discusses a potential problem that arises when you use NumPy library. Anatomy of an Array - Memory layout This lesson explains the memory layout using NumPy. Anatomy of an Array - Introduction In this lesson, we’ll learn how to maximize the speed using NumPy! Anatomy of an Array - Solution Review This lesson gives a detailed solution review of the problem. Code Vectorization - Coding Example: Game of life (NumPy approach) This lesson discusses the case study Game of life and explains its solution using NumPy approach. Code Vectorization - Coding Example: Reaction-Diffusion This lesson covers another case study called “Reaction-Diffusion” based on the Gary Scott model. Code Vectorization - Temporal Vectorization This lesson explains temporal vectorization with an interesting case study called “Mandelbrot set”. Code Vectorization - Coding Example: The Mandelbrot Set (Python approach) In this lesson, we are going to look at the Python implementation of the Mandelbrot set case study. Code Vectorization - Coding Example: The Mandelbrot Set (NumPy approach) In this lesson, we are going to look at two NumPy approaches to solve this case study! Code Vectorization - Coding Example: Minkowski-Bouligand Dimension This problem is an extension of the previous case study. In this lesson, we’ll learn how to find the fractal dimension of the Mandelbrot set. Code Vectorization - Spatial Vectorization This lesson discusses spatial vectorization, along with an interesting case study on Boids. Custom Vectorization - Coding Example: Modifying the list This coding example will help you go through a simple and straightforward solution to add, delete, and set items in a list. Custom Vectorization - Memory-aware Array: Glumpy This lesson briefly discusses a very commonly used Library in Python called “GlumPy”. Code Vectorization - Coding Example: Implement the behavior of Boids (NumPy approach) In this lesson we will try to implement all three rules that Boids follow using the NumPy approach. Problem Vectorization - Coding Example: Find shortest path in a maze (Breadth-First approach) In this lesson, we will implement the solution of finding shortest path in the maze that we build in the previous lesson. To find the shortest path, we will use the BFS strategy. Code Vectorization - Introduction This lesson gives a brief introduction to code vectorization and explains an example using pure Python and NumPy. Anatomy of an Array - Coding Example: How to find if one vector is view of the other? As a conclusion to this chapter, we’ll look at one simple case study to find if one vector is view of the other. Code Vectorization - Conclusion This lesson provides a brief summary of what we have covered so far in this chapter. Problem Vectorization - Introduction This lesson gives a brief introduction to code vectorization and explains it with the help of an example. Problem Vectorization - Coding Example: Find shortest path in a maze In this lesson, we will look how to find the shortest path in a maze. Problem Vectorization - Coding Example: Find shortest path in a maze (Bellman-Ford approach) In this lesson, we will implement the solution of finding the shortest path in the maze using the Bellman-Ford approach. Code Vectorization - Coding Example: Implement the behavior of Boids (Python approach) In this lesson we will try to implement the Boids class using the traditional Pythonic approach and analyze it in terms of efficiency. Anatomy of an Array - Views and Copies This lesson discusses views and copies, and their uses in NumPy. We’ll also find out the difference between indexing and fancy indexing and between ravel and flatten and how and why we make temporary copy. Custom Vectorization - Memory-aware Array: Array Subclass in GPUData class In this lesson, we will learn how to subclass ndarray to use it in the GPUData class. Conclusion - A Quick Overview This lesson sums up the discussion on Python to NumPy. Problem Vectorization - Coding Example: Blue Noise Sampling using DART method In this lesson, we will try to do the blue noise sampling using the DART method discussed in the previous lesson. We will look at both solutions, i.e., Pythonic and NumPy approach and see which one is more efficient. Code Vectorization - Coding Example: Game of life (Python approach) This lesson discusses the case study Game of life and explains its solution using Python implementation. Beyond NumPy - Back to Python Python is quite a powerful language! Let’s find out how by looking at an interesting example proposed by Tucker Balch.