Scientific Computing with Scala

Nonfiction, Computers, Advanced Computing, Programming, Data Modeling & Design, General Computing
Cover of the book Scientific Computing with Scala by Vytautas Jancauskas, Packt Publishing
View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart
Author: Vytautas Jancauskas ISBN: 9781785887475
Publisher: Packt Publishing Publication: April 27, 2016
Imprint: Packt Publishing Language: English
Author: Vytautas Jancauskas
ISBN: 9781785887475
Publisher: Packt Publishing
Publication: April 27, 2016
Imprint: Packt Publishing
Language: English

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 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

Style and approach

Examples are provided on how to use Scala to do basic numerical and scientific computing tasks. All the concepts are illustrated with more involved examples in each chapter. The goal of the book is to allow you to translate existing experience in scientific computing to Scala.

View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart

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

About This Book

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

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 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

Style and approach

Examples are provided on how to use Scala to do basic numerical and scientific computing tasks. All the concepts are illustrated with more involved examples in each chapter. The goal of the book is to allow you to translate existing experience in scientific computing to Scala.

More books from Packt Publishing

Cover of the book Sakai CLE Courseware Management by Vytautas Jancauskas
Cover of the book Microsoft Dynamics CRM 2011: Dashboards Cookbook by Vytautas Jancauskas
Cover of the book Instant Apache Wicket 6 by Vytautas Jancauskas
Cover of the book RxJava Essentials by Vytautas Jancauskas
Cover of the book Linux Mint Essentials by Vytautas Jancauskas
Cover of the book iOS Game Programming Cookbook by Vytautas Jancauskas
Cover of the book Ouya Unity Game Development by Vytautas Jancauskas
Cover of the book Learning Xcode 8 by Vytautas Jancauskas
Cover of the book Building Websites with VB.NET and DotNetNuke 4 by Vytautas Jancauskas
Cover of the book Working with OpenERP by Vytautas Jancauskas
Cover of the book Instant PHP Web Scraping by Vytautas Jancauskas
Cover of the book TensorFlow Machine Learning Cookbook by Vytautas Jancauskas
Cover of the book Elasticsearch Essentials by Vytautas Jancauskas
Cover of the book Build a Game with UDK by Vytautas Jancauskas
Cover of the book Docker Networking Cookbook by Vytautas Jancauskas
We use our own "cookies" and third party cookies to improve services and to see statistical information. By using this website, you agree to our Privacy Policy