Fast private computation of dot product
I will assume you are in the honest-but-curious model.  You can't represent real numbers in finite space, so I will assume all values are represented in fixed-point arithmetic, to $d$ bits of precision; thus $x$ is represented as $x = x'/2^d$ where $x'$ is an integer.  Then $x \cdot y = x' \cdot y' / 2^{2d}$, so the problem is equivalent to computing $x \cdot y$ where $x,y \in \mathbb{Z}^n$.  Here is a scheme for that.
Pick a sufficiently large prime, and let $E$ denote a public-key encryption algorithm that is additively homomorphic modulo $p$.  Alice generates a public/private keypair for $E$, and computes $E(x_i)$ for each $i$.  She sends these to Bob, along with the public key she generated.  Bob computes $E(x_i y_i)$ for each $i$, using the homomorphic properties of $E$, and from them, computes $E(\sum_i x_i  y_i) = E(x \cdot y)$, again using the homomorphic properties of $E$.  Bob sends $E(x \cdot y)$ to Alice.  Alice decrypts, and shares the result with Bob.
Note that if $E$ is additively homomorphic, given $E(x)$ you can compute $E(2x) = E(x+x)$.  Therefore, given $E(x)$ and an integer $y$ you can compute $E(xy)$, using a double-and-add algorithm (analogous to square-and-multiply).