Rigorously speaking, what is a covector? I'm beggining the study of tensor calculus (i don't know any differential geometry or topology) and i'm having a hard time trying to conciliate the "physicist" vision of a tensor as a "object that transforms like a tensor" with the mathematician vision of a tensor as multilinear map.
And from these two visions, i get two visions about one thing: the covector.
I've seen, in the "physicist POV" that a covector is actually a vector that transforms covariantly to a change of basis transformation. And i have also seen that the gradient, for example, is a covector. So, if i have any vector field that has a potential, then this vector field is in fact a gradient field, and so it is more like a "covector field".
And then there is the mathematician notion that a covector is a functional. I'm pretty shure I understand what is a functional, but i'm not able to relate this to the "physicist POV". For me, a functional $\phi$ is something that acts on an element of some vector space $V$ in the form $\phi: V \rightarrow \mathbb{K}$ where $\mathbb{K}$ is a field. But how can a gradient act on a vector? And how can a functional, geometrically speaking, "transform" when we rotate the axis, for example? This seems very confusing to me. 
So to sum it up:
How to relate the notion of a covector based in his transformation properties and the fact that he is a functional?
Thanks.
 A: A covector is an element of the dual space $V^*$ to the relevant vector space $V$. That is, it is a linear function from $V$ to the underlying field of scalars, say, $S$.
So for example, if your vector space is $R^3$, your covector space is the set of all linear functions from $R^3$ to $R$.
Where confusion can arise is that, for finite-dimensional vector spaces with an inner product, there is a natural way to view covectors in $V^*$ just as vectors in $V$: every vector $v$ has a corresponding covector which is given by evaluating the inner product with $v$.
So, you can view the gradient of a scalar field as a covector, a function from a vector to the rate of change in the scalar field you would see if you passed through that point with velocity given by that vector. Or you can view the gradient as a vector itself, giving the direction and magnitude of greatest increase in the scalar field at that point. (And evaluating the inner product with the gradient vector gives the covector I just described.)
The way this relates to the transformation properties is just a matter of what basis you are using. When using a basis that is naturally related to the coordinate system of the manifold, it is easiest to write the gradient in the covector basis, so its components transform covariantly.
