2 ms·
There's no reason type(X'X) should be fixed. If you allow yourself to consider the case where each entry in the matrix has different type everything is fine. Yo
by TTPrograms 11y ago
There's no reason type(X'X) should be fixed. If you allow yourself to consider the case where each entry in the matrix has different type everything is fine. You just end up with matrix product rules like:
[type(a) type(b)][type(c); type(d)] = type(a)type(c) + type(b)type(d)
Which puts constraints on the types of the various entries in the product, but doesn't restrict them to being the same in each matrix or vector. This is totally reasonable - in Ax + b = y I'm restricted to type(A)type(x) = type(b) = type(y) for scalars. Why wouldn't we have a similar generalization of constraints in the matrix case? The model that arrays of objects must all be the the same type simply doesn't fit with the analysis in this case. The author suggests this:
> But I just can't imagine the monstrous types of products of the various elements ever eventually cancelling out as nicely as they apparently should – not in a real flesh-and-blood programming language.
Well that's how it should work. You just have to imagine it :)