Learn to solve scientific computing problems using Scala and its numerical computing, data processing, concurrency, and plotting libraries
About This Book
- Parallelize your numerical computing code using convenient and safe techniques.
- Accomplish common high-performance, scientific computing goals in Scala.
- Learn about data visualization and how to create high-quality scientific plots in Scala
Who This Book Is For
Scientists and engineers who would like to use Scala for their scientific and numerical computing needs. A basic familiarity with undergraduate level mathematics and statistics is expected but not strictly required. A basic knowledge of Scala is required as well as the ability to write simple Scala programs. However, complicated programming concepts are not used in the book. Anyone who wants to explore using Scala for writing scientific or engineering software will benefit from the book.
What You Will Learn
- Write and read a variety of popular file formats used to store scientific data
- Use Breeze for linear algebra, optimization, and digital signal processing
- Gain insight into Saddle for data analysis
- Use ScalaLab for interactive computing
- Quickly and conveniently write safe parallel applications using Scala's parallel collections
- Implement and deploy concurrent programs using the Akka framework
- Use the Wisp plotting library to produce scientific plots
- Visualize multivariate data using various visualization techniques
In Detail
Scala is a statically typed, Java Virtual Machine (JVM)-based language with strong support for functional programming. There exist libraries for Scala that cover a range of common scientific computing tasks from linear algebra and numerical algorithms to convenient and safe parallelization to powerful plotting facilities. Learning to use these to perform common scientific taslƒ°