Update math

This commit is contained in:
Miloslav Ciz 2021-12-26 14:55:15 -06:00
parent 7757a13862
commit dab8cee661

17
math.md
View file

@ -8,4 +8,19 @@ On the other hand, one does not have be a math PhD in order to be a great progra
## Overview
TODO
Following are some areas of math one, as a programmer, should be familiar with:
TODOOOOOOOOOOOOOOOOO
- **basics** (high-school level math): arithmetic, expression simplification, equations, geometry, trigonometry, systems of linear equations, quadratic equations, [complex numbers](complex_number.md), logarithms, ...
- **advanced notation**: ability to understand the notation that's often used in papers etc. (the big sigma for sum etc.)
- **formal [logic](logic.md)**: computers are based on Boolean logic, knowing basic formulas and theorems here is crucial (e.g. the completeness of [NAND](nand.md)), formal logic is also just generally used in formal texts, one should know about predicate vs propositional logic, the notation symbols, etc.
- **[linear algebra](linear_algebra.md)**: aka "vectors and matrices", essential in many fields such as [graphics](graphics.md) and [machine learning](machine_learning.md).
- **[calculus](calculus.md) and differential equations**: just essential for advanced math and many fields (graphics, physics, machine learning, electricity, physics, any optimization, ...).
- **theoretical [computer science](compsci.md)**: [computational complexity](computational_complexity.md) (very important), [computability](computability.md), [formal languages](formal_language.md), computational models ([automata](automaton.md), [Turing machines](turing_machine.md), ...), ...
- **number and set theory**: sets of numbers (natural, rational, real, imaginary, ...), [prime numbers](prime.md) (important e.g. for [cryptography](cryptography.md)), ...
- **discrete math**: basic structures such as [groups](group.md) and [fields](field.md) and their properties.
- **[signal processing](signal_processing.md)**: [Fourier transform](fourier_transform.md) and other integral transforms (important e.g. for [compression](compression.md) and analysis of signals), [aliasing](aliasing.md), filter theory, ...
- **[numerical methods](numerical.md)**: for simulations and approximations of solutions to problems we can't solve exactly.
- **[probability](probability.md)/statistics**: encountered practically everywhere but very important e.g. in [cryptography](cryptography.md).
- **other**: things important in specific fields, e.g. [quaternions](quaternion.md) (graphics, physics), [lambda calculus](lambda_calculus.md), [game theory](game_theory.md), ...