Experience-Monks / Experience-Monks/math-as-code

Some ideas

Open
#69 0 comments 4 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
15.5k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

- Missing mathematic symbols like "it exists" or "for all"
- transitivity, commutativity ... maths vs. informatics
- column vector (french notation) vs line column (american notation) and therefore the transpose notation.
- you should add a note concerning implications/risks using almostEqual (ae). A ae B and B ec => A ae C ?
- In almostEqual() code you should use ulp instead of epsilon (ulp are the least significant bit for float). So the current code is ok for pedagogic point of view. Could be nice to add a note on this topic.
- A note concerning strict float comparison (a = b).
- Rational number. You can give a example: 3/5 = (3 * 65536) / (5 * 65536) = 229376/65536 = Q16(229376) So float 0.6 can be written as int 229376.
- logs: log2(1024) = log2(2^10) = 10.
- logs: log(1000) = log10(10^3) = 3
- round: x in [0.0 ... 0.4] => 0 else (x in [0.5 .. 0.9]) => 1
In C: round(float x) = (int) (x + 0.5f); because cast downgrade the value
- Can show the different norms for matrix (by column, by lines)
- discrete time vs continuous time
- variance / covariance can be inspired by: https://www.youtube.com/watch?v=ieL0jxzLhCE&list=PLX2gX-ftPVXU3oUFNATxGXY90AULiqnWT&index=19

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.