Learn to solve scientific computing problems using Scala and its numerical computing, data processing, concurrency, and plotting libraries
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.
Scala is a statically typed, Java Virtual Machine (JVM)-based language. It has strong support for functional programming. Its primary appeal is that it combines the development speed of modern functional programming languages with the pragmatism of JVM and the high performance achieved via static typing. 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, which uses Scala as a scripting language and provides graphical tools that you can use to replace a lot of the functionality provided by large commercial packages such as MATLAB. 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. We will then explore the options for running programs written in Scala on supercomputing clusters. 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.
"synopsis" may belong to another edition of this title.
Vytautas Jancauskas
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.
"About this title" may belong to another edition of this title.
£ 25.51 shipping from U.S.A. to United Kingdom
Destination, rates & speedsSeller: Chiron Media, Wallingford, United Kingdom
PF. Condition: New. Seller Inventory # 6666-IUK-9781785886942
Quantity: 10 available
Seller: Ria Christie Collections, Uxbridge, United Kingdom
Condition: New. In. Seller Inventory # ria9781785886942_new
Quantity: Over 20 available
Seller: PBShop.store UK, Fairford, GLOS, United Kingdom
PAP. Condition: New. New Book. Delivered from our UK warehouse in 4 to 14 business days. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Seller Inventory # L0-9781785886942
Quantity: Over 20 available
Seller: THE SAINT BOOKSTORE, Southport, United Kingdom
Paperback / softback. Condition: New. This item is printed on demand. New copy - Usually dispatched within 5-9 working days 526. Seller Inventory # C9781785886942
Quantity: Over 20 available
Seller: PBShop.store US, Wood Dale, IL, U.S.A.
PAP. Condition: New. New Book. Shipped from UK. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Seller Inventory # L0-9781785886942
Quantity: Over 20 available
Seller: marvin granlund, Emeryville, CA, U.S.A.
Softcover. Condition: Fine. First Edition; First Printing. Fine first edition. 213 pages, unmarked ; PPFB OV3; 9.3 X 7.5 X 0.5 inches; 213 pages. Seller Inventory # 50946
Quantity: 1 available
Seller: Majestic Books, Hounslow, United Kingdom
Condition: New. Print on Demand pp. 232. Seller Inventory # 371234087
Quantity: 4 available
Seller: Books Puddle, New York, NY, U.S.A.
Condition: New. pp. 232. Seller Inventory # 26374811384
Quantity: 4 available
Seller: Biblios, Frankfurt am main, HESSE, Germany
Condition: New. PRINT ON DEMAND pp. 232. Seller Inventory # 18374811378
Quantity: 4 available
Seller: moluna, Greven, Germany
Condition: New. Seller Inventory # 448321744
Quantity: Over 20 available