Getting audio components from two audio streams to remove noise As a computer scientist, I know that it is possible to decompose two signal streams (such as audio) using the SVD (Singular Value Decomposition), to get the most natural bases for the signals.

This is very useful because you could, in theory, record with two microphones to remove background noise. For example, one microphone near the speaker, and another far from the speaker. The one that is near the speaker will have a stronger speech and weaker noise, on the other hand, the far microphone will record stronger noise and weaker speech.

The problem is that I don't know of tools to accomplish this. Also I don't have a clue of what to look for, since I am not a professional in video editing. All I can find is tools to remove noise based on one audio only.
So, you'd be inverting the phase of the noise signal, adjusting its amplification to match the level of the noise in the other clip, and then summing the two to obtain speech minus noise. You might find that adding EQ. to the noise signal as well as amplification might also help.

Any audio app that can mix two signals could do this, if you want a good free one Audacity is the most widely used. 

This technique is used in a electomechanical sense in a lip-ribbon microphone, commonly used in sports commentary.