Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mathematics, Surprisingly

Mathematics, Surprisingly

Do programmers need advanced mathematics? And what if they are designing and implementing a programming language? In the talk I will show where I needed mathematics in my work at Jut and how bad job I would have done without understanding it. You can think of this as a small contribution to a discussion about education of programmers and the role of mathematics and other theoretical subjects in it.

Presented at Rubyslava #52 (Data Science Edition).

Video: https://www.youtube.com/watch?v=7cThtM6Yk1A

Details:
http://lanyrd.com/2015/rubyslava-october/sdxdgc/
https://www.facebook.com/events/862212323886828/

David Majda

October 22, 2015
Tweet

More Decks by David Majda

Other Decks in Programming

Transcript

  1. read … | ( reduce -every :5s: max(value) by host

    | @timechart; keep time, value | @logger )
  2. read … | ( reduce -every :5s: max(value) by host

    | @timechart; keep time, value | @logger ) read @timechart reduce keep @logger
  3. (a 1,1 ∨ … ∨ a 1,m(1) ) ∧ …

    ∧ (a n,1 ∨ … ∨ a n,m(n) )
  4. { c: 3, s: 6, m: 3 } read …

    | reduce c = count(x) s = sum(x) m = max(x) { x: 1 } { x: 2 } { x: 3 }
  5. { c: 2, s: 3, m: 2 } read …

    | reduce c = count(x) s = sum(x) m = max(x) { x: 1 } { x: 2 }
  6. { c: 1, s: 1, m: 1 } read …

    | reduce c = count(x) s = sum(x) m = max(x) { x: 1 }
  7. { c: ?, s: ?, m: ? } read …

    | reduce c = count(x) s = sum(x) m = max(x) (nothing)
  8. { c: 0, s: ?, m: ? } read …

    | reduce c = count(x) s = sum(x) m = max(x) (nothing)
  9. { c: 0, s: ?, m: ? } read …

    | reduce c = count(x) s = sum(x) m = max(x) (nothing)
  10. { c: 0, s: 0, m: ? } read …

    | reduce c = count(x) s = sum(x) m = max(x) (nothing)
  11. { c: 0, s: 0, m: ? } read …

    | reduce c = count(x) s = sum(x) m = max(x) (nothing)
  12. { c: 0, s: 0, m: undefined } read …

    | reduce c = count(x) s = sum(x) m = max(x) (nothing)
  13. { c: 0, s: 0, m: undefined } read …

    | reduce c = count(x) s = sum(x) m = max(x) (nothing)
  14. { c: 0, s: 0, m: -Infinity } read …

    | reduce c = count(x) s = sum(x) m = max(x) (nothing)
  15. Set S, operation ⊕ : S ⨉ S → S

    1. ⊕ is associative on elements of S 2. S contains identity element under ⊕
  16. N * D → D D * N → D

    N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  17. N * D → D D * N → D

    N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  18. N * D → D D * N → D

    N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  19. N * D → D D * N → D

    N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  20. N * D → D D * N → D

    N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  21. N * D → D D * N → D

    N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  22. N * D → D D * N → D

    N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  23. N * D → D D * N → D

    N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  24. N * D → D D * N → D

    D / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  25. N * D → D D * N → D

    D / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  26. N * D → D D * N → D

    D / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
  27. N * D → D D * N → D

    D / D → N D / N → D D % D → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D