## Bilinear maps and dual spaces

Think of a function that takes two inputs and gives one output. The **+** operator is like that. 9**+**10**=**19 or, if you prefer to be computer-y about it, **plus(**9, 10**) returns** 19.

So is the relation “the degree to which **X** loves **Y**”. Takes as inputs two people and returns the degree to which the first loves the second. Not necessarily symmetrical! I.e. **love(**A→B**) ≠ love(**B→A**)**. *

An **operator** could also take three or four inputs. The vanilla Black-Scholes price of a call option asks for **{**the current price, desired exercise price, [European or American or Asian], date of expiry, volatility**}**. That’s five inputs: three ℝ⁺ numbers, one option from a set isomorphic to {1,2,3} = ℕ₃, and one date.

A **bilinear map** takes two inputs, and it’s linear in both terms. Meaning if you adjust one of the inputs, the final change to the output is only a linear difference.

Multiplication is a bilinear operation (think **3×17** versus **3×18**). Vector dot multiplication is a bilinear operation. Vector cross multiplication is a bilinear operation but it returns a vector instead of a scalar. Matrix multiplication is a bilinear operation which returns another matrix. And tensor multiplication ⊗, too, is bilinear.

Above, Juan Marquez shows the different bilinear operators and their duals. The point is that it’s just symbol chasing.

* The distinct usage “I love sandwiches” would be considered a separate mathematical operator since it takes a different kind of input.

I think the multiple inputs, one output thing is more explicitly obvious in programming than in math. When I read this, I thought “well, naturally.”

Functions in programming languages typically have one return value, but they can also do a number of things during their execution, effectively “outputting” more than one value.Or, think about if you expected an array or other multi-parameter object to be returned. Then that would be returning one “thing” with multiple dimensions.

i know, just saying that the way the basic idea is set up implies that the default is multiple inputs, one output.