Difference between Tensor product, dot product and the action of dual vector on a vector In the book Schutz on general relativity, I have come across the dot product between vectors, the action of a dual vector on a vector (or also a tensor on vectors) and the tensor product between dual vectors and vectors. I am not able to understand the difference between the three distinctively. Kindly help. Try to keep it simple and not too mathematical. Still a beginner. 
 A: Unfortunately this is mathematical because it is linear algebra. Still, I'll try to make it as simple as possible.
Dot Product, also known as Inner Product
The dot product is the usual product from basic geometry. Let us work on $\mathbb{R}^3$, the euclidean three-dimensional space. Given two vectors sitting on the origin, $v,w\in \mathbb{R}^3$ we define the dot product between them to be:
$$v\cdot w = v_xw_x+v_yw_y+v_zw_z$$
The reason is that this gives information about lengths and angles. First, the length of a vector, which is the distance between the origin and the point it reaches, is simply $|v|=\sqrt{v\cdot v}$ the angle between two vectors is characterized by $v\cdot w = |v| |w| \cos\theta$.
The inner product ends up being the name of the generalization of this. First one can readily generalize to an euclidean space of arbitrary dimension $\mathbb{R}^n$ by creating the inner product between $v,w\in \mathbb{R}^n$ as
$$\langle v,w\rangle=\sum_{i} v_i w_i$$
and defining the length and angle by the corresponding formulas. The inner product can be further abstracted. One can define it by axioms: saying what properties it is expected to have. And this generalizes even further to more abstract spaces. The bottom line is: the inner product gives geometric information such as angles and lengths of vectors.
Important to understand also, the inner product gives you the idea of projecting one vector in the direction of the other. Actually, if $w$ is a unit vector, $|w|=1$, then $\langle v,w\rangle$ is the projection of $v$ in the direction of $w$. You can check this in $\mathbb{R}^3$ to be according to our intuition.
The action of a covector on a vector
Now, forget $\mathbb{R}^n$. Consider instead one vector space $V$ over the real numbers. Associated to every such vector space, there is the so-called dual space denoted $V^\ast$. It is defined as the space of all linear functions that takes vectors and delivers numbers. In symbols, a member of $V^\ast$ is a function $f : V \to \mathbb{R}$, it takes an element of the set to the left of the arrow and gives one element to the right of the arrow. Furthermore, $f$ is linear, meaning that $f(\alpha v + \beta w) = \alpha f(v) + \beta f(w)$. All such functions comprises $V^\ast$.
It turns out that if $V$ has an inner product $\langle,\rangle$ defined on it, you can build elements of $V^\ast$ with it. You just fix one arbitrary vector $w\in V$, and define $f_w : V\to \mathbb{R}$ to be
$$f_w(v)=\langle v,w\rangle$$
What is $f_w$? It is a function that takes a vector and dots it with the fixed $w$, so it projects. Actually, independently of the existence of an inner product we can think of all elements of $V^\ast$ as things that takes vectors and extract projections. This is the way to understand $V^\ast$ and covectors in general.
By the way, if $V$ is finite dimension and has one inner product, as it will be in general relativity, this works the other way around to. All covectors are of this form: the inner product with a certain vector.
Importantly enough, if $\{e_i\}$ is a basis for $V$, there is one special basis for $V^\ast$ called dual basis of $\{e_i\}$ defined as all elements $\varphi^i : V\to \mathbb{R}$ such that $\varphi^i(e_j)=\delta^i_j$.
The Tensor Product
The tensor product is altogether different. There is one very general and abstract definition which depends on the so-called universal property. It states basically the following: we want the most general way to multiply vectors together and manipulate these products obeying some reasonable assumptions.
We won't follow this route. For differential geometry (which is the language of general relativity), there is another definition which ends up being equivalent to this one for the case of interest.
Given a vector space $V$, we know $V^\ast$ the space of all linear functions $f : V\to \mathbb{R}$. We also know the inner product, which is a function that takes two vectors and delivers a number. We symbolicaly write $\langle,\rangle : V\times V\to \mathbb{R}$ because it takes two vectors to a number.
Furthermore, if we fix a vector $w\in V$ into either entry of $\langle,\rangle$, the other slot is linear. Such a map is called bilinear. It is linear in each entry with the others held fixed with something in them.
We define a tensor of type $(r,0)$ to be the generalization to $r$ vectors. It takes $r$ vectors to a number, and is linear in each entry with the others held fixed. We write $T : V\times\cdots \times V \to \mathbb{R}$ with $r$ copies of $V$. The space of tensors of type $(r,0)$ is denoted $T_r^0 (V)$ and obviously $T_1^0(V)=V^\ast$.
Now, if you have $f,g\in V^\ast$ it is quite obvious that $T(v,w)=f(v)g(w)$ is an element of $T_2^0(V)$. If $f\in V^\ast$ and $h\in T_2^0(V)$ for example, we also have $T(v_1,v_2,v_3)=f(v_1)h(v_2,v_3)$ one element of $T_3^0(V)$.
The generalization is the tensor product. It is one operation that concatenates together two tensors in this way. It can be written as $\otimes : T_r^0(V)\times T_s^0(V)\to T_{r+s}^0(V)$ and is defined so that if $T\in T_r^0(V)$ is a $(r,0)$ type tensor and $S\in T_s^0(V)$ is an $(s,0)$ type tensor, then
$$T\otimes S(v_1,\dots,v_r,w_1,\dots,w_s)=T(v_1,\dots,v_r)S(w_1,\dots,w_s).$$
Now a theorem says that given a basis $\{e_i\}$ of $V$ and the dual basis $\{\varphi^j\}$ of $V^\ast$, then for every $r\in \mathbb{N}$, the set of all products of $r$ elements $\varphi^j$ is a basis of $T_r^0(V)$. For example, $\{\varphi^i\otimes \varphi^j\}$ is a basis of $T_2^0(V)$.
Differences and relations
Each product has its use. Inner products give geometric ideas like projections, angles and lengths. Covectors when applied to vectors can also be thought to be giving some sort projections, but they don't give alone a notion of angles and lengths. While inner products must be postulated (a vector space can carry an inner product or not), all vector spaces comes with covectors together in the dual.
The tensor product is a more general multiplication of vectors that allows one to build a tensor algebra. But for differential geometry, tensors are to be thought as multilinear maps of a number of vectors. In this setting the tensor products allow us to build higher types of tensors by putting together other ones of lower types.
Interestingly, since the inner product itself is a $(2,0)$ tensor, and since we can form a basis for $T_2^0(V)$ using covectors and the tensor product, we see that the inner product ends up being a linear combination of products of covectors. It is, thus, build out of covectors really.
A: The tensor product combines two lower rank tensors into a higher rank one. For example, you can put two vectors $v^a$ and $w^b$ together to create a rank-2 tensor $v^aw^b$, which can be thought as a matrix. In this particular example, the tensor product is essentially the direct product of two vectors. You can generalize this idea to higher rank tensors straightforwardly.
The dot product combines two vectors into a scalar (a number). It is actually the inner product. You need a metric $g_{ab}$ to do so. 
The action of a dual vector $\omega_a$ on a vector $v^a$ also results in a scalar. The difference is that the metric tensor is not needed. 
If a metric tensor $g_{ab}$ exists, the above two operations are related. If a vector field $w^a$ is given, you can construct a dual vector $\omega_a=g_{ab}w^b$, and the action of $\omega_a$ on a vector $v^a$ is actually the inner product between $v^a$ and $w^a$: $\omega_av^a=g_{ba}w^bv^a$.
