Skip to main content

Math fundamentals and Katex


It was really tough for me to understand many articles about data science due to the requirements of understanding mathematics (especially linear algebra). I’ve started to gain some basic knowledges about Math by reading a book first.

The great tool Typora and stackedit with supporting Katex syntax simply helps me to display Math-related symbols.

Let’s start!

The fundamental ideas of mathematics: “doing math” with numbers and functions. Linear algebra: “doing math” with vectors and linear transformations.

1. Solving equations

Solving equations means finding the value of the unknown in the equation. To find the solution, we must break the problem down into simpler steps. E.g:

x24=45x24+4=45+4x2=49x=49x=7x=7 or x=7\begin{aligned} x^2 - 4 &= 45\\ x^2 - 4 + 4 &= 45 + 4\\ x^2 &= 49\\ \sqrt{x}&=\sqrt{49}\\ |x| &= 7\\ x=7 &\text{ or } x=-7 \end{aligned}

2. Numbers

Definitions
Mathematicians like to classify the different kinds of number-like objects into sets:

  • The natural numbers: NN = {0,1,2,3,4,5,6,70, 1, 2, 3, 4, 5, 6, 7, … }
  • The integer: ZZ = { … , 3,2,1,0,1,2,3-3, -2, -1, 0, 1, 2, 3, … }
  • The rational numbers: QQ = {53{5}\over{3}, 227{22}\over{7}, 1.5,0.125,71.5, 0.125, -7, … }
  • The real numbers: RR = {1,0,1,2,e,π,4.94...-1, 0, 1, \sqrt{2}, e, \pi, 4.94..., … }
  • The complex numbers: CC = {1,0,1,i,1+i,2+3i-1, 0, 1, i, 1 + i, 2 + 3i, … }

Operations on numbers

  • Addition is commutative and associative. That means:
    a+b=b+aa + b = b+ a
    a+b+c=(a+b)+c=a+(b+c)a + b + c = (a + b) + c = a + (b + c)
  • Subtraction is the inverse operation of addition.
  • Multiplication is also commutative and associative.
    ab=a+a+a+...+ab times=b+b+b+...+ba timesab = \underbrace{a + a + a + ... + a}_{\text{b times}} = \underbrace{b + b + b + ... + b}_{\text{a times}}
    ab=baab = ba
    abc=(ab)c=a(bc)abc = (ab)c = a(bc)
  • Division is the inverse operation of multiplication. You cannot divide by 0.
  • Exponentiation is multiplying a number by itself many times.
    ab=aaa...ab timesa^b = \underbrace{aaa...a}_{\text{b times}}
    ab=1aba^{-b} = {{1}\over{a^b}}
    ana1n\sqrt[n]{a} \equiv a^{{1}\over{n}}

The symbol “\equiv” stands for “is equivalent to” and is used when two mathematical object are identical.

3. Variables

Variables are placeholder names for any number or unknown. Variable substitution: we can often change variables and replace one unknown variable with another to simplify an equation. For example:

65x=xu=x65u=u \begin{aligned} {6 \over{5 - \sqrt{x}}} = \sqrt{x}\\ u = \sqrt{x}\\ {6 \over{5 - u}} = u \end{aligned}

4. Functions and their inverses

The inverse function f1f^{-1} performs the opposite action of the function ff so together the two functions cancel each other out. For example:

  1. f(x)=cf(x) = c
  2. f1(f(x))=x=f1(c)f^{-1}(f(x)) = x = f^{-1}(c)
  3. x=f1(c)x=f^{-1}(c)

Common functions and their inverses:
functionf(x)inversef1(x)x+2x22x12xx2±x2xlog2(x)3x+513(x5)axloga(x)exp(x)exln(x)loge(x)sin(x)sin1(x)arcsin(x)cos(x)cos1(x)arccos(x) \begin{aligned} function f(x) &\Leftrightarrow inverse f^{-1}(x)\\ x+2 &\Leftrightarrow x-2\\ 2x &\Leftrightarrow {1\over2}x\\ x^2 &\Leftrightarrow \pm{\sqrt{x}}\\ 2^x &\Leftrightarrow log{_2}(x)\\ 3x + 5 &\Leftrightarrow {1\over 3}(x-5)\\ a^x &\Leftrightarrow log{_a}(x)\\ exp(x) \equiv e^x &\Leftrightarrow ln(x) \equiv log{_e}(x)\\ sin(x) &\Leftrightarrow sin^{-1}(x) \equiv arcsin(x)\\ cos(x) &\Leftrightarrow cos^{-1}(x) \equiv arccos(x) \end{aligned}
The principle of “digging” (Bruce Lee-style) toward the unknown by applying inverse functions is the key for solving all these types of equations, so be sure to practice using it.

5. Basic rules of algebra

Given any three numbers a, b, and c we can apply the following algebraic properties:

  • Associative property: a+b+c=(a+b)+c=a+(b+c)a + b + c = (a + b) + c = a + (b+ c) and abc=(ab)c=a(bc)abc = (ab)c = a(bc)
  • Commutative property: a+b=b+aa + b = b + a and ab=baab = ba
  • Distributive property: a(b+c)a(b + c) = ab+acab + ac

Some algebraic tricks are useful when solving equations

  • Expanding brackets: (x+3)(x+2)=x2+5x+6(x + 3)(x +2) = x^2 + 5x + 6
  • Factoring: 2x2y+2x+4x=2x(xy+1+2)=2x(xy+3)2x^2y + 2x + 4x = 2x(xy + 1 + 2) = 2x(xy + 3)
  • Quadratic factoring: x25x+6=(x2)(x3)x^2-5x+6=(x-2)(x-3)
  • Completing the square: Ax2+Bx+C=A(xh)2+kAx^2 + Bx + C = A(x- h)^2 + k e.g: x2+4x+1=(x+2)23x^2 + 4x + 1 = (x + 2)^2-3

6. Solving quadratic equations

The solutions to the equation ax2+bx+c=0ax^2 + bx + c =0 are
x1=b+b24ac2aandx2=bb24ac2a x_1 = {{-b + \sqrt{b^2 - 4ac}}\over{2a}} \quad and \quad x_2 = {{-b -\sqrt{b^2-4ac}}\over{2a}}
Actually, we can use the technique completing the square to explain this formula.

7. The Cartesian plane

Vectors and points

  • Point: P=(Px,Py)P = (P_x, P_y). To find this point, start from the origin and move a distance PxP_x on the x-axis, then move a distance PyP_y on the y-axis.
  • Vector: v=(vx,vy)\overrightarrow{v} = (v_x, v_y). Unlike points, we don’t necessarily start from the plane’s origin when mapping vectors.

Graphs of functions

The Cartesian plane is great for visualizing functions, f:RRf: {R} \rightarrow {R}

A function as a set of input-output pairs (x,y)=(x,f(x))(x, y) = (x, f(x))

8. Functions

We use functions to describe the relationship between variables.

To “know” a function, you must be able to understand and connect several of its aspects including definition, graph, values and relations.

Definition: f:ABf: A \rightarrow B. Function is a mapping from numbers to numbers.

  • Function composition: fog(x)f(g(x))=zfog(x)\equiv f(g(x)) = z
  • Inverse function: f1(f(x))f1of(x)=xf^{-1}(f(x)) \equiv f^{-1}o f(x) = x
  • Table of values: {(x1,f(x1)),(x2,f(x2)),...}\{(x1, f(x1)), (x2, f(x2)), ...\}
  • Function graph: using the Cartesian plane
  • Relations: e.g: sin2x+cos2x=1sin^2x + cos^2x = 1

9. Function references

- Line

The equation of a line: f(x)=mx+bf(x) = mx + b and f1(x)=1m(xb)f^{-1} (x) = {{1\over m} (x-b)}
The general equation: Ax+By=CAx + By = C

- Square/Quadratic: f(x)=x2f(x) = x^2

- Square root: f(x)=xx12f(x) = \sqrt x \equiv x ^{1\over2}

- Absolute value: f(x)=x={xif x0,cif x<0.f(x) = |x| = \begin{cases} x &\text{if } x \ge 0, \\ c &\text{if } x \lt 0.\end{cases}

- Polynomial functions: f(x)=a0+a1x+a2x2+a3x3+...+anxnf(x) = a_0 + a_1x + a_2x^2 + a_3x^3 + ... + a_nx^n

- Sine: f(x)=sin(x)f(x) = sin(x)

- Consine: f(x)=cos(x)=sin(x+π2)f(x) = cos(x) = sin(x + {\pi\over2})

- Tangent: f(x)=tan(x)sin(x)cos(x)f(x) = tan(x) \equiv {sin(x)\over{cos(x)}}

- Exponential: f(x)=exexp(x)f(x) = e^x \equiv exp(x)

- Natural logarithm: f(x)=ln(x)=loge(x)f(x) = ln(x) = log_e(x)

- Function transformation

Vertical translation: g(x)=f(x)+kg(x) = f(x) + k

Horizontal translation: g(x)=f(xh)g(x) = f(x-h)

Veritcal scaling: g(x)=Af(x)g(x) = Af(x)

Horizontal scaling: g(x)=f(ax)g(x) = f(ax)

- General quadratic function: f(x)=A(xh)2+kf(x) = A(x-h)^2 + k

- General sine function: f(x)=Asin(2πλxϕ)f(x) = Asin({2\pi\over\lambda}x - \phi)

10. Polynomials

In general, a polynomial of degree nn has the equation

f(x)=anxn+an1xn1+...+a2x2+a1x+a0k=0nakxkf(x) = a_nx^n + a_{n-1}x^{n-1} + ...+ a_2x^2 + a_1x + a_0 \equiv \displaystyle\sum_{k=0}^na_kx^k

11. Trigonometry

Pythagoras’ theorem
adj2+opp2=hyp2adj2hyp2+opp2hyp2=1sin2(θ)+cos2(θ)=1 \begin{aligned} |adj|^2 + |opp|^2 &= |hyp|^2\\ {{|adj|^2}\over{|hyp|^2}} + {{|opp|^2}\over{|hyp|^2}} &= 1\\ sin^2(\theta) + cos^2(\theta) &= 1 \end{aligned}

12. Trigonometric identities

sin2(θ)+cos2(θ)=1sin^2(\theta) + cos^2(\theta) = 1

sin(a+b)=sin(a)cos(b)+sin(b)cos(a)sin(a+ b) = sin(a)cos(b) + sin(b)cos(a)

cos(a+b)=cos(a)cos(b)sin(a)sin(b)cos(a+b) = cos(a)cos(b) - sin(a)sin(b)

And, more …

13. Geometry

A: area, P: perimeter, V: volume

Triangles: A=12ahaA = {1\over2}ah_a, P=a+b+cP = a + b + c

Sphere: A=4πr2A=4\pi r^2, V=43πr3V={{4\over3}\pi r^3}

Cylinder: A=2(πr2)+(2πr)hA = 2(\pi r^2) + (2\pi r)h, V=(πr2)hV = (\pi r^2)h

14. Circle

Radians: 2π[rad]=36002\pi [rad] = 360^0

15. Sovling systems of linear equations

a1x+b1y=c1a2x+b2y=c2 \begin{aligned} a_1x + b_1y = c1\\ a_2x + b_2y=c_2 \end{aligned}
There are some approaches to sovling it:

  • Solving by substitution
  • Solving by substraction
  • Solving by equating

Reference:
[1]. Ivan Savov, “No bullshit guide to linear algebra”.

Comments

Popular posts from this blog

Styling Sort Icons Using Font Awesome for Primefaces' Data Table

So far, Primefaces has used image sprites for displaying the sort icons. This leads to a problem if we want to make a different style for these icons; for example, I would make the icon "arrow up" more blurry at the first time the table loading because I want to highlight the icon "arrow down". I found a way that I can replace these icons with Font Awesome icons. We will use "CSS Pseudo-classes" to achieve it. The hardest thing here is that we should handle displaying icons in different cases. There is a case both "arrow up" and "arrow down" showing and other case is only one of these icons is shown. .ui-sortable-column-icon.ui-icon.ui-icon-carat-2-n-s { background-image: none; margin-left: 5px; font-size: 1.1666em; position: relative; } .ui-sortable-column-icon.ui-icon.ui-icon-carat-2-n-s:not(.ui-icon-triangle-1-s)::before { content: "\f106"; font-family: "FontAwesome"; position: ...

Java Core - Top 10 Questions Every Developer Should Know

#RandomlyPickedByMe What is the difference between Javascript and Java? Difference between StringBuilder and StringBuffer? Why do I get "SomeType@a3fde" when I print my code? Why is String immutable? Why "equals" method when we have "==" operator? Is List<Dog> a subclass of List<Animal>? Why shouldn't we use raw type? Is Java “pass-by-reference” or “pass-by-value”? What's the advantage of a Java enum versus a class with public static final fields? Why "double x = 0.1 + 0.2" and result of print(x) is 0.30000000000000004? 1. What is the difference between Javascript and Java? Holy crap! (Vietnamese: Thế quái nào lại có câu hỏi ngớ ngẩn vậy chứ?) "Java and Javascript are similar like Car and Carpet are similar." - Greg Hewgill (on StackOverflow) 2. Difference between StringBuilder and StringBuffer String is immutable. StringBuilder and StringBuffer are mutable. StringBuffer is thread-safe. String...

BIRT - Fix the size of an image

I use a dynamic image as a logo my report in pdf. At the beginning, I use table to align the logo in left or right. I meet a problem with some images with a large width or height. My customer requires that the logo should be displayed in original size. These following steps solves my problem: 1. Use Grid instead of Table 2. Set Grid "Height" is 100%  and "Width" is blank 3. Set "Fit to container" for images are "true". Download the the template here .

Regex - Check a text without special characters but German, French

Special characters such as square brackets ([ ]) can cause an exception " java.util.regex.PatternSyntaxException " or something like this if we don't handle them correctly. I had met this issue. In my case, my customers want our application should allow some characters in German and French even not allow some special characters. The solution is that we limit the allowed characters by showing the validation message on GUI. For an instance, the message looks like the following: "This field can't contain any special characters; only letters, numbers, underscores (_), spaces and single quotes (') are allowed." I used Regular Expression to check it. For entering Germany and French, I actually don't have this type of keyboard, so I referred these sites: * German characters: http://german.typeit.org/ * French characters: http://french.typeit.org/ Here is my code: package vn.nvanhuong.practice; import java.util.regex.Matcher; import java.util...

Why Functional Programming Matter

What issues do we concern when implementing and maintaining systems? One of the most concern is debugging during maintenance: "this code crashed because it observed some unexpected value." Then, it turns out that the ideas of  no side effects  and  immutability , which functional programming promotes, can help. Shared mutable data is the root cause Shared mutable data are read and updated by more than one of the methods. Share mutable data structures make it harder to track changes in different parts of your program. An immutable object is an object that can't change its state after it's instantiated so it can't be affected by the actions of a function. It would be a dream to maintain because we wouldn't have any bad surprises about some object somewhere that unexpectedly modifies a data structure. A new thinking: Declarative programming There are two ways thinking about implementing a system by writing a program. - Imperative programming: has...