BookCoveredTopics

Numeric Computations and Statistical Data Analysis on the Java platform

Design patterns using Python and Java languages on the Java virtual machine

by S.Chekanov

Springer 2016
Book: 978-3-319-28529-0
E-Book: 978-3-319-28531-3
First Edition (2016). 710 pages.

 

Covered topics:

 

Chapter 1. Introduction

  1. Programming in Java
  2. The DMelt software platform
  3. Jython and BeanShell consoles
  4. Accessing methods of instances
  5. Editing and running Jython scripts
  6. Running BeanShell scripts
  7. Compiling and running Java code
  8. DMelt code assist
  9. Working with images
  10. Code structure and Jython objects
  11. Numbers as objects
  12. Formatted output
  13. Mathematical functions
  14. Complex Numbers
  15. Strings as objects
  16. Comparison tests, loops and control directives
  17. Collections: Lists, Tuples, Dictionaries
  18. Functional programming
  19. Java collections in Jython
  20. An ordered collection
  21. Set. A collection without duplicate elements
  22. SortedSet. Sorted unique elements
  23. Map. Mapping keys to values.
  24. Real life example: sorting and removing duplicates
  25. Random numbers
  26. Time module and benchmarking
  27. Python functions and modules
  28. Python classes
  29. Java classes in Jython
  30. Parallel computing and threads
  31. Arrays in Jython
  32. Array conversion and transformations
  33. Performance issues
  34. Exceptions in Python
  35. Input and output
  36. User interaction
  37. Reading and writing files
  38. Input and output for arrays
  39. Working with CSV Python module
  40. Saving objects in a serialized file
  41. Storing multiple objects
  42. Using Java for I/O
  43. Reading data from the network
  44. Real-life example Collecting data files
  45. Using Java for GUI programming
  46. Concluding remarks


Chapter 2. Mathematical functions

  1. Python functions
  2. Functions in DMelt
  3. Java implementation of F1D
  4. Manipulations with 1D functions
  5. Plotting 1D functions
  6. Building a graphical canvas
  7. Drawing 1D functions
  8. Plotting functions on different pads
  9. Short summary of HPlot methods
  10. 2D functions
  11. Functions in two dimensions
  12. Displaying 2D functions
  13. Using a contour plot
  14. 3D functions
  15. Functions in three dimensions
  16. Functions in many dimensions
  17. FND functions
  18. Custom functions
  19. Custom functions and their methods
  20. Custom functions using Expression Builder
  21. Custom functions in Jython
  22. Parametric surfaces in 3D
  23. FPR functions
  24. 3D mathematical objects
  25. Function minimization
  26. Minimization of multidimensional functions using MIGRAD
  27. File input and output

Chapter 3: Data arrays

  1. One-dimensional arrays
  2. P0D data container
  3. Statistical summary
  4. Displaying P0D data, input and output
  5. Data with errors
  6. Viewing and plotting P1D data
  7. Contour plots
  8. Manipulations with P1D data
  9. Advanced P1D operations
  10. Weighted average and systematical uncertainties
  11. File input and output
  12. Example I: Henon attractor
  13. Example II Weighted average
  14. Other arrays
  15. P2D data container
  16. P3D data container
  17. PND data container
  18. File input and output
  19. Math arrays
  20. Jaida data containers
  21. jMathTools arrays
  22. Colt data containers
  23. Lorentz vector
  24. Multidimensional arrays


Chapter 5: Linear algebra and equations

  1. Vector and matrix packages
  2. Basic matrix arithmetic
  3. Elements of linear algebra
  4. Jampack matrix computations
  5. La4J library
  6. EJML Matrix Library
  7. Multithreaded matrix computations
  8. JBlas and other matrix packages
  9. Python vector and matrix operations
  10. Matrix operations in SymPy
  11. Algebraic manipulations with tensors
  12. Equations
  13. Polynomial equations
  14. Linear systems of equations

Chapter 6: Symbolic computations

  1. Using the Octave language
  2. Java Symbolic Computing Library
  3. Conversion to elementary functions
  4. Numeric calculations
  5. Substitution
  6. Simplify
  7. Differentiate
  8. Integration
  9. Factorization
  10. MathML output
  11. Integration with DMelt plotting canvases
  12. Using SymPy


Chapter 7: Histograms

  1. One-dimensional histogram
  2. Probability distribution and probability density
  3. Histogram characteristics
  4. Initialization and filling methods
  5. Accessing histogram values
  6. Integration
  7. Histogram operations
  8. Accessing low-level Jaida classes
  9. Graphical attributes
  10. Histogram in 2D
  11. Histogram operations
  12. Graphical representation
  13. Histograms in Jaida
  14. Histogram in 3D
  15. Profile histograms
  16. Histogram input and output
  17. External programs for histograms
  18. Analyzing histograms from multiple files

Chapter 8: Scientific visualization

  1. Graphical canvases
  2. HPlot canvas
  3. Working with the HPlot canvas
  4. Saving and Reading plots
  5. Exporting to image files
  6. Axes, Labels and keys
  7. Geometrical primitives
  8. Text strings and symbols
  9. Interconnected objects
  10. Showing charts
  11. Lightweight canvases
  12. Henon attractor example
  13. Canvas for interactive drawing
  14. Drawing diagrams
  15. Custom plotting in XY
  16. HPlotXY, WPlot, HPlotJas and HPlot2D canvases
  17. Visualization in 3D. HPlot3D and HPlot3DP canvas
  18. Mathematical objects in 3D
  19. Plotting real-time data
  20. Real-time data using SPlot and HPlotRT
  21. Graphs and Java GUI components

Chapter 9: File input and output

  1. Non-persistent data Memory-based data
  2. Object serialization
  3. Persistent event records
  4. Sequential input and output
  5. Opening data in a browser
  6. Saving event records persistently
  7. Buffer sizes
  8. XML file format
  9. Browser for PFile file data
  10. XML data output
  11. Working with ASCII files
  12. CSV file format
  13. EDN file format
  14. DIF file format
  15. ROOT and AIDA files
  16. Google’s Protocol Buffer format
  17. Creating Excel files
  18. Non-SQL object databases
  19. Non-sequential input and output
  20. Persistent map
  21. MapDB database
  22. Neodatis database
  23. Relational SQL databases
  24. Derby SQL database
  25. HyperSQL database
  26. SQLite database

Chapter 10: Probability and statistics

  1. Descriptive Statistics
  2. Comparing data
  3. Statistical analysis using Python
  4. Random numbers
  5. Random sampling
  6. Methods of 1D arrays
  7. Methods of 2D arrays
  8. Sampling using the Colt package
  9. Statistical significance and confidence levels
  10. Discovery sensitivity
  11. Confidence interval
  12. Confidence levels for small statistics
  13. Statistical tests
  14. Confidence levels for distributions
  15. Error Propagation
  16. Error Propagation using Monte Carlo technique

Chapter 11: Linear regression and curve fitting

  1. Linear regression
  2. Performing a linear regression
  3. Curve fitting
  4. Preparing a fit
  5. Creating a fit function
  6. Displaying fit functions
  7. Real-life example Signal plus background
  8. Fitting multiple peaks
  9. Fitting histograms in 3D
  10. Interactive fit
  11. HFit method
  12. JAS method
  13. Polynomial regression
  14. Advanced data fitting
  15. Fitting using parametric equations
  16. Symbolic regression

Chapter 12: Data analysis and data mining

  1. First steps in data analysis
  2. Data transformation
  3. Data skimming, sliming and sorting
  4. Removing duplicate records
  5. Sorting and duplicate removal in Java
  6. Metadata
  7. Multithreaded programming
  8. Reading data in parallel
  9. Reading a single file in parallel
  10. Numerical computations using multiple cores
  11. Data consistency and security
  12. MD5 fingerprint at runtime
  13. Fingerprinting files
  14. Fluctuations and correlations
  15. Analyzing nearby galaxies
  16. Analyzing elementary particles

Chapter 13: Neural networks

  1. A basic neural network
  2. Encog approach
  3. Using Neuroth
  4. Backpropagation with multiple outputs
  5. Numeric predictions
  6. Generating a data sample
  7. Data preparation
  8. Building a neural net
  9. Training and verifying
  10. Bayesian networks
  11. Creating Bayesian network using scripts
  12. Kohonen self-organizing map
  13. Kohonen SOFM in 2D
  14. Kohonen SOFM in 3D
  15. Bayesian self-organizing map
  16. Non-interactive BSOM
  17. Neural network using Python libraries

Chapter 14: Finding regularities and data classification

  1. Cluster analysis
  2. Interactive clustering analysis
  3. Clustering particles into jets. Real-life example
  4. Smoothing and interpolation
  5. Peak identification
  6. Principal component analysis
  7. Decision trees


Chapter 15: Misc Java and Python topics

  1. Downloading files from the Web
  2. Extracting data from figures
  3. Tables and spreadsheets
  4. Measurements with units
  5. Cellular automaton
  6. Image processing
  7. Image modification
  8. Transforms using multiple cores
  9. Market and financial analysis
  10. Time series and financial charts

 

Chapter 16: Using other languages on the Java platform

  1. Python scripting with DMelt
  2. Operations with data holders
  3. Adding Python modules
  4. Using Java programming
  5. External Java libraries
  6. Working Java projects
  7. Embedding DMelt in applets
  8. Using BeanShell language
  9. Using Groovy language
  10. Using Ruby language
  11. Using Octave language

Chapter 17: Octave-style scripting using Java

  1. Variables and operators
  2. Symbolic variables
  3. Operators and commands
  4. Functions
  5. Polynomials
  6. Vectors and Matrices
  7. Flow control
  8. File input and output
  9. Calculus
  10. Differentiation
  11. Integration
  12. Indefinite integral
  13. Transformations
  14. Simplifying expressions
  15. Data visualization
  16. Plotting data
  17. Plot2D
  18. Plot3D
  19. Equations
  20. Systems of linear equations
  21. Nonlinear equations
  22. Systems of equations
  23. Differential equations
  24. Statistics
  25. Descriptive statistics
  26. Random numbers
  27. Data fitting
  28. Histograms
  29. Again about integration with Java

DataMelt Project

DMelt: Computation and Visualization environment. 2005-2017.
jWork.ORG and S. Chekanov

Community

jWork.ORG portal for scientific computations

Contact

Email: dmelt@jwork.org

Copyright © 2017 - DataMelt
jWork.ORG
DataMelt DataMelt  CMS