
Scientific Computing with Scala
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Key Features
[*]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
Book DescriptionScala 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 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
Who this book is forScientists 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.
All prices
More details
Other editions
Additional editions

Person
Vytautas Jancauskas is a computer science PhD student and lecturer at Vilnius University. At the time of writing, he was about to get a PhD in computer science. The thesis concerns multiobjective optimization using nature-inspired optimization methods. Throughout the years, he has worked on a number of open source projects that have to do with scientific computing. These include Octave, pandas, and others. Currently, he is working with numerical codes with astrophysical applications. He has experience writing code to be run on supercomputers, optimizing code for performance, and interfacing C code to higher-level languages. He has been teaching computer networks, operating systems design, C programming, and computer architecture to computer science and software engineering undergraduates at Vilnius University for 4 years now. His primary research interests include optimization, numerical algorithms, programming language design, and software engineering. Vytautas has significant experience with various different programming languages. He has written simple programs and has participated in projects using Scheme, Common Lisp, Python, C/C++, and Scala. He has experience working as a Unix systems administrator. He also has significant experience working with numerical computing platforms such as NumPy/MATLAB and data analysis frameworks such pandas and R.
Content
Introducing Scientific Computing with Scala
Storing and Retrieving Data
Linear Algebra using Breeze
Using Saddle for Data Manipulation
Using ScalaLab for Interactive Computing
Parallel Programming in Scala
Cluster Computing Using Scala
Scientific Plotting in Scala
Visualizing Multi-variate Data
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.