Mastering Python Scientific Computing


Book Description

A complete guide for Python programmers to master scientific computing using Python APIs and tools About This Book The basics of scientific computing to advanced concepts involving parallel and large scale computation are all covered. Most of the Python APIs and tools used in scientific computing are discussed in detail The concepts are discussed with suitable example programs Who This Book Is For If you are a Python programmer and want to get your hands on scientific computing, this book is for you. The book expects you to have had exposure to various concepts of Python programming. What You Will Learn Fundamentals and components of scientific computing Scientific computing data management Performing numerical computing using NumPy and SciPy Concepts and programming for symbolic computing using SymPy Using the plotting library matplotlib for data visualization Data analysis and visualization using Pandas, matplotlib, and IPython Performing parallel and high performance computing Real-life case studies and best practices of scientific computing In Detail In today's world, along with theoretical and experimental work, scientific computing has become an important part of scientific disciplines. Numerical calculations, simulations and computer modeling in this day and age form the vast majority of both experimental and theoretical papers. In the scientific method, replication and reproducibility are two important contributing factors. A complete and concrete scientific result should be reproducible and replicable. Python is suitable for scientific computing. A large community of users, plenty of help and documentation, a large collection of scientific libraries and environments, great performance, and good support makes Python a great choice for scientific computing. At present Python is among the top choices for developing scientific workflow and the book targets existing Python developers to master this domain using Python. The main things to learn in the book are the concept of scientific workflow, managing scientific workflow data and performing computation on this data using Python. The book discusses NumPy, SciPy, SymPy, matplotlib, Pandas and IPython with several example programs. Style and approach This book follows a hands-on approach to explain the complex concepts related to scientific computing. It details various APIs using appropriate examples.




A Primer on Scientific Programming with Python


Book Description

The book serves as a first introduction to computer programming of scientific applications, using the high-level Python language. The exposition is example and problem-oriented, where the applications are taken from mathematics, numerical calculus, statistics, physics, biology and finance. The book teaches "Matlab-style" and procedural programming as well as object-oriented programming. High school mathematics is a required background and it is advantageous to study classical and numerical one-variable calculus in parallel with reading this book. Besides learning how to program computers, the reader will also learn how to solve mathematical problems, arising in various branches of science and engineering, with the aid of numerical methods and programming. By blending programming, mathematics and scientific applications, the book lays a solid foundation for practicing computational science. From the reviews: Langtangen ... does an excellent job of introducing programming as a set of skills in problem solving. He guides the reader into thinking properly about producing program logic and data structures for modeling real-world problems using objects and functions and embracing the object-oriented paradigm. ... Summing Up: Highly recommended. F. H. Wild III, Choice, Vol. 47 (8), April 2010 Those of us who have learned scientific programming in Python ‘on the streets’ could be a little jealous of students who have the opportunity to take a course out of Langtangen’s Primer.” John D. Cook, The Mathematical Association of America, September 2011 This book goes through Python in particular, and programming in general, via tasks that scientists will likely perform. It contains valuable information for students new to scientific computing and would be the perfect bridge between an introduction to programming and an advanced course on numerical methods or computational science. Alex Small, IEEE, CiSE Vol. 14 (2), March /April 2012 “This fourth edition is a wonderful, inclusive textbook that covers pretty much everything one needs to know to go from zero to fairly sophisticated scientific programming in Python...” Joan Horvath, Computing Reviews, March 2015




Scientific Computing with Python - Second Edition


Book Description

Leverage this example-packed, comprehensive guide for all your Python computational needs Key Features: Learn the first steps within Python to highly specialized concepts Explore examples and code snippets taken from typical programming situations within scientific computing. Delve into essential computer science concepts like iterating, object-oriented programming, testing, and MPI presented in strong connection to applications within scientific computing. Book Description: Python has tremendous potential within the scientific computing domain. This updated edition of Scientific Computing with Python features new chapters on graphical user interfaces, efficient data processing, and parallel computing to help you perform mathematical and scientific computing efficiently using Python. This book will help you to explore new Python syntax features and create different models using scientific computing principles. The book presents Python alongside mathematical applications and demonstrates how to apply Python concepts in computing with the help of examples involving Python 3.8. You'll use pandas for basic data analysis to understand the modern needs of scientific computing, and cover data module improvements and built-in features. You'll also explore numerical computation modules such as NumPy and SciPy, which enable fast access to highly efficient numerical algorithms. By learning to use the plotting module Matplotlib, you will be able to represent your computational results in talks and publications. A special chapter is devoted to SymPy, a tool for bridging symbolic and numerical computations. By the end of this Python book, you'll have gained a solid understanding of task automation and how to implement and test mathematical algorithms within the realm of scientific computing. What You Will Learn: Understand the building blocks of computational mathematics, linear algebra, and related Python objects Use Matplotlib to create high-quality figures and graphics to draw and visualize results Apply object-oriented programming (OOP) to scientific computing in Python Discover how to use pandas to enter the world of data processing Handle exceptions for writing reliable and usable code Cover manual and automatic aspects of testing for scientific programming Get to grips with parallel computing to increase computation speed Who this book is for: This book is for students with a mathematical background, university teachers designing modern courses in programming, data scientists, researchers, developers, and anyone who wants to perform scientific computation in Python.




Numerical Python


Book Description

Numerical Python by Robert Johansson shows you how to leverage the numerical and mathematical modules in Python and its Standard Library as well as popular open source numerical Python packages like NumPy, FiPy, matplotlib and more to numerically compute solutions and mathematically model applications in a number of areas like big data, cloud computing, financial engineering, business management and more. After reading and using this book, you'll get some takeaway case study examples of applications that can be found in areas like business management, big data/cloud computing, financial engineering (i.e., options trading investment alternatives), and even games. Up until very recently, Python was mostly regarded as just a web scripting language. Well, computational scientists and engineers have recently discovered the flexibility and power of Python to do more. Big data analytics and cloud computing programmers are seeing Python's immense use. Financial engineers are also now employing Python in their work. Python seems to be evolving as a language that can even rival C++, Fortran, and Pascal/Delphi for numerical and mathematical computations.




Mastering Python for Bioinformatics


Book Description

Life scientists today urgently need training in bioinformatics skills. Too many bioinformatics programs are poorly written and barely maintained--usually by students and researchers who've never learned basic programming skills. This practical guide shows postdoc bioinformatics professionals and students how to exploit the best parts of Python to solve problems in biology while creating documented, tested, reproducible software. Ken Youens-Clark, author of Tiny Python Projects (Manning), demonstrates not only how to write effective Python code but also how to use tests to write and refactor scientific programs. You'll learn the latest Python features and toolsâ??including linters, formatters, type checkers, and testsâ??to create documented and tested programs. You'll also tackle 14 challenges in Rosalind, a problem-solving platform for learning bioinformatics and programming. Create command-line Python programs to document and validate parameters Write tests to verify refactor programs and confirm they're correct Address bioinformatics ideas using Python data structures and modules such as Biopython Create reproducible shortcuts and workflows using makefiles Parse essential bioinformatics file formats such as FASTA and FASTQ Find patterns of text using regular expressions Use higher-order functions in Python like filter(), map(), and reduce()




Mastering Python for Data Science


Book Description

Explore the world of data science through Python and learn how to make sense of data About This Book Master data science methods using Python and its libraries Create data visualizations and mine for patterns Advanced techniques for the four fundamentals of Data Science with Python - data mining, data analysis, data visualization, and machine learning Who This Book Is For If you are a Python developer who wants to master the world of data science then this book is for you. Some knowledge of data science is assumed. What You Will Learn Manage data and perform linear algebra in Python Derive inferences from the analysis by performing inferential statistics Solve data science problems in Python Create high-end visualizations using Python Evaluate and apply the linear regression technique to estimate the relationships among variables. Build recommendation engines with the various collaborative filtering algorithms Apply the ensemble methods to improve your predictions Work with big data technologies to handle data at scale In Detail Data science is a relatively new knowledge domain which is used by various organizations to make data driven decisions. Data scientists have to wear various hats to work with data and to derive value from it. The Python programming language, beyond having conquered the scientific community in the last decade, is now an indispensable tool for the data science practitioner and a must-know tool for every aspiring data scientist. Using Python will offer you a fast, reliable, cross-platform, and mature environment for data analysis, machine learning, and algorithmic problem solving. This comprehensive guide helps you move beyond the hype and transcend the theory by providing you with a hands-on, advanced study of data science. Beginning with the essentials of Python in data science, you will learn to manage data and perform linear algebra in Python. You will move on to deriving inferences from the analysis by performing inferential statistics, and mining data to reveal hidden patterns and trends. You will use the matplot library to create high-end visualizations in Python and uncover the fundamentals of machine learning. Next, you will apply the linear regression technique and also learn to apply the logistic regression technique to your applications, before creating recommendation engines with various collaborative filtering algorithms and improving your predictions by applying the ensemble methods. Finally, you will perform K-means clustering, along with an analysis of unstructured data with different text mining techniques and leveraging the power of Python in big data analytics. Style and approach This book is an easy-to-follow, comprehensive guide on data science using Python. The topics covered in the book can all be used in real world scenarios.




Scientific Computing with Python 3


Book Description

An example-rich, comprehensive guide for all of your Python computational needs About This Book Your ultimate resource for getting up and running with Python numerical computations Explore numerical computing and mathematical libraries using Python 3.x code with SciPy and NumPy modules A hands-on guide to implementing mathematics with Python, with complete coverage of all the key concepts Who This Book Is For This book is for anyone who wants to perform numerical and mathematical computations in Python. It is especially useful for developers, students, and anyone who wants to use Python for computation. Readers are expected to possess basic a knowledge of scientific computing and mathematics, but no prior experience with Python is needed. What You Will Learn The principal syntactical elements of Python The most important and basic types in Python The essential building blocks of computational mathematics, linear algebra, and related Python objects Plot in Python using matplotlib to create high quality figures and graphics to draw and visualize your results Define and use functions and learn to treat them as objects How and when to correctly apply object-oriented programming for scientific computing in Python Handle exceptions, which are an important part of writing reliable and usable code Two aspects of testing for scientific programming: Manual and Automatic In Detail Python can be used for more than just general-purpose programming. It is a free, open source language and environment that has tremendous potential for use within the domain of scientific computing. This book presents Python in tight connection with mathematical applications and demonstrates how to use various concepts in Python for computing purposes, including examples with the latest version of Python 3. Python is an effective tool to use when coupling scientific computing and mathematics and this book will teach you how to use it for linear algebra, arrays, plotting, iterating, functions, polynomials, and much more. Style and approach This book takes a concept-based approach to the language rather than a systematic introduction. It is a complete Python tutorial and introduces computing principles, using practical examples to and showing you how to correctly implement them in Python. You'll learn to focus on high-level design as well as the intricate details of Python syntax. Rather than providing canned problems to be solved, the exercises have been designed to inspire you to think about your own code and give you real-world insight.




Mastering SciPy


Book Description

Implement state-of-the-art techniques to visualize solutions to challenging problems in scientific computing, with the use of the SciPy stack About This Book Master the theory and algorithms behind numerical recipes and how they can be applied to real-world problems Learn to combine the most appropriate built-in functions from the SciPy stack by understanding the connection between the sources of your problem, volume of data, or computer architecture A comprehensive coverage of all the mathematical techniques needed to solve the presented topics, with a discussion of the relevant algorithms built in the SciPy stack Who This Book Is For If you are a mathematician, engineer, or computer scientist with a proficiency in Python and familiarity with IPython, this is the book for you. Some basic knowledge of numerical methods in scientific computing would be helpful. What You Will Learn Master relevant algorithms used in symbolic or numerical mathematics to address approximation, interpolation, differentiation, integration, root-finding, and optimization of scalar or multi-variate functions Develop different algorithms and strategies to efficiently store and manipulate large matrices of data, in particular to solve systems of linear equations, or compute their eigenvalues/eigenvectors Understand how to model physical problems with systems of differential equations and distinguish the factors that dictate the strategies to solve them Perform statistical analysis, hypothesis test design and resolution, or data mining at a higher level, and apply them to real-life problems in the field of data analysis Gain insights on the power of distances, Delaunay triangulations and Voronoi diagrams for Computational Geometry, and apply them to various engineering problems Familiarize yourself with different techniques in signal/image processing, including filtering audio, images, or video to extract information, features, or remove components In Detail The SciPy stack is a collection of open source libraries of the powerful scripting language Python, together with its interactive shells. This environment offers a cutting-edge platform for numerical computation, programming, visualization and publishing, and is used by some of the world's leading mathematicians, scientists, and engineers. It works on any operating system that supports Python and is very easy to install, and completely free of charge! It can effectively transform into a data-processing and system-prototyping environment, directly rivalling MATLAB and Octave. This book goes beyond a mere description of the different built-in functions coded in the libraries from the SciPy stack. It presents you with a solid mathematical and computational background to help you identify the right tools for each problem in scientific computing and visualization. You will gain an insight into the best practices with numerical methods depending on the amount or type of data, properties of the mathematical tools employed, or computer architecture, among other factors. The book kicks off with a concise exploration of the basics of numerical linear algebra and graph theory for the treatment of problems that handle large data sets or matrices. In the subsequent chapters, you will delve into the depths of algorithms in symbolic algebra and numerical analysis to address modeling/simulation of various real-world problems with functions (through interpolation, approximation, or creation of systems of differential equations), and extract their representing features (zeros, extrema, integration or differentiation). Lastly, you will move on to advanced concepts of data analysis, image/signal processing, and computational geometry. Style and approach Packed with real-world examples, this book explores the mathematical techniques needed to solve the presented topics, and focuses on the algorithms built in the SciPy stack.




Python Programming


Book Description

This book is suitable for use in a university-level first course in computing (CS1), as well as the increasingly popular course known as CS0. It is difficult for many students to master basic concepts in computer science and programming. A large portion of the confusion can be blamed on the complexity of the tools and materials that are traditionally used to teach CS1 and CS2. This textbook was written with a single overarching goal: to present the core concepts of computer science as simply as possible without being simplistic.




Numerical Python


Book Description

Leverage the numerical and mathematical modules in Python and its standard library as well as popular open source numerical Python packages like NumPy, SciPy, FiPy, matplotlib and more. This fully revised edition, updated with the latest details of each package and changes to Jupyter projects, demonstrates how to numerically compute solutions and mathematically model applications in big data, cloud computing, financial engineering, business management and more. Numerical Python, Second Edition, presents many brand-new case study examples of applications in data science and statistics using Python, along with extensions to many previous examples. Each of these demonstrates the power of Python for rapid development and exploratory computing due to its simple and high-level syntax and multiple options for data analysis. After reading this book, readers will be familiar with many computing techniques including array-based and symbolic computing, visualization and numerical file I/O, equation solving, optimization, interpolation and integration, and domain-specific computational problems, such as differential equation solving, data analysis, statistical modeling and machine learning. What You'll Learn Work with vectors and matrices using NumPy Plot and visualize data with Matplotlib Perform data analysis tasks with Pandas and SciPy Review statistical modeling and machine learning with statsmodels and scikit-learn Optimize Python code using Numba and Cython Who This Book Is For Developers who want to understand how to use Python and its related ecosystem for numerical computing.