Scientific Computing with Scala
暫譯: 使用 Scala 進行科學計算
Vytautas Jancauskas
- 出版商: Packt Publishing
- 出版日期: 2016-04-29
- 售價: $2,010
- 貴賓價: 9.5 折 $1,910
- 語言: 英文
- 頁數: 232
- 裝訂: Paperback
- ISBN: 1785886940
- ISBN-13: 9781785886942
-
相關分類:
JVM 語言
海外代購書籍(需單獨結帳)
買這商品的人也買了...
商品描述
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.
商品描述(中文翻譯)
學習使用 Scala 解決科學計算問題,並掌握其數值計算、數據處理、併發和繪圖庫
本書介紹
- 使用方便且安全的技術來平行化您的數值計算代碼。
- 在 Scala 中實現常見的高效能科學計算目標。
- 了解數據可視化以及如何在 Scala 中創建高品質的科學圖表。
本書適合誰閱讀
希望使用 Scala 進行科學和數值計算的科學家和工程師。預期讀者對本科水平的數學和統計有基本的了解,但並非嚴格要求。需要具備基本的 Scala 知識以及編寫簡單 Scala 程式的能力。然而,書中不會使用複雜的程式設計概念。任何希望探索使用 Scala 編寫科學或工程軟體的人都將從本書中受益。
您將學到什麼
- 編寫和閱讀各種用於存儲科學數據的流行文件格式
- 使用 Breeze 進行線性代數、優化和數字信號處理
- 深入了解 Saddle 進行數據分析
- 使用 ScalaLab 進行互動計算
- 快速且方便地使用 Scala 的平行集合編寫安全的平行應用程式
- 使用 Akka 框架實現和部署併發程式
- 使用 Wisp 繪圖庫生成科學圖表
- 使用各種可視化技術可視化多變量數據
詳細內容
Scala 是一種靜態類型的、基於 Java 虛擬機(JVM)的語言,對函數式編程有強大的支持。Scala 擁有涵蓋一系列常見科學計算任務的庫——從線性代數和數值算法到方便且安全的平行化,再到強大的繪圖功能。學會使用這些工具來執行常見的科學任務將使您能夠編寫既快速又易於編寫和維護的程式。
我們將首先討論使用 Scala 相對於其他科學計算平台的優勢。您將發現 Scala 套件提供了編寫科學軟體時所期望的功能。我們將探索使用 Scala 的 Breeze 庫進行線性代數、優化和信號處理。接著,我們將進入 Saddle 庫進行數據分析。如果您有 R 或 Python 的流行 pandas 庫的經驗,您將學會如何將這些技能轉換到 Saddle。如果您是數據分析的新手,您也將學習 Saddle 的基本概念。我們將探索名為 ScalaLab 的數值計算環境。它捆綁了許多現成的科學軟體。我們將使用它進行互動計算、數據分析和可視化。在接下來的章節中,我們將探索使用 Scala 的強大平行集合進行安全且方便的平行編程。將涵蓋 Akka 併發框架等主題。最後,您將學習多變量數據可視化以及如何輕鬆地在 Scala 中生成專業外觀的圖表。閱讀完本書後,您應該擁有足夠的資訊來開始使用 Scala 作為您的科學計算平台。
風格與方法
本書提供了如何使用 Scala 進行基本數值和科學計算任務的範例。每章都用更複雜的範例來說明所有概念。本書的目標是讓您能夠將現有的科學計算經驗轉換到 Scala 中。