Why are vector valued functions 'well-defined' when multivalued functions aren't? I'm looking for an 'intuitive' answer here, because I have no formal mathematical training but find myself in a comparatively math-heavy PhD (visual perception; lots of neuroscientists on the one side and CS folk on the other).
Only functions which map some number of inputs to a single output are considered 'true' or 'well-defined' functions. I've seen squaring (and presumably other exponents) given as an example: [any number] squared produces a single 'output', though some outputs for different inputs may be the same: e.g. -2 and 2 squared both equal 4. By contrast, I've seen square-root given as an example of a NON-'well-defined' function, because sqrt(4) can equal both 2 and -2. A single input maps to multiple outputs, violating the definition of a 'true' function.
(EDIT: As @Eff says in the comments, this is an incorrect example because sqrt(4) is in fact defined to equal 2 alone. But I hope my broader point is still clear)
Presumably, the benefits of 'true' functions as defined by this constraint come in terms of assumptions one can make, and guarantees one can rely on when reasoning about the function. Vector-valued functions return multiple scalar values (organised within a tuple) and considering my programmer background I can't see how this differs, except in terminology, from a multivalued function.
Yet I have never read anybody suggesting vector-valued functions aren't true functions. As it stands, if I were faced with the task of inverting a function which takes multiple inputs, I'd simply define the inverse as vector-valued, to sidestep the constraint. My sqrt(4) would be the tuple (2,-2). From a software engineering perspective, even in C where functions may return no more than one argument, that argument could be an array or a struct. It feels like either both or neither of multivalued and vector-valued functions meet the definition of being 'well-defined' / 'true' functions. What am I misunderstanding?
 A: Your terminology is confusing because there is such a thing as a vector valued function, that's a legitimate (and well defined) function into something like $\mathbb R\times\mathbb R$.  What you mean is "why can't a function take two different values on the same input?"  Such a thing does exist, it's called a relation.  But a relation is not a function unless it has an extra property.  There's no harm in working with relations, they just don't satisfy all the nice properties functions do, so you really need functions and not just relations to make headway.
A: What you are getting confused by most probably is the fact that a vector seems to be multiple elements, but really it's not, it's just a single element which (often) has multiple parts. 
You can even have so called set-valued functions. An easy one to think of is the function which takes a positive integer to the set of its prime divisors. Let's call this function $\pi$.
The important thing in both these cases is that a given input only has one output. So in the case of a vector-valued function the output is the full vector (all of its parts). In the case of the set valued function for prime divisors you have to get the set of all the prime divisors. So for example $\pi(15)=\{3,5\}$ you can't have $\pi(15)=\{3\}$ or $\pi(15)=\{5\}$. There is only the one set containing all the divisors. It's the same situation with vector-valued functions. There is only one vector for any input. The function can't return just part of a vector. Thus we still have only one output for every input--it's just a bigger output.
As to why we don't define inverses as vector valued, that has a very easy reason. They wouldn't be inverses anymore. The definition of an inverse to a function $f$ is a function $g$ for which $g(f(x))=x$ if the value of $g$ is a vector containing $x$ that doesn't do what we want. It doesn't tell us the value of the original input to function $f$.
A: Your intuition seems fine; the issue seems primarily linguistic.
Let's start with the usual (mildly pedantic) definition of a "function" in terms of sets: If $X$ and $Y$ are non-empty sets, their Cartesian product $X \times Y$ is the set whose elements are ordered pairs $(x, y)$ with $x \in X$ and $y \in Y$. A function $f:X \to Y$ is a subset of $X \times Y$ satisfying the following property:

For every $x$ in $X$, there exists a unique $y$ in $Y$ such that $(x, y) \in f$.

The conceptual content is that each input $x$ uniquely determines the output $y = f(x)$. Philosophically, a function can be viewed as a mathematical formalization of determinism: If initial conditions (i.e., $x$) are known, then a subsequent state (i.e., $y$) is uniquely determined.
Note that to avoid verbal ambiguity, mathematicians always (at least implicitly) specify the domain $X$ (the set of inputs) and the target $Y$ (the set of potential outputs) when speaking of a function. (Non-mathematicians can often afford to be more lax, writing down formulas or the equivalent and speaking of "the corresponding function".)
It's certainly useful in some circumstances to allow "multi-valued functions". A multi-valued function $F:X \to Y$ might be defined as a subset of $X \times Y$ satisfying the property:

For every $x$ in $X$, there exists a $y$ in $Y$ such that $(x, y) \in F$.

Just as in computer science, a multi-valued function $F:X \to Y$ may be "interpreted as" (or, more precisely, "converted to") a single-valued function by allowing the function to return a "compound data structure" rather than an element of $Y$.
To convert a multi-valued function into a single-valued function, we might view $F$ as taking values in the power set $\mathscr{P}(Y)$, whose elements are subsets of $Y$.
For example, if $X = [0, \infty)$ and $Y = (-\infty, \infty)$ denote intervals of real numbers, the set
$$
F = \{(x, y)\text{ in } X \times Y: y^{2} = x\}
$$
would be the (generally double-valued, i.e., not well-defined) "square root function", $F(x) = \pm\sqrt{x}$.
The "value" of $F$ at a positive real number $x$ could, however, be viewed as the set (a.k.a., unordered pair) $\{\sqrt{x}, -\sqrt{x}\}$. Doing so would amount to defining a single-valued (i.e., well-defined) function $F_{1}:[0, \infty) \to \mathscr{P}\bigl((-\infty, \infty)\bigr)$ in "the obvious way": If $0 \leq x$, then $y \in F_{1}(x)$ if and only if $y^{2} = x$, if and only if $y = \sqrt{x}$ or $y = -\sqrt{x}$. As a formula,
$$
F_{1}(x) = \{-\sqrt{x}, \sqrt{x}\}.
$$
Alternatively, the "value" of $F$ could be viewed as an ordered pair: $(-\sqrt{x}, \sqrt{x})$. Doing so would amount to defining a single-valued function $F_{2}:[0, \infty) \to (-\infty, \infty) \times (-\infty, \infty)$.
As a formula,
$$
F_{2}(x) = (-\sqrt{x}, \sqrt{x}).
$$
(One can imagine returning even more exotic objects, such as probability measures on a set of elements. The point is, there's not a unique way of making a multi-valued function into a single-valued function.)
Again, the primary issue seems linguistic. The single relation $F$ above may be viewed as "double-valued" in the real numbers (not well-defined); as single-valued in sets of reals; or as single-valued in ordered pairs of reals. But there's no terminological ambiguity, because a mathematician would view these as three distinct entities.
A: This is because of how we define equality of vectors:
$$ (x_1,\dots,x_n)= (y_1,\dots,y_n) \iff x_1=y_1, \dots, x_n=y_n $$
A function $f:A \to B$ being single-valued if $a = b \implies f(a)=f(b)$.
Take for example the  function $f: \mathbb{R} \to \mathbb{R}^2 $ given by $f(x) = (x,2x) $.
This is well-defined because for any two numbers $x,y$ we have: $$x=y \implies x=y,2x=2y \implies f(x) = (x,2x) = (y,2y) = f(y)$$
A: Certain objects are called functions if they fit a certain defining criteria. If an object does not fit the definition of a function, it is not a function. On one hand, this is completely arbitrary. On the other hand, a large amount of mathematics depends heavily on this definition, so changing this definition to suit your fancy is not a task to take lightly.
You need to ask yourself if the 'functions' you are working with need to obey the mathematical definition of a function: in particular, do your research and conclusions depend on mathematical theorems that expect a function to behave a certain way? If they do, you should stick to the accepted definition. If they don't, you should stick to the accepted definition anyway.
To answer your direct question: a function that returns a vector fits the definition of a function because the 'single returned value' is a vector, and a vector is a single object. This is the same as a computer function returning a pointer or reference to a data structure other than the built in primitive types. When you call this computer function, you expect only a single return, and your algorithm functions properly. If you are expecting a vector, then your program probably knows to make sure it got a vector and then does something with that vector. 
If you have a function that takes a number as input and returns a number, then any mathematical expression or computer program will be written expecting a single number. If you get a set or vector instead, then your expression or program will not work as expected.
A: A well defined Function is a function that when you give an input there is only one output. if different inputs coincide with some outputs its ok .BUT you cant have an input giving you 2 outputs
A: For vector-valued function, it's a function because it's a relation where every input has exactly one output.  The key part about that definition is that it doesn't specify what type of output it has to be.
In math, a function is just a relation between two sets where each input has exactly one output.  (There may be more nuance than that, I haven't looked up the formal definition in awhile.)
In your post, you use terms like "'true' function", as if there's a different type of function.  There isn't.  A relation is either a function or not a function.  It isn't more complicated than that.
In your square-root example, f(x) = x^(1/2), you can simply define the output to be always positive, and it's a function.  Or you could define the output to be positive or negative, and it's not a function.  Your relation will still exist, but the state of your relation being a function will have changed.
For a 'multi-valued function', I'm assuming you mean 'valued' to mean the output value from the function for a given input, and 'multi-valued' to mean some inputs in the function has multiple outputs.  That's not a function.  That's something else (a relation). As I said above, a function is a relation where each input has exactly one output.  If an input has multiple outputs or no outputs, it's not a function.
If you restrict the inputs so the cases where multiple or no outputs are removed, your relation has become a function.  If you restrict the outputs so that each input has exactly one output, your relation has become a function.
If you want good intuition in math, you need to realize that your choices are where the flexibility lies, not in the definitions.  Your definitions are immutable, but you can pick and choose which definitions you choose to accept/deny, and how to apply them.  Be careful, however, because with your definitions comes all their logical extensions, which sometimes will make your choices of definitions meaningless.
(Some interesting things may show up if you say that the set of permissible outputs is a set of sets.  For example, F:R->A, where f(x) = {y: x>y}, and R is the set of reals.  That is, for a given input x a real number, the output is the set of all reals greater than that number.  (I think) this would be a function, because although each set contains an infinite set of reals, each set is a single output object of the function.)
A: For a simple example, consider throwing a ball. The position of the ball is a function of time since you expect the ball to be in one place only (ignoring quantum effects).  On the other hand, the position is somewhere in space so you will need a vector with three components (there goes relativity too) to determine its location.
