معرفی کتاب «Mastering Scipy (Python)» نوشتهٔ Francisco Javier Blanco-Silva، منتشرشده توسط نشر Packt Publishing - ebooks Account در سال 2015. این کتاب در 5 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Mastering Scipy (Python)» در دستهٔ بدون دستهبندی قرار دارد.
Implement state-of-the-art techniques to visualize solutions to challenging problems in scientific computing, with the use of the SciPy stackKey FeaturesBook DescriptionWhat you will learnMaster relevant algorithms used in symbolic or numerical mathematics to address the approximation, interpolation, and optimization of scalar or multivariate functionsDevelop different algorithms and strategies to effectively store and manipulate large matrices of data, with a view to solving various problems in numerical linear algebraUnderstand how to model physical problems with systems of differential equations and distinguish the factors that dictate the strategies to solve them numericallyPerform statistical analysis, inference, data mining, and machine learning at higher level, and apply these to realworld problemsAdapt valuable ideas in computational geometry like Delaunay triangulations, Voronoi diagrams, geometric query problems, or Bezier curves, and apply them to various engineering problemsFamiliarize yourself with different methods to represent and compress images, as well as techniques used in image processing, including edition, restoration, inpainting, segmentation, or feature recognitionWho this book is forIf you are a professional with a proficiency in Python and familiarity with IPython, this book is for you. Some basic knowledge of numerical methods in scientific computing would be helpful. Cover Copyright Credits About the Author About the Reviewers www.PacktPub.com Table of Contents Preface Chapter 1: Numerical Linear Algebra Motivation Creation of matrices and linear operators Constructing matrices in the ndarray class Constructing matrices in the matrix class Constructing sparse matrices Linear operators Basic matrix manipulation Scalar multiplication, matrix addition, and matrix multiplication Traces and determinants Transposes and inverses Norms and condition numbers Matrix functions Matrix factorizations related to solving matrix equations Relevant factorizations Pivoted LU decomposition Cholesky decomposition QR decomposition Singular value decomposition Matrix equations Back and forward substitution Basic systems: banded matrices Basic systems: generic square matrices Least squares Regularized least squares Other matrix equation solvers Matrix factorizations based on eigenvalues Spectral decomposition Schur decomposition Summary Chapter 2: Interpolation and Approximation Motivation Interpolation Implementation details Univariate interpolation Nearest-neighbors interpolation Lagrange interpolation Hermite interpolation Piecewise polynomial interpolation Spline interpolation Multivariate interpolation Least squares approximation Linear least squares approximation Nonlinear least squares approximation Summary Chapter 3: Differentiation and Integration Motivation Differentiation Numerical differentiation Symbolic differentiation Automatic differentiation Integration Symbolic integration Numerical integration Functions without singularities on finite intervals Functions with singularities on bounded domains Integration on unbounded domains Numerical multivariate integration Summary Chapter 4: Nonlinear Equations and Optimization Motivation Non-linear equations and systems Iterative methods for univariate functions Bracketing methods Secant methods Brent method Systems of nonlinear equations Simple iterative solvers The Broyden method Powell's hybrid solver Large-scale solvers Optimization Unconstrained optimization for univariate functions Constrained optimization for univariate functions Unconstrained optimization for multivariate functions The stochastic methods Deterministic algorithms that exclusively employ function evaluations The Broyden-Fletcher-Goldfarb-Shanno quasi-Newton method The conjugate gradient method Constrained optimization for multivariate functions Summary Chapter 5: Initial Value Problems for Ordinary Differential Equations Symbolic solution of differential equations Analytic approximation methods Discrete-variable methods One-step methods Two-step methods Summary Chapter 6: Computational Geometry Plane geometry Combinatorial computational geometry Static problems Convex hulls Voronoi diagrams Triangulations Shortest paths Geometric query problems Point location Nearest neighbors Range searching Dynamic problems Numerical computational geometry Bézier curves Summary Chapter 7: Descriptive Statistics Motivation Probability Symbolic setting Numerical setting Data exploration Picturing distributions with graphs Bar plots and pie charts Histograms Time plots Describing distributions with numbers and boxplots Relationship between quantitative variables Scatterplots and correlation Regression Analysis of the time series Summary Chapter 8: Inference and Data Analysis Statistical inference Estimation of parameters Frequentist approach Bayesian approach Likelihood approach Interval estimation Frequentist approach Bayesian approach Likelihood approach Data mining and machine learning Classification Support vector classification Trees Naive Bayes Nearest neighbors Dimensionality reduction Principal component analysis Isometric mappings Spectral embedding Locally linear embedding Clustering MeanShift Gaussian mixture models Kmeans Spectral clustering Summary Chapter 9: Mathematical Imaging Digital images Binary Gray-scale Color Alpha channels High-level operations on digital images Object measurements Mathematical morphology Smoothing filters Multivariate calculus Statistical filters Fourier analysis Wavelet decompositions Image compression Lossless compression Lossy compression Image editing Transformations of the domain Rescale and resize Swirl Geometric transformations Intensity adjustment Histogram equalization Intensity clipping/resizing Contrast enhancement Image restoration Noise reduction Sharpening and blurring Inpainting Image analysis Image structure Object recognition Edge detection Line, circle, and ellipse detection Blob detection Corner detection Beyond geometric entities Summary Index
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.
Implement state-of-the-art techniques to visualize solutions to challenging problems in scientific computing, with the use of the SciPy stackAbout 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 stackWho 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 componentsIn 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