This repository contains support material for my lecture "Numerical Software" at the Czech Technical University in Prague.
- poznámky
- matmul, matice jako ukazatel na ukazatele dgemm_double.cpp
- matmul, matice jako jednorozměrné pole dgemm.cpp
- matmul, matice jako jednoduchá třída Matrix dgemm_class.cpp
- matmul, násobení pomocí knihovnyBLAS dgemm_blas.cpp
-
BLAS lvl 1 via Fortran interface fblas1.cpp
-
BLAS lvl 1 via Cblas interface cblas1.cpp
-
BLAS lvl 2, plná matice cblas2.cpp
-
BLAS lvl 2, symetrická matice cblas2_dsymv.cpp
-
BLAS lvl 2, symetrická komprimovaná matice cblas2_dspmv.cpp
-
BLAS lvl 2, pásová matice cblas2_dgbmv.cpp
-
BLAS lvl 3, plná matice cblas3_dgemm.cpp
-
LAPACKe, A x = b, simple driver lapack_gesv.cpp
-
LAPACKe, A x = b expert driver lapack_gesvx.cpp
-
ScaLAPACK, A x = b, scalapack_example.f, test matrix m1000
- Základní příklad basic.cpp
- Základní příklad se send/recieve basic_send.cpp
- Laplaceova rovnice, statická data laplace-mpi1.cpp
- Laplaceova rovnice, dynamická alokace laplace-mpi_dynamic1.cpp
- Laplaceova rovnice, dynamická alokace, vylepšeno laplace-mpi_dynamic2.cpp
- Helmholtzova rovnice, chybná implementace (deadlock) helmholtz-deadlock.cpp
- Helmholtzova rovnice, lepší implementace helmholtz-serialized.cpp
- Helmholtzova rovnice, správná implementace helmholtz-fast.cpp
- Základní příklad umfpack_simple.c
- Řešení soustavy rovnic, C++, example.cpp
- Řešení soustavy rovnic, velká matice, poisson3Da.cpp
- Řešení soustavy rovnic, MKL verze, poisson3Da_dss.cpp
- poznámky
- Metoda sdružených gradientů, teorie
- GMRES metoda, teorie
- Příklady implementace metod pomoci GMRES src
- Matice L je pěti-diagonální matice o rozměrech
$n \times n$ , diagonální prvky jsou L(i,i)=4, na vedlejších diagonálách je L(i,i±1)=-1 a na vedlejších diagonálách vzdálených o m=int(sqrt(n)) je L(i,i±m}=-1.
Určete vlastní čísla matice *L* pro *n=1000*.
Pro výpočet použijte knihovnu LAPACK.
Určete řešení soustavy *Lx=b* pro *n=1000*, *bᵢ=2*.
Pro výpočet použijte knihovnu LAPACK.
Určete řešení soustavy *Lx=b* pro *n=10000*, *bᵢ=2*.
Pro výpočet použijte knihovnu UMFPack.
Určete řešení soustavy *Lx=b* pro $n=100000$, *bᵢ=2*.
Pro výpočet použijte knihovnu PETSc.
Určete řešení soustavy *Lx=b* pro *n=1000000*, *bᵢ=2*.
Pro výpočet použijte knihovnu PETSc v paralelní verzi.