# Map Two functions with Limited Overlapping Range

This is more of a mathematical practice question than a theory question.

First we'll start easy. Let's say I have a function F:x->R^2 and a function G:x->R^2, such that F(x) = H*G(x) for any real number x and some 2x2 transform matrix H. For instance, F(x) = (sin(x), cos(y)), G(x) = (2 sin(x), 3 cos(x)), and H = [[2 0][0 3]].

Let's say I know F, and G, but not H. If I set up a 2xn matrix of F(x) and a 2xn matrix of G(x), I can use least squares to find an approximation of H, i.e. F = HG -> G = (H+) x F, where H+ is the pseudo-inverse.

Okay, simple enough.

Now let's say that F:x->R^2 and G:y->R^2 where F(x) = H * G(y) where y = x + c, where c is some constant. Basically I wish to find the transform between the two functions where the ranges might be different. For example, F(x) = (sin(x), cos(x)), G(y) = (2 cos(y), -3sin(y)), and H = [[2 0][0 3]], where y = x - pi/2. I am assuming I know many values of x and F(x) and y and G(y), but not H or c.

How do I solve for H and c?

-