Implement numerical algorithms in Java using the NM Dev, an object-oriented and high-performance programming library for mathematics.You'll see how it can help you easily create a solution for your complex engineering problem by quickly putting together classes.
Numerical Methods Using Java covers a wide range of topics, including chapters on linear algebra, root finding, curve fitting, differentiation and integration, solving differential equations, random numbers and simulation, a whole suite of unconstrained and constrained optimization algorithms, statistics, regression and time series analysis. The mathematical concepts behind the algorithms are clearly explained, with plenty of code examples and illustrations to help even beginners get started.
You will:
- Program in Java using a high-performance numerical library
- Learn the mathematics for a wide range of numerical computing algorithms
- Convert ideas and equations into code
- Put together algorithms and classes to build your own engineering solution
- Build solvers for industrial optimization problems
- Do data analysis using basic and advanced statistics
Autorentext
Haksun Li, PhD, is founder of NM Group, a scientific and mathematical research company. He has the vision of Making the World Better Using Mathematics. Under his leadership, the firm serves worldwide brokerage houses and funds, multinational corporations and very high net worth individuals. Haksun is an expert in options trading, asset allocation, portfolio optimization and fixed-income product pricing. He has coded up a variety of numerical software, including SuanShu (a library of numerical methods), NM Dev (a library of numerical methods), AlgoQuant (a library for financial analytics), NMRMS (a portfolio management system for equities), and supercurve (a fixed-income options pricing system). Prior to this, Haksun was a quantitative trader/quantitative analyst with multiple investment banks. He has worked in New York, London, Tokyo, and Singapore.
Additionally, Haksun is the vice dean of the Big Data Finance and Investment Institute of Fudan University, China. He was an adjunct professor with multiple universities. He has taught at the National University of Singapore (mathematics), Nanyang Technological University (business school), Fudan University (economics), as well as Hong Kong University of Science and Technology (mathematics). Dr. Haksun Li has a B.S. and M.S. in pure and financial mathematics from the University of Chicago, and an M.S. and a PhD in computer science and engineering from the University of Michigan, Ann Arbor.
Zusammenfassung
Implement numerical algorithms in Java using NM Dev, an object-oriented and high-performance programming library for mathematics.You'll see how it can help you easily create a solution for your complex engineering problem by quickly putting together classes.
Numerical Methods Using Java covers a wide range of topics, including chapters on linear algebra, root finding, curve fitting, differentiation and integration, solving differential equations, random numbers and simulation, a whole suite of unconstrained and constrained optimization algorithms, statistics, regression and time series analysis. The mathematical concepts behind the algorithms are clearly explained, with plenty of code examples and illustrations to help even beginners get started.
What You Will Learn
Program in Java using a high-performance numerical library
Learn the mathematics for a wide range of numerical computing algorithms
Convert ideas and equations into code
Put together algorithms and classes to build your own engineering solution
Build solvers for industrial optimization problems
Do data analysis using basic and advanced statistics
Who This Book Is For
Programmers, data scientists, and analysts with prior experience with programming in any language, especially Java.
Inhalt
Table of Contents
About the Authors...........................................................................................................i
Preface............................................................................................................................ii
1. Why Java?..............................................................................................................6
1.1. Java in 2020.....................................................................................................6
1.2. Java vs. C++....................................................................................................6
1.3. Java vs. Python................................................................................................6
1.4. Java in the future .............................................................................................6
2. Data Structures.......................................................................................................7
2.1. Function...........................................................................................................72.2. Polynomial ......................................................................................................7
3. Linear Algebra .......................................................................................................8
3.1. Vector and Matrix ...........................................................................................8
3.1.1. Vector Properties .....................................................................................8
3.1.2. Element-wise Operations.........................................................................8
3.1.3. Norm ........................................................................................................9
3.1.4. Inner product and angle ...........................................................................9
3.2. Matrix............................................................................................................10
3.3. Determinant, Transpose and Inverse.............................................................103.4. Diagonal Matrices and Diagonal of a Matrix................................................10
3.5. Eigenvalues and Eigenvectors.......................................................................10
3.5.1. Householder Tridiagonalization and QR Factorization Methods..........10
3.5.2. Transformation to Hessenberg Form (Nonsymmetric Matrices)...........10
4. Finding Roots of Single Variable Equations .......................................................114.1. Bracketing Methods ......................................................................................11
4.1.1. Bisection Method ...................................................................................11
4.2. Open Methods...............................................................................................11
4.2.1. Fixed-Point Method ...............................................................................11
4.2.2. Newton's Method (Newton-Raphson Method) .....................................11
4.2.3. Secant Method .......................................................................................11
4.2.4. Brent's Method ........................................................…