- Introduction to Python
- Getting started with Python and the IPython notebook
- Functions are first class objects
- Data science is OSEMN
- Working with text
- Preprocessing text data
- Working with structured data
- Using SQLite3
- Using HDF5
- Using numpy
- Using Pandas
- Computational problems in statistics
- Computer numbers and mathematics
- Algorithmic complexity
- Linear Algebra and Linear Systems
- Linear Algebra and Matrix Decompositions
- Change of Basis
- Optimization and Non-linear Methods
- Practical Optimizatio Routines
- Finding roots
- Optimization Primer
- Using scipy.optimize
- Gradient deescent
- Newton’s method and variants
- Constrained optimization
- Curve fitting
- Finding paraemeters for ODE models
- Optimization of graph node placement
- Optimization of standard statistical models
- Fitting ODEs with the Levenberg–Marquardt algorithm
- 1D example
- 2D example
- Algorithms for Optimization and Root Finding for Multivariate Problems
- Expectation Maximizatio (EM) Algorithm
- Monte Carlo Methods
- Resampling methods
- Resampling
- Simulations
- Setting the random seed
- Sampling with and without replacement
- Calculation of Cook’s distance
- Permutation resampling
- Design of simulation experiments
- Example: Simulations to estimate power
- Check with R
- Estimating the CDF
- Estimating the PDF
- Kernel density estimation
- Multivariate kerndel density estimation
- Markov Chain Monte Carlo (MCMC)
- Using PyMC2
- Using PyMC3
- Using PyStan
- C Crash Course
- Code Optimization
- Using C code in Python
- Using functions from various compiled languages in Python
- Julia and Python
- Converting Python Code to C for speed
- Optimization bake-off
- Writing Parallel Code
- Massively parallel programming with GPUs
- Writing CUDA in C
- Distributed computing for Big Data
- Hadoop MapReduce on AWS EMR with mrjob
- Spark on a local mahcine using 4 nodes
- Modules and Packaging
- Tour of the Jupyter (IPython3) notebook
- Polyglot programming
- What you should know and learn more about
- Wrapping R libraries with Rpy
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Exercises
1 . Compute the LU decomposition of the following matrix by hand and using numpy
\[\begin{split}\left(\begin{matrix}1&2&3\\2&-4&6\\3&-9&-3\end{matrix}\right)\end{split}\]
A = np.array([[1,2,3],[2,-4,6],[3,-9,-3]]) print(A) P, L , U = la.lu(A) print(P) print(L) print(U)
[[ 1 2 3] [ 2 -4 6] [ 3 -9 -3]] [[ 0. 1. 0.] [ 0. 0. 1.] [ 1. 0. 0.]] [[ 1. 0. 0. ] [ 0.3333 1. 0. ] [ 0.6667 0.4 1. ]] [[ 3. -9. -3. ] [ 0. 5. 4. ] [ 0. 0. 6.4]]
2 . Compute the Cholesky decomposition of the following matrix by hand and using numpy
\[\begin{split}\left(\begin{matrix}4&2&3\\2&4&5\\3&5&8\end{matrix}\right)\end{split}\]
# Your code here A=np.array([[4,2,3],[2,4,5],[3,5,8]]) np.linalg.cholesky(A)
array([[ 2. , 0. , 0. ], [ 1. , 1.7321, 0. ], [ 1.5 , 2.0207, 1.291 ]])
3 . Write a function in Python to solve a system
\[Ax = b\]
using SVD decomposition. Your function should take \(A\) and \(b\) as input and return \(x\).
Your function should include the following:
- First, check that \(A\) is invertible - return error message if it is not
- Invert \(A\) using SVD and solve
- return \(x\)
Test your function for correctness.
# Your code here def svdsolver(A,b): U, s, V = np.linalg.svd(A) if np.prod(s) == 0: print("Matrix is singular") else: return np.dot(np.dot((V.T).dot(np.diag(s**(-1))), U.T),b)
A = np.array([[1,1],[1,2]]) b = np.array([3,1]) print(np.linalg.solve(A,b)) print(svdsolver(A,b))
[ 5. -2.] [ 5. -2.]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论