1.12k likes | 1.36k Vues
Enthought Location. Enthought's Business. Enthought provides products, training, and consulting services for scientific software solutions. . ProductsEnthought Python Distribution (EPD)Open Source Tools (SciPy, NumPy, ETS, etc.)Vertical Toolboxes. ConsultingEngineering Process AnalysisCustom Software Development .
E N D
1. Introduction to Enthought Open Source Technologies Travis E. Oliphant
oliphant@enthought.com
Enthought, Inc.
www.enthought.com
Sage Days 11
2. Enthought Location
3. Enthoughts Business Enthought provides products, training, and consulting services for scientific software solutions.
These clients primarily represent the scientific contracting that weve done. Several unlisted clients made up half our revenues up through 2004.These clients primarily represent the scientific contracting that weve done. Several unlisted clients made up half our revenues up through 2004.
4. Software Application Layers
5. IPython An enhanced interactive Python shell
6. IPython command prompt Available at http://ipython.scipy.org/
Fernando Perez, Brian Granger, and others
Provides a nice environment for scientific computing with Python
7. Starting PyLab
8. PyLab: Interactive Python Environment
9. IPython
10. Directory Navigation
11. Running Scripts
12. Function Info -- Magic Commands
13. Function Info -- Magic Commands
14. NumPy and SciPy
15. Helpful Sites
16. Getting Started >>> from numpy import *
>>> __version__
1.0.2.dev3487
or
>>> from numpy import array, ...
17. Array Operations
18. Introducing NumPy Arrays
19. Introducing NumPy Arrays
20. Setting Array Elements
21. Arrays from ASCII Data
22. Slicing
23. Multi-Dimensional Arrays
24. Array Slicing
25. Slices Are References Good
1. More efficient because it doesnt force array copies for every operation.
2. It is often nice to rename the view of an array for manipulation. (A view of the odd and even arrays)
Bad
1. Can cause unexpected side-effects that are hard to track down.
2. When you would rather have a copy, it requires some ugliness.
Good
1. More efficient because it doesnt force array copies for every operation.
2. It is often nice to rename the view of an array for manipulation. (A view of the odd and even arrays)
Bad
1. Can cause unexpected side-effects that are hard to track down.
2. When you would rather have a copy, it requires some ugliness.
26. Fancy Indexing
27. Fancy Indexing in 2-D
28. Incomplete Indexing
29. 3-D Example
30. Array Data Structure
31. Array Data Structure
32. Indexing with None
33. NumPy dtypes
34. Summary of (most) array attributes/methods These are definitely summaries I have not included all the arguments for functions in many cases.
These are definitely summaries I have not included all the arguments for functions in many cases.
35. Summary of (most) array attributes/methods
36. Summary of (most) array attributes/methods
37. Summary of (most) array attributes/methods
38. Matrix Objects
39. Vectorizing Functions
40. Array Broadcasting
41. Broadcasting Rules
42. Broadcasting in Action
43. Broadcasting Indices
44. Controlling Output Format
45. Controlling Output Formats
46. Controlling Error Handling
47. Controlling Error Handling
48. Structured Arrays Good
1. More efficient because it doesnt force array copies for every operation.
2. It is often nice to rename the view of an array for manipulation. (A view of the odd and even arrays)
Bad
1. Can cause unexpected side-effects that are hard to track down.
2. When you would rather have a copy, it requires some ugliness.
Good
1. More efficient because it doesnt force array copies for every operation.
2. It is often nice to rename the view of an array for manipulation. (A view of the odd and even arrays)
Bad
1. Can cause unexpected side-effects that are hard to track down.
2. When you would rather have a copy, it requires some ugliness.
49. Structured Arrays
50. Structured Arrays Good
1. More efficient because it doesnt force array copies for every operation.
2. It is often nice to rename the view of an array for manipulation. (A view of the odd and even arrays)
Bad
1. Can cause unexpected side-effects that are hard to track down.
2. When you would rather have a copy, it requires some ugliness.
Good
1. More efficient because it doesnt force array copies for every operation.
2. It is often nice to rename the view of an array for manipulation. (A view of the odd and even arrays)
Bad
1. Can cause unexpected side-effects that are hard to track down.
2. When you would rather have a copy, it requires some ugliness.
51. Overview
52. Polynomials
53. Polynomials
54. Special Functions
55. Special Functions
56. Interpolation
57. 1D Spline Interpolation
58. 1D Spline Interpolation
59. 2D Spline Interpolation
60. 2D Spline Interpolation
61. Statistics
62. Statistics
63. Using stats objects
64. Using stats objects
65. Statistics
66. Linear Algebra
67. Linear Algebra
68. Matrix Objects
69. Optimization
70. Optimization: 1D Minimization
71. Optimization: Solving Nonlinear Equations
72. Optimization: Using Derivatives
73. Optimization: Data Fitting
74. Fitting Polynomials (NumPy)
75. Signal Processing
76. FFT Functions
77. Filter Design
78. LTI Systems
79. Image Processing
80. Image Processing
81. Integration
82. Integration # compute short-time FFT
# compute short-time FFT # compute short-time FFT
# compute short-time FFT
# compute short-time FFT # compute short-time FFT
83. Integration # compute short-time FFT
# compute short-time FFT # compute short-time FFT
# compute short-time FFT
# compute short-time FFT # compute short-time FFT
84. Ordinary Differential Equation
85. MATLAB FILES
86. GA and Clustering
87. Enthought Tool Suite
88. What are traits?
Notification
Visualization
Others
Validation
Initialization
Delegation
89. Defining Simple Traits
90. Traits for Basic Python Types
91. Derived properties
92. Traits UI Default Views
93. Trait Listeners
94. Static Trait Notification
95. Dynamic Trait Notification
96. @on_trait_change decorator
97. UI Demos Table Demo
98. Chaco: Interactive Graphics
100. Contexts with Events
101. Three Classes of Users
102. Envisage Application Framework Extensible
Scriptable Humane Interface Tools built-in
Easy Deployment
103. Multiple Plug-ins. One Application This begins the technical overviewthis section of our presentation was interspersed with several live demos which Ill not try to duplicate here.This begins the technical overviewthis section of our presentation was interspersed with several live demos which Ill not try to duplicate here.
105. 3D Visualization
106. One example # create arrays
x, y = mgrid[-5:5:100j,-5:5:100j]
r = x**2 + y**2
z = sin(r)/r
107. Plotting commands 0D data
mlab.points3d(x, y, z)
108. Figure decorations mlab.title('A title')
mlab.axes()
mlab.colorbar()
mlab.clf()
mlab.figure()
mlab.gcf()
109. Graphical User Interface mlab.show_pipeline()?
110. Examples and Demos mlab.test_points3d()
mlab.test_plot3d()
mlab.test_surf()
mlab.test_contour3d()
mlab.test_quiver3d()
mlab.test_molecule()
mlab.test_flow()
mlab.test_mesh()
111. PDE packages PDE approaches
Sfepy (Robert Cimrman)
FiPy (NIST)
PyADH (US Army)
PetSC (Argonne)
Trilinios (Sandia)