Domain, Co-Domain & Range of a Function I'm a little confused between the difference between the range & co-domain of a function. Are they not the same thing (i.e. all possible outputs of the function)?
 A: I think your confusion may stem from differing uses of terminology.
For a function $f: X \rightarrow Y$, the codomain is just the set $Y$.  For instance, if $f: \mathbb{R} \rightarrow \mathbb{R}$ is $x \mapsto x^2$, then the codomain is $\mathbb{R}$.  This terminology is agreed upon by all who use it: i.e., I have never seen anyone use the term "codomain" to mean anything else.
Unfortunately the term range is ambiguous.  It is sometimes used exactly as codomain is used above, so some say that $\mathbb{R}$ is the range of the squaring function defined above.  However, those who use the term codomain at all usually reserve the term "range" for the subset $\{y \in Y \ | \exists x \in X \text{ such that } f(x) = y\}$, i.e., the subset of values which are actually mapped to by some element in the domain.  (Some others use the term image for this instead.)  So in the above example the image of the function is $[0,\infty)$.  Whether the range is $\mathbb{R}$ (i.e., the codomain) or $[0,\infty)$ (i.e., the image) depends upon your convention, and both are rather prevalent.
In practice, this means that it would be safest never to use the term range, instead using codomain and image.  (But most people don't do that either...)
A: To add a bit to Pete's and lhf's answer: assuming we are talking about functions from one set to another, there are two common ways of viewing functions:


*

*As sets $f$ such that:


*

*Every element of $f$ is an ordered pair; and

*If $(x,y)$ and $(x,y')$ are both elements of $f$, then $y=y'$.


When viewing functions this way, the domain is the set: $\{x\mid\text{there exists }y\text{ such that }(x,y)\in f\}$. 
We write $f(x)=y$ to mean $(x,y)\in f$. And two functions are equal if and only if they are equal as sets. In this case, when we write $f\colon A\to B$, we mean that $A$ is the domain, and that $B$ is any set such that $\{y\mid \text{there exists }x\text{ such that }(x,y)\in f\}\subseteq B$. Note that the function $f\colon \mathbb{R}\to\mathbb{R}$ and the function $g\colon\mathbb{R}\to\{1,-1\}$ given by $f(x)=g(x)=1$ if $x\geq 0$, $f(x)=g(x)=-1$ if $x\lt 0$ are equal functions, because they are equal as sets.
One problem with this definition is that it makes no real sense to ask if a given function is "surjective", because there is no understood "target set". You have to ask about "surjective onto $B$". 

*As ordered triples $(A,B,f)$, where $A$ and $B$ are sets, and $f\subseteq A\times B$ is a function in the sense above. $A$ is called the domain, $B$ is called the codomain, and two functions are equal if and only if they have the same domain, the same codomain, and the same value at each element of the domain. This is, I believe, the Bourbaki approach. In this case, the two functions $f$ and $g$ I mentioned above are different, because they have different codomains. 
Here, the notion of surjective does make sense, and it provides good duality with the notion of one-to-one (though not complete duality; e.g., "a one-to-one function has a left inverse" only requires you to assume the domain is nonempty, but "an onto function has a right inverse" requires, and in fact is equivalent to, the Axiom of Choice).
This is what leads to the problems of the meaning of "codomain", I think. The codomain of a function only makes sense (in the singular definite article way) in the second definition. The similar set that can be defined uniquely and precisely in the first definition is the image, which would be the dual of the domain: the set $\{y\mid\text{there exists }z\text{ such that }(z,y)\in f\}$. But, being the dual definition, there is a temptation of calling it the "codomain", which clashes with the definition in the second instance.
A: A function $f: X \to Y$ has $X$ as domain and $Y$ as co-domain. The image of $f$ is the subset of $Y$ given by $F(X)=\{ f(x) : x\in X \} \subseteq Y$, that is, the set of values taken by $f$. When $F(X)=Y$, we say that $f$ is surjective. In general, $F(X)\ne Y$. For example, $\sin: \mathbb R \to \mathbb R$ is not surjective but $\sin: \mathbb R \to \mathbb [-1,1]$ is.
As mentioned in wikipedia, some people use range for co-domain, others for image. I think it's best to avoid range altogether.
A: Example: a codomain could be as big as all real numbers, but the range is the exact set of numbers that are given by the domain. 
If there was a domain {1,2,3} with a formula 2x, the range would be every number to each input, so {2,4,6}. it is the exact number of outputs given by the formula and inputs. the codomain of that problem I just gave, however, could be Natural numbers, real numbers, whole numbers, any set that contains those elements 2, 4, 6 inside them.
A: The term codomain is mostly used in an unsound way.  Indeed, the majority of mathematics texts define a function as a functional relation, that is: a relation (set of ordered pairs) in which no two pairs have the same first member. Given a function f, the set of the first elements of all pairs in f is uniformly called the domain of f; for the set of second elements, various names coexist, including codomain, range, image.  By the ISO standard, the notation f : A -> B declares a function f with domain A and range included in B. Many texts call B the codomain of f, which is unsound because B is not uniquely defined by f. 
In any case, the term codomain is not used by Bourbaki (see Theorie des Ensembles).  Bourbaki defines a function in two ways, (i) as a triple (F, A, B) where F is a functional relation with domain A and range included in B, (ii) simply as a functional relation (page 77). He disambiguates (p. 76) by calling (F, A, B) an application from A in B.  The terms surjective and bijective originate from Bourbaki and make sense only for applications.  For functions, one must specify a set, e.g., bijective on B (see Exner, An Accompaniment to Higher Mathematics).
