Scientific Computing with Scala

Learn to solve scientific computing problems using Scala and its numerical computing, data processing, concurrency, and plotting libraries
Preview in Mapt

Scientific Computing with Scala

Vytautas Jančauskas

1 customer reviews
Learn to solve scientific computing problems using Scala and its numerical computing, data processing, concurrency, and plotting libraries
Mapt Subscription
FREE
$29.99/m after trial
eBook
$25.20
RRP $35.99
Save 29%
Print + eBook
$44.99
RRP $44.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
$0.00
$25.20
$44.99
$29.99p/m after trial
RRP $35.99
RRP $44.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Scientific Computing with Scala Book Cover
Scientific Computing with Scala
$ 35.99
$ 25.20
Numerical and Scientific Computing with SciPy [Video] Book Cover
Numerical and Scientific Computing with SciPy [Video]
$ 124.99
$ 106.25
Buy 2 for $35.00
Save $125.98
Add to Cart
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 

Book Details

ISBN 139781785886942
Paperback232 pages

Book Description

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 tasks will allow you to write programs that are both fast and easy to write and maintain.

We will start by discussing the advantages of using Scala over other scientific computing platforms. You will discover Scala packages that provide the functionality you have come to expect when writing scientific software. We will explore using Scala's Breeze library for linear algebra, optimization, and signal processing. We will then proceed to the Saddle library for data analysis. If you have experience in R or with Python's popular pandas library you will learn how to translate those skills to Saddle. If you are new to data analysis, you will learn basic concepts of Saddle as well. Well will explore the numerical computing environment called ScalaLab. It comes bundled with a lot of scientific software readily available. We will use it for interactive computing, data analysis, and visualization. In the following chapters, we will explore using Scala's powerful parallel collections for safe and convenient parallel programming. Topics such as the Akka concurrency framework will be covered. Finally, you will learn about multivariate data visualization and how to produce professional-looking plots in Scala easily. After reading the book, you should have more than enough information on how to start using Scala as your scientific computing platform

Table of Contents

Chapter 1: Introducing Scientific Computing with Scala
Why Scala for scientific computing?
Numerical computing packages for Scala
Data analysis packages for Scala
Other scientific software
Alternatives for doing plotting
Using Emacs as the Scala IDE
Profiling Scala code
Debugging Scala code
Building, testing, and distributing your Scala software
Mixing Java and Scala code
Summary
Chapter 2: Storing and Retrieving Data
Reading and writing CSV files
Reading and writing JSON files
Reading and writing XML files
Database access using JDBC
Database access using Slick
Reading and writing HDF5 files
Summary
Chapter 3: Numerical Computing with Breeze
Using Breeze in your project
Basic Breeze data structures
Statistical computing with Breeze
Optimization
Signal processing
Cheat sheet
Summary
Chapter 4: Using Saddle for Data Analysis
Installing Saddle
Basic Saddle data structures
Data analysis with Saddle
Summary
Chapter 5: Interactive Computing with ScalaLab
Installing and running ScalaLab
Basic ScalaSci data structures
Data storage and retrieval
Plotting with ScalaLab
Other ScalaLab features
Summary
Chapter 6: Parallel Programming in Scala
Programming with Scala threads
Using Scala's parallel collections
Agent-based concurrency with the Akka framework
Summary
Chapter 7: Cluster Computing Using Scala
Using MPJ Express for distributed computing
Using an Akka cluster for distributed computing
Summary
Chapter 8: Scientific Plotting with Scala
Plotting with JFreeChart
Plotting with scala-chart
Plotting with Wisp
Summary
Chapter 9: Visualizing Multi-Dimensional Data in Scala
Obtaining data to visualize
Andrews curve
Parallel coordinates
Scatter plot matrix
Sammon mapping
Improving the program
Summary

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

Authors

Table of Contents

Chapter 1: Introducing Scientific Computing with Scala
Why Scala for scientific computing?
Numerical computing packages for Scala
Data analysis packages for Scala
Other scientific software
Alternatives for doing plotting
Using Emacs as the Scala IDE
Profiling Scala code
Debugging Scala code
Building, testing, and distributing your Scala software
Mixing Java and Scala code
Summary
Chapter 2: Storing and Retrieving Data
Reading and writing CSV files
Reading and writing JSON files
Reading and writing XML files
Database access using JDBC
Database access using Slick
Reading and writing HDF5 files
Summary
Chapter 3: Numerical Computing with Breeze
Using Breeze in your project
Basic Breeze data structures
Statistical computing with Breeze
Optimization
Signal processing
Cheat sheet
Summary
Chapter 4: Using Saddle for Data Analysis
Installing Saddle
Basic Saddle data structures
Data analysis with Saddle
Summary
Chapter 5: Interactive Computing with ScalaLab
Installing and running ScalaLab
Basic ScalaSci data structures
Data storage and retrieval
Plotting with ScalaLab
Other ScalaLab features
Summary
Chapter 6: Parallel Programming in Scala
Programming with Scala threads
Using Scala's parallel collections
Agent-based concurrency with the Akka framework
Summary
Chapter 7: Cluster Computing Using Scala
Using MPJ Express for distributed computing
Using an Akka cluster for distributed computing
Summary
Chapter 8: Scientific Plotting with Scala
Plotting with JFreeChart
Plotting with scala-chart
Plotting with Wisp
Summary
Chapter 9: Visualizing Multi-Dimensional Data in Scala
Obtaining data to visualize
Andrews curve
Parallel coordinates
Scatter plot matrix
Sammon mapping
Improving the program
Summary

Book Details

ISBN 139781785886942
Paperback232 pages
Read More
From 1 reviews

Read More Reviews

Recommended for You

Scala for Machine Learning Book Cover
Scala for Machine Learning
$ 35.99
$ 25.20
Python Machine Learning Book Cover
Python Machine Learning
$ 35.99
$ 25.20
Practical Machine Learning Book Cover
Practical Machine Learning
$ 37.99
$ 26.60
Learning Bayesian Models with R Book Cover
Learning Bayesian Models with R
$ 35.99
$ 25.20
Learning Concurrent Programming in Scala Book Cover
Learning Concurrent Programming in Scala
$ 26.99
$ 18.90
Scala for Data Science Book Cover
Scala for Data Science
$ 43.99
$ 30.80