Numerical Methods in Physics (NuMet)
FU:TFNSP0006 – nMgr SP FU N0533A110045 TFYZNM Teoretická fyzika (všechny specializace): 1/4/0, 7 kreditů, Zko
Garant: doc. RNDr. Jan Schee, Ph.D., <jan.schee@physics.slu.cz>, +420 553 68 4293
Přednášky a cvičení: doc. RNDr. Stanislav Hledík, Ph.D.
Informace o kursu ● Výuka ● Software ● Zkouška a hodnocení ● Literatura ● Odkazy a zdroje ● Často kladené dotazy
Anotace
Předmět seznamuje se základními numerickými metodami obecně používanými pro počítačové výpočty ve fyzice. Pro implementaci se používá programovacích jazyků C/C++ a Wolfram Language (v prostředí Mathematica).
Sylabus
1. Prerekvisity
Programovací jazyk C/C++: seznámení s vývojovým prostředím, překladač, oddělený překlad, sestavení, organizace programu a řídicí struktury, vlastnosti důležité pro numerické výpočty. Wolfram Language: seznámení s prostředím Mathematica, základní principy (1. programování založené na porovnávání vzorů a nahrazovacích pravidlech – pattern matching and replacement rules, 2. funkcionální programování), vlastnosti relevantní pro numerické výpočty.
2. Čísla v počítači
Reprezentace čísel v počítači a počítačová aritmetika. Dekadická, binární, oktanová a hexadecimální reprezentace; chyba, přesnost, stabilita výpočtu; záludnosti floating-point čísel. Časová složitost numerického algoritmu.
3. Řešení lineárních algebraických rovnic
Gaussova–Jordanova eliminace, Gaussova eliminace se zpětnou substitucí, LU dekompozice.
4. Interpolace a extrapolace
Polynomiální/racionální interpolace a extrapolace, kubické splajny.
5. Integrace funkcí (numerická kvadratura)
Numerická integrace. Klasické formule (otevřené, uzavřené, polootevřené) a algoritmy (lichoběžníkové, Simpsonovo pravidlo); Rombergova integrace; Gaussovy kvadratury a ortogonální polynomy; nevlastní a multidimensionální integrály.
6. Vyčíslování funkcí
Polynomiální a racionální funkce, řady a jejich konvergence; numerická derivace; Čebyševova aproximace; vyhlazování a derivace navzorkovaných zašuměných dat.
7. Obyčejné diferenciální rovnice
Problém počátečních podmínek, problém okrajových podmínek; Eulerova metoda; fixní a adaptivní integrační krok; integrační schémata Runge–Kutta a Bulirsch–Stoer; analýza stability.
8. Hledání kořenů a řešení nelineárních rovnic
Bracketing, bisekce, metody sečen, Brentova, Newtonova–Raphsonova; kořeny polynomických rovnic n-tého řádu v reálném a v komplexním oboru.
9. Hledání maxim a minim funkcí
Hledání minim/maxim jednorozměrných funkcí; hledání extrémů vícerozměrných funkcí pomocí „Downhill Simplex” metody.
10. Fourierova transformace a spektrální metody
Diskrétní Fourierova transformace (DFT), rychlá Fourierova transformace (FFT), jejich odrůdy, FFT ve dvou a více dimensích; konvoluce, korelace, odhad výkonového spektra; wavelety.
11. Náhodná čísla
Generátory rovnoměrného rozdělení; transformační a rejekční metoda pro generování jiných rozdělení; Monte Carlo integrace.
12. Statistika a modelování dat
Distribuce, momenty; elementy inferenční statistiky; obecný lineární fit (regrese), nelineární fit.
Standardní čas výuky: podle aktuálního rozvrhu.
Přednášky ani cvičení nemusejí nutně sledovat strukturu témat uvedenou v sylabu.
V rámci výuky využívané online materiály naleznete v mém Dropbox cloudu přes zkrácený odkaz
v adresáři NuMet (případně můžete použít přímý link do NuMet).
V případě, že něčemu neporozumíte nebo si budete chtít něco ujasnit, jsou k dispozici konzultace.
Pro případ mimořádných okolností uvádím odkaz na organizaci případné online výuky.
ASCII editory
gedit: https://gedit-technology.github.io/apps/gedit/ (rozumná volba)
vim: https://www.vim.org/ (nativní editor na různých unixech, mocný, ale specifické ovládání, někdo adoruje, jiný zatracuje)
GNU Emacs: https://www.gnu.org/software/emacs/, http://ftp.gnu.org/gnu/emacs/windows/ (kultovní editor, opět specifické ovládání, adorován/haněn, budu používat na výuce)
joe – Joe’s Own Editor: https://joe-editor.sourceforge.io/
Další zde: https://www.thefreecountry.com/programming/editors.shtml
Kompilátory C/C++, terminály a shelly
Windows: MSYS2 (https://www.msys2.org/) je kolekce nástrojů a knihoven, které poskytují snadno použitelné prostředí pro vytváření, instalaci a spouštění nativního softwaru Windows (kompilátor a další náležitosti se dodatečně nainstalují pomocí balíčkovacího systému). V sekci Často kladené dotazy je pro usnadnění instalace návod Jak nainstalovat MSYS2?
Linux: bývá automaticky přítomno obojí (typicky terminál, bash shell + kompilátor GCC, Make a další nástroje).
MacOS: nemám zde zkušenosti, ale jelikož MacOS je klon Unixu, měl by být k dispozici terminál, shell a lze doinstalovat kompilátor. Viz též Visual Studio Code níže.
IDE pro C/C++
Visual Studio Code, free, built on Open Source, runs everywhere: https://code.visualstudio.com/ (doporučuji, navíc funguje na Win, MacOS i Linuxu)
Dev-C++, Open Source C/C++ IDE for Windows: https://www.bloodshed.net/
Code::Blocks, the free C/C++ and Fortran IDE: https://www.codeblocks.org/
Numerické knihovny pro C/C++
Press et al.: Numerical Recipes – komerční knihovna, viz [PreEtal2007, PreEtal1997, VetEtal1995] v subsekci Literatury Implementace numerických metod v jazyce C/C++. Ve starších verzích existuje i pro Fortran 90, Fortran 77, Pascal a BASIC.
The NAG (Numerical Algorithm Group) Library – komerční knihovna, “The world’s biggest commercially available library of robust, documented, and tested numerical and statistical algorithms.”
The IMSL Numerical Libraries – komerční knihovna pro jazyky Fortran, C/C++, Python, Java.
GSL – GNU Scientific Library – free software under the GNU General Public License. The GSL is a numerical library for C and C++ programmers.
CERN ROOT – an open-source data analysis framework used by high energy physics and others.
LAPACK – Linear Algebra PACKage, freely-available software package.
BLAS – Basic Linear Algebra Subprograms, freely-available software package.
Intel® oneAPI Math Kernel Library (oneMKL). Fast, efficient, easy-to-use freeware math library. Contains LAPACK and BLAS.
Další: List of numerical libraries, List of numerical-analysis software.
Projekty (malé i trochu větší) vyučujícího napsané v C/C++
Dostupné přes odkaz do mého Dropbox cloudu v sekci Výuka v adresáři Resources/SampleProjects (případně můžete použít link do Resources/SampleProjects). Zatím zveřejněny č. 1, 5, 9, 11–13. Zbylé “hopefully coming soon”.
1. CUMDA – CUMulative Data Analysis (smoothing/computing derivatives of unevenly sampled cumulative time series, formerly CONSRATE); collaboration with D. Štencel in writing his Diploma Thesis in 2016–17
2. DERIVA – trend detection in time series; původně pro DERIVA Solutions, s.r.o., uses FOSPATOX
3. ENTROPY – calculates Shannon entropy of a file and prints it on stdout
4. FAKEPS – makes FAKed EPS mockup images to replace enormously big originals; comes handy when writing image-rich ΤeΧ papers
5. FOSPATOX – FOurier and SPectral Application TOols (or TOys) for eXperiments (Fourier and wavelets)
6. FRACALC – FRActional CALCulus: computes fractional derivative and integral via FFT
7. FRESNEL – digital holography using an ordinary photo camera (unveiled chip behind removed lenses); collaboration with H. Sekanina
8. GRPFS – General Relativistic Polytropic Fluid Spheres (and extension GRPFS+ with stability analysis added); collaboration with Z. Stuchlík, basis for a few scientific papers and posters (see also NOUTILS)
9. MIERANUS – MIE theory RAinbow NUmerical Simulation (EM wave scattering on spherical water droplets; below are examples of rainbow for water droplet radii 10 μm, 30 μm, 45 μm, 125 μm, 250 μm, 0.5 mm, 0.7 mm, 1.0 mm, respectively, from left to right); collaboration with A. Břemková in writing her Diploma Thesis in 2003
10. NOUTILS – a suite of utilities that enable effective handling results issued by a numerical program (e.g. GRPFS)
11. PRIME – interactively tests an input integer number > 1 for being a prime
12. SUMADLO – lehce stupidní terminálová hra pro tři hráče: dva lidi a počítač:-) Původní idea cca 1982–1983 na koleji Větrník v Praze-Petřinách spolu s A. Langrem a M. Holečkem jako zobecnění hry kámen-nůžky-papír
13. TEXWIPE – wipes recreatable files generated by LaΤeΧ. Well, it’s not written in C, it’s mere bash script. But anyway, isn’t bash written in C?
Wolfram Language & Mathematica
Posluchačům bude poskytnuta oficiální studentská licence programu Wolfram Mathematica.
Viz kurs Symbolické výpočty a literatura a reference tamtéž.
Projekty vyučujícího napsané ve Wolfram Language
Dostupné na vyžádání.
1. Customizzer (paclet) – customizing Wolfram Mathematica on the user-specific level
2. Cuticurve (paclet) – an application to analyze skin viscoelastic curves; clinical data kindly provided by H. Klosová, J. Štětinský and I. Bryjová
3. Dieiversary – funny date-related computations
4. Examplet (paclet) – an instructional and testing single-context paclet
5. ExampletMultiplex (paclet) – an instructional and testing multi-context paclet
6. GRPFS – rendering GRPFS data outputs into images; calling an external C-program and processing its output
7. Hemanalytica (paclet) – an assemblage of hematologic data (kindly provided by Z. Lasota and I. Bryjová) accompanied by programmatic tools to facilitate haematologic research
8. SimuLevitron – numerical simulation of rotation-stabilized levitation of permanent magnets
9. PIPPA – Perfusion Image Progression and Prognosis Assessment; collaboration with I. Bryjová, clinical data kindly provided by H. Klosová and J. Štětinský
10. RSITools – Rectifying Stereoscopic Images, a program to interactively create 3D vision from a pair of images taken by an ordinary camera; collaboration with S. Beerová in writing her Diploma Thesis in 2023
11. Snapdragon (paclet, now obsolete) – an eclectic multipurpose cross-disciplinary collection, here asymmetric Savitzky–Golay kernels and their application are shown
12. sh_WebPages – systém pracovních webových stránek vyučujícího (včetně balíčku funkcí WebUtils.wl)
13. SyCo – systém pro zadávání úloh k procvičování v předmětu Symbolické výpočty (včetně stylesheetu SyCo_Style.nb a balíčku funkcí SyCo.wl)
14. Wormhole Design – oficiální znak Fyzikálního ústavu v Opavě (idea Z. Stuchlík)
Každému posluchači bude zadáno téma semestrální práce, může být přihlédnuto k zaměření diplomové práce. Zadaná úloha bude řešena pomocí numerických metod probraných ve výuce. Zkouška se skládá z obhajoby semestrální práce a diskuse o jejích aspektech. Výsledek zkoušky je klasifikován na základě bodového zisku podle 30-bodové klasifikační stupnice. Další podrobnosti na přednášce.
Návrh témat semestrálních prací
1. Keplerova úloha s velikou excentricitou orbitální elipsy a počtem oběhů v řádu tisíců.
2. Rovinné matematické kyvadlo s elastickým závěsem – numerická analýza trajektorií.
3. Sférické kyvadlo – řešení exaktní a s kvadratickým potenciálem.
4. Kapicovo (invertní) kyvadlo – numerická analýza přibližné podmínky stabilizace invertní rovnováhy.
5. Studium van der Polova oscilátoru.
6. Balistika se započtením odporu prostředí a Magnusova jevu.
7. Vyhlazování a derivace časové řady pomocí Savitzkyho–Golayova FIR filtru.
8. Studium dat o onemocnění COVID-19 získaných z webu Ministerstva zdravotnictví ČR.
9. Kompartmentální SIR epidemiologický model.
Možnost navázat na některý vhodný projekt v C/C++ nebo Wolfram Language.
Matematické základy numerických metod
[Ral1978] Ralston, A.: Základy numerické matematiky. Academia, Praha, 1978. Dostupné v knihovně.
[StoBul2002] Stoer, J.; R. Bulirsch, R.: Introduction to numerical analysis. Springer-Verlag, New York, 2002, ISBN 0-387-95452-X. Dostupné v knihovně.
[Vit1987] Vitásek, E.: Numerické metody. SNTL – Nakladatelství technické literatury, Praha, 1987. Dostupné v knihovně.
[Hof2001] Hoffman, J. D.: Numerical methods for engineers and scientists. CRC Press, Taylor & Francis Group, Boca Raton, FL, 2001. ISBN 0-8247-0443-6. Dostupné v knihovně.
[QuSaSa2000] Quarteroni, A.; Sacco, R.; Saleri, F.: Numerical Mathematics. Texts in Applied Mathematics 37. Springer-Verlag New York, Inc., 2000. ISBN 0-387-98959-5. Dostupné na https://www.researchgate.net/publication/230554864_Numerical_Mathematics.
Implementace numerických metod v jazyce C/C++
[PreEtal2007] Press, W. H.; Teukolsky, S. A.; Vetterling, W. T. & Flannery, B. P.: Numerical Recipes: The Art of Scientific Computing. Cambridge University Press, Cambridge, 3rd edition, 2007, 4th printing 2017, ISBN 978-0-521-88068-8. URL http://numerical.recipes/. Dostupné v knihovně. Pozn.: používá programovací jazyk C++; zdrojové kódy na CD-ROM v3.02 jsou rovněž k dispozici v knihovně.
[PreEtal1997] Press, W. H.; Teukolsky, S. A.; Vetterling, W. T. & Flannery, B. P.: Numerical Recipes in C: The Art of Scientific Computing. Cambridge University Press, Cambridge, 2nd edition, 1997. ISBN 0-521-43108-5. URL http://numerical.recipes/. Pozn.: používá programovací jazyk C; zdrojové kódy na CD-ROM v2.10 jsou rovněž k dispozici v knihovně.
[VetEtal1995] Vetterling, W. T.; Teukolsky, S. A.; Press, W. H. & Flannery, B. P.: Numerical recipes : example book (C). Cambridge University Press, Cambridge, 1995. ISBN 0-521-43720-2. Dostupné v knihovně včetně diskety s kódy ISBN 0-521-43724-5.
[Her2003] Herout, P.: Učebnice jazyka C. KOPP, České Budějovice, 2003. ISBN 80-85828-21-9. Dostupné v knihovně.
[Her2004a] Herout, P.: Učebnice jazyka C. 1. díl. KOPP, České Budějovice, 2004. ISBN 80-7232-220-6. Dostupné v knihovně.
[Her2004b] Herout, P.: Učebnice jazyka C. 2. díl. KOPP, České Budějovice, 2004. ISBN 80-7232-221-4. Dostupné v knihovně.
[KerRit1988] Kerninghan, B. W.; Ritchie, D. M.: The C Programming Language. Englewood Cliffs, Prentice Hall, 2nd edition, 1988. ISBN 0-13-110362-8. Dostupné v knihovně.
[RicSal1998] Richta, K.; Šaloun, P.: Programovací jazyk C. Vydavatelství ČVUT, Praha, 1998. ISBN 80-01-01890-3. Dostupné v knihovně.
[Sal1999] Šaloun, P.: Jazyk C pro zelenáče. Neocortex, Praha, 1999. ISBN 80-86330-02-X. (Ne)dostupné v knihovně. Viz též stránku autora na VŠB-TUO.
[Eck2000] Eckel, B.: Thinking in C++, Volume 1. MindView, Inc., 2nd edition, 2000. Available at https://www.micc.unifi.it/bertini/download/programmazione/TICPP-2nd-ed-Vol-one-printed.pdf
[Eck1999] Eckel, B.: Thinking in C++, Volume 2. MindView, Inc., 1999. Available at http://vergil.chemistry.gatech.edu/resources/programming/pdf/TIC2Vtwo.pdf
[Vir2001] Virius, M.: Programování v C++. Vydavatelství ČVUT, Praha, 2001. ISBN 80-01-01874-1. Dostupné v knihovně.
[Rac1994] Racek, S.: Objektově orientované programování v C++. KOPP, České Budějovice, 1994. ISBN 80-85828-20-0. Dostupné v knihovně.
[Lib2007] Liberty, J.: Naučte se C++ za 21 dní. Computer Press, Brno, 2007. ISBN 978-80-251-1583-1. Zahrnuje CD-ROM. Dostupné v knihovně.
Wolfram Language & Mathematica
Viz Wolfram Language & Mathematica v subsekci Softwarové vybavení.
V průběhu semestru mohou být průběžně doplňovány. Dostupnost byla naposledy ověřena návštěvou 2024-02-17.
Tabulky funkcí a integrálů “Abramowitz–Stegun online”: The NIST Digital Library of Mathematical Functions
Tabulky funkcí, integrálů a řad “Gradštejn–Ryžik online”: Table of Integrals, Series, and Products
Fyzikální konstanty (aktuální hodnoty): The NIST Reference on Constants, Units, and Uncertainty
Q: Jak nainstalovat MSYS2?
A: Pokyny pro instalaci jsou detailně popsány na https://www.msys2.org/, …
… ale pro úsporu času a nervů nabízím “kuchařku”, jak s minimálním úsilím vybavit váš počítač s Windows vším potřebným a kompatibilním s tím, co budu používat ve výuce (předpokladem je 64-bitový OS Windows 8.1+). Volitelné činnosti či kroky jsou šedě, ostatní jsou povinné:
0. Pokud již máte starší instalaci MSYS2, doporučuji ji úplně odinstalovat standardním způsobem přes Windows Settings.
1. Stáhněte si aktuální instalátor ‘msys2-x86_64-YYYYMMDD.exe’ ze stránky MSYS2.
2. Spusťte instalátor a absolvujte standardní instalační proceduru. Neinstaluje se žádný nežádoucí bloatware nebo adware a všechny instalační kroky lze bezpečně “odentrovat”; terminál spuštěný v posledním kroku ukončíte vložením příkazu ‘exit’ a odentrováním. Doporučuji přijmout defaultní instalační adresář C:\msys64. Chcete-li instalační adresář změnit, volte rozumně krátkou cestu na NTFS souborovém systému (žádný FAT jako na flešce) obsahující pouze ASCII znaky (žádná diakritika), bez mezer (fuj, jak Microsoft a Apple naučily lidi páchat zvěrstva jako soubory či adresáře nazvané ‘Žluťoučký kůň’ a pod:-), žádné symbolické linky či síťové disky.
3. Z nabídky ‘Start’ vyberte pod položkou MSYS2 podpoložku ‘MSYS2 ▶ UCRT64’, a pro snadné spouštění si ji připíchněte na taskbar nebo udělejte zástupce na ploše. Barva ikony pro environment UCRT64 je následující:
4. Spusťte MSYS2, pravým tlačítkem myši klikněte na písmeno ‘M’ v levém horním rohu rámečku okna terminálu, a pomocí menu ‘Options…’ si nastavte font, barvy a velikost terminálového okna, případně další preference podle svých požadavků. Doporučuji v položce ‘Looks’ vybrat barevné téma ‘gruvbox’ (je příjemné na oči a nevypadá jako neonová reklama na vykřičený dům), v položce ‘Window’ dostatečnou šířku (alespoň 100 znaků) a výšku přes celou obrazovku (neprojeví se hned, musíte MSYS2 ukončit a znovu spustit).
5. Aktualizujte váš MSYS2 změnami, jež se objevily v časovém intervalu mezi publikací použité verze instalátoru a okamžikem vaší instalace spuštěním příkazu
pacman -Suy
Je nutno striktně dodržet malá a velká písmena, nejlépe je příkazy odsud zkopírovat a rovnou vkládat do terminálu; do něj ale se vkládá a kopíruje pomocí pravého tlačítka myši a vybráním Copy nebo Paste z kontextového menu.
Tento proces bude občas přerušován dotazem, zde může pokračovat – vždy odpovězte kladně, tj. odentrováním. Aktualizace si navíc obvykle vynutí zavření okna terminálu, v tom případě musíte MSYS2 znovu spustit, načež proveďte výše uvedený aktualizační příkaz znovu (aktualizace může pokračovat dalším kolem). Opakujte aktualizaci, dokud neuvidíte něco jako
Tím je aktualizace skončena.
6. Nainstalujte všechny potřebné vývojové nástroje (včetně překladače GCC a managementu překladu GNU Make) spuštěním příkazu:
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
Viz také Using GCC with MinGW a Group: mingw-w64-ucrt-x86_ 64-toolchain.
7. Nemáte-li již k dispozici nějaký oblíbený ASCII editor, nainstalujte si třeba gedit spuštěním příkazu
pacman -S mingw-w64-ucrt-x86_64-gedit
Můžete si jej připíchnout na taskbar, udělat zástupce na ploše, nebo jej prostě spouštět z terminálu příkazem
gedit &
Ti, kdo preferují Vim či GNU Emacs, jej místo toho mohou naisntalovat spuštěním příkazu
pacman -S vim
nebo
pacman -S mingw-w64-ucrt-x86_64-emacs
8. Vytvořte si v domovském adresáři systému MSYS2 adresář ‘bin’ (může se hodit jako lokace pro instalaci vašich programů) pomocí
cd; mkdir bin
Domovský adresář vašeho systému MSYS2 je v adresářové struktuře disku typicky ‘C:\msys64\home\<username>’, ale MSYS2 jej “vidí” jako ‘/home/<username>’. Váš domovský adresáři v systému Windows je typicky ‘C:\Users\<username>’, kde <username> je vaše uživatelské jméno, které bude zděděno do systému MSYS2.
9. Občas se hodí utility pro archivaci a kompresi (třeba hned v následujícím kroku):
pacman -S compression
pacman -S mingw-w64-ucrt-x86_64-7zip
10. Stáhněte z adresáře ‘Resources/Exercises/01_Prerequisites’ ve výše uvedeném cloudu (kam můžete také jít přímým linkem) archiv ‘msys2_config_sh.zip’. Za předpokladu, že si jej uložíte do standardní složky pro stažené soubory, spusťte příkaz
i=/c/Users/${USERNAME}/Downloads/msys2_config_sh.zip; unzip -od ${HOME} $i; rm -vf $i
(při jiném umístění musíte cestu k ‘msys2_config_sh.zip’ modifikovat). Tím se doplní a přepíší stávající konfigurační soubory shellu ‘/home/<username>/.bash*’ ve vašem domovském adresáři MSYS2 odpovídajícími modifikovanými konfiguračními soubory z archivu ‘msys2_config_sh.zip’ (ten bude po rozbalení smazán).
Mimo jiné tím navíc získáte aliasy typu ‘gohome’, ‘godown’, ‘godesk’, … umožňující rychlý přechod do vašeho domácího adresáře ve Windows (ne v MSYS2!, viz výše), adresáže pro stahování, adresáře plochy, …, a podobně. Bez této akce by se rovněž adresář ‘bin’ vytvořený v kroku 8 nechoval tak, jak se od něj očekává (tj. že programy v něm umístěné budou systémem nalezeny, takže je nemusíte prefixovat pomocí ‘./’).
Kdo si chce přidat další aliasy, může editovat soubor ‘.bash_aliases’, ale je předtím dobré se přesvědčit, zda alias, který chcete přidat, už z dřívějška neexistuje. Seznam aliasů pak můžete vidět pomocí příkazu
$ cd; cat .bash_aliases
11. Budete-li instalovat další programové komponenty, dejte přednost těm, které po spuštění vyhledávacího příkazu (pozor na rozdíl oproti instalačnímu příkazu)
pacman -Ss <název_komponenty>
zobrazí požadovanou komponentu s barevným prefixem environmentu ‘ucrt64/’. Například výstupem příkazu (v ukázce výpisu je již nainstalován):
pacman -Ss 7zip
je něco jako
V tom případě je třeba instalovat takto (viz tentýž příkaz kousek výše):
pacman -S mingw-w64-ucrt-x86_64-7zip
Někdy pod prefixem ‘ucrt64/’ požadovanou položku nenajdete, například v případě příkazu
pacman -Ss pkzip
s výstupem (v ukázce výpisu je již nainstalován)
Pak se bude instalovat takto:
pacman -S zip
K environmentu UCRT s prefixem ‘ucrt64/’ lze použít pouze environment MSYS s prefixem ‘msys/’. Nemíchejte k nim další environmenty s prefixy ‘clang32/’, ‘clang64/’, ‘clangarm64/’, ‘mingw32/’, ‘mingw64/’, nebude to fungovat. Blíže viz Environments v dokumentaci MSYS2.
12. Perfekcionisté si mohou spustit příkazy
paccache -r
a
pacman -Qm
z nichž první by měl odpovědět
==> no candidate packages found for pruning
a druhý zůstat bez odezvy.
Q: Jaké jsou nejnutnější příkazy linuxového shellu bash v systému MSYS2?
A: Pokud jde o “základní přežití”, …
… navštivte například některý z odkazů
A Beginner's Guide to Surviving in the Linux Shell
Bash cheat sheet: Top 25 commands and creating custom commands
Kompletní referenční manuál najdete zde: Bash Reference Manual.
Pokud jste si podle kroku 10 otázky “Jak nainstalovat MSYS2?” přizpůsobili nastavení, nalezenete v konfiguračních souborech ‘.bash_aliases’ a ‘.bash_functions’ sídlících ve vašem ${HOME} aliasy s dalšími příkazy a funkcemi, např. ‘ll’ pro “dlouhý” výpis obsahu adresáře.
Q: Jak psát soubory Makefile pro management kompilace pomocí GNU Make?
A: Pro potřeby kursu stačí, …
… tutoriál Learn Makefiles with the tastiest examples
Kompletní referenční manuál najdete zde: GNU Make Manual.