Introduction to Scientific Computing

Introduction to Scientific Computing

1. Tools: Libraries and Software • In addition to standart tools like editors, compilers, or debug- gers, there is a lot of (commercial or public domain) support available: – Modelling: Computer algebra programs like Mathematica, Tools: Libraries and . Maple, Axiom, or Reduce support derivations and proofs of Libraries and Collections theorems via symbolic means. Libraries and Collections – Numerics: Mathematica, Maple, or MATLAB support the Libraries and Collections development, testing, and analysis of (numerical) algorithms BLAS and allow an efficient prototyping. LAPACK – Implementation: A zoo of (numerical) libraries provide up- Libraries and Collections to-date modules for standard tasks (numerical linear alge- Libraries and Collections bra etc.), tailored to specific target architectures. Tools for Algorithm . – Visualization: Packages like IDL, IRIS Explorer, or AVS/Express Maple offer (nearly) all you want. MATLAB Page 1 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz 2. Libraries and Collections • GAMS: Guide to Available Mathematical Software – service offered bu the National Institute of Standards & Tech- nology – see http://gams.nist.gov/ Tools: Libraries and . – catalogue and database of more than 100 packages and Libraries and Collections libraries with together several tens of thousands of routines Libraries and Collections – Topics range from number theory to statistics! Libraries and Collections BLAS – majority: FORTRAN programs for numerical tasks (sys- LAPACK tems of linear equations, eigenvalues, roots, differential equa- Libraries and Collections tions, . ) Libraries and Collections – includes both public domain material (at NIST or at NETLIB, Tools for Algorithm . see below) and commercial (licenced) products. Maple – good user guidance MATLAB Page 2 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz 3. Libraries and Collections • Matrix market – see http://math.nist.gov/MatrixMarket/ – repository of test data for use in comparative studies of al- gorithms for numerical linear algebra Tools: Libraries and . – features nearly 500 (sparse) matrices from various fields of Libraries and Collections applications (chemical engineering, fluid flow, power sys- Libraries and Collections tem networks, quantum physics, or structural engineering, Libraries and Collections e.g.) BLAS – provides also matrix generation tools LAPACK Libraries and Collections – classification according to matrix properties: Libraries and Collections number filed: real or complex * Tools for Algorithm . nonzero structure: dense, banded sparse, tridiagonal, * Maple ... MATLAB * symmetry: none, symmetric, skewsymmetric, SPD, SSPD,. * shape: square, more rows than columns,. Page 3 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz 4. Libraries and Collections • NETLIB: repository of free software for numerical purposes – see http://www.netlib.org/ – offered by University of Tennessee and Oak Ridge Nat’l Lab – several mirrored copies all over the world Tools: Libraries and . Libraries and Collections – about 135 million requests since 1985, > 40 million in 2000 Libraries and Collections – > 90% http, rest ftp and email Libraries and Collections – about 160 different libraries, among which BLAS LAPACK * BLAS (Basic Linear Algebra Subprograms) Libraries and Collections * LAPACK (Linear Algebra PACKage) Libraries and Collections * ODEPACK (ordinary differential equations) Tools for Algorithm . * MPI (message passing interface, for parallelization) PLTMG (elliptic boundary value problems) Maple * MATLAB Page 4 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz 5. BLAS • collection of robust, efficient, and portable modules for elemen- tary vector and matrix operations • basis for LAPACK routines, for example • allows plug-and-play for numerical subroutines Tools: Libraries and . Libraries and Collections • FORTRAN, to be used from FORTRAN/C/C++ Libraries and Collections • Java BLAS available, too Libraries and Collections BLAS • levels: LAPACK Level 1: vector and vector-vector operations (norm, scalar product, Libraries and Collections vector addition, SAXPY, . ) Libraries and Collections Level 2: matrix-vector operations (rank-1-modifications, matrix-vector Tools for Algorithm . product, tridiagonal systems); vector processors Maple MATLAB Level 3: matrix-matrix operations; parallel computers! Page 5 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz 6. LAPACK • popular collection of FORTRAN subroutines for standard prob- lems from numerical linear algebra like linear systems, regres- sion, eigenvalues, SVD, . • dense and band matrices (not general sparse ones) Tools: Libraries and . • successor of EISPACK and LINPACK, tuning for modern mi- Libraries and Collections croprocessors and supercomputer architectures (reduction of Libraries and Collections memory accesses, block operations, . ) Libraries and Collections BLAS • LAPACK routines use BLAS modules LAPACK • variants: Libraries and Collections Libraries and Collections – LAPACK90, CLAPACK, LAPACK++ Tools for Algorithm . – ScaLAPACK (MIMD systems, scalability!) Maple MATLAB Page 6 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz 7. Libraries and Collections • Visual Numerics: – see http://www.vni.com – mathematical libraries – predecessor: IMSL (The Int’l Math. & Statist. Library) Tools: Libraries and . Libraries and Collections • Diffpack: Libraries and Collections – offered by Numerical Objects, see http://www.nobjects.com Libraries and Collections BLAS – environment for the development of code for numerical sim- ulation problems plus libraries of efficient routines LAPACK Libraries and Collections – object-oriented concept, available for most UNIX platforms Libraries and Collections • NAG (Numerical Algorithms Group): Tools for Algorithm . Maple – see http://www.nag.co.uk/ MATLAB – non-profit software house, spin-off of Oxford University – FORTRAN/FORTRAN90/C/Parallel libraries; – AXIOM; IRIS Explorer (Visual.); Fastflo (CFD and more) Page 7 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz 8. Libraries and Collections • Numerical Recipes: – see http://www.nr.com – book series The Art of Scientific Computing (CU Press) – sophisticated algorithms and their implementations Tools: Libraries and . Libraries and Collections – available for FORTRAN 77, FORTRAN 90, C, Pascal, . Libraries and Collections – corresponding software is licenced and commercial Libraries and Collections – about 350 routines for topics like BLAS LAPACK * solution of linear systems Libraries and Collections * interpolation and extrapolation Libraries and Collections * numerical quadrature Tools for Algorithm . * differentiation and approximation roots and extrema Maple * MATLAB * eigenvalues, differential equations, and more Page 8 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz 9. Tools for Algorithm Development • Libraries offer tested and efficient (w.r.t. both storage and run- time) standard modules for competitive simulation codes (do something classical cheap!) • Another problem is algorithm development (develop something Tools: Libraries and . new and cheaper!): Libraries and Collections – design of algorithms Libraries and Collections – testing and rapid prototyping Libraries and Collections BLAS – analysis (convergence behaviour etc.) LAPACK – not yet: production runs, memory or runtime optimization Libraries and Collections • widespread solutions: Libraries and Collections Tools for Algorithm . – computer algebra programs like Maple or Mathematica Maple – MATLAB MATLAB Page 9 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz 10. Maple • by Waterloo Maple Inc., a spin-off of the University of Waterloo in Ontario (see http://www.maplesoft.com) • originally a mere computer algebra program, today “interactive environment for mathematical problem solving and program- Tools: Libraries and . ming” Libraries and Collections • focus: Libraries and Collections Libraries and Collections – symbolic computations, formula manipulation BLAS – numerical computations with arbitrary accuracy LAPACK – 2D and 3D graphical output Libraries and Collections – straightforward programming for algorithm development Libraries and Collections Tools for Algorithm . • structure: Maple kernel + main library + mixed library + packages MATLAB Page 10 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz 11. MATLAB • by The MathWorks (see http://www.mathworks.com/) • originally: primarily for use in (maths) education • today: “high-performance numerical computation and visualiza- tion software”, standard tool for scientific computing research Tools: Libraries and . groups: Libraries and Collections Libraries and Collections – development, prototyping, programming Libraries and Collections – computations BLAS – visualization LAPACK Libraries and Collections • singular success story: >500 employees, >100 countries, >2000 Libraries and Collections universities and research institutes Tools for Algorithm . • structure: basic program plus a collection of specialized tool Maple boxes MATLAB Page 11 of 11 Introduction to Scientific Computing 3. Tools/Libs Hans-Joachim Bungartz.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us