diff --git a/math.md b/math.md index 53a3d59..97ddc98 100644 --- a/math.md +++ b/math.md @@ -12,15 +12,15 @@ 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, ... +- **basics** (high-school level math): arithmetic, expression simplification, equations, geometry, trigonometry, systems of linear equations, quadratic equations, [complex numbers](complex_number.md), logarithms, analythical geomtery (many problems generalize to intersecions of N-dimensional shapes), [polynomials](polynomial.md) (used in many areas, e.g. error correction codes in networking), ... - **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, ...). +- **[calculus](calculus.md) and differential equations**: just essential for advanced math and many fields (graphics, 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), ... \ No newline at end of file +- **other**: things important in specific fields, e.g. [quaternions](quaternion.md) (graphics, physics), [lambda calculus](lambda_calculus.md), [game theory](game_theory.md), ...