1. A method implemented on a computer system comprising a programmable processor and memory, the method for producing an estimate Â of a system transfer matrix A for a linear system, wherein the linear system is characterized by y=Ax+e, where x is an input vector, e is a noise vector and y is the output vector resulting from input vector x, the method comprising: selecting a set of calibration inputs X cal =[x 1 ,. .. x m ] where each of the x m is an input vector that is a calibration pattern; applying the calibration inputs X cal to the linear system; observing the calibration outputs Y cal resulting from the calibration inputs X cal according to Y=AX+E, where Y cal −=[y 1 ,. .. , y m ] where each of the y m is an output vector resulting from the corresponding input calibration pattern x m , and E−=[e 1 ,. .. , e m ] where each of the e m is a noise vector; identifying, by the computer system, a subspace of A, assuming that a column span of A equals a row span of A; calculating, by the computer system, an estimate Â within the subspace of A, the estimate Â calculated from the calibration outputs Y cal and calibration inputs X cal and subject to a constraint that a row span of the estimate Â equals a column span of the estimate Â; observing outputs Y 1 produced by the linear system; and based on solving an inverse problem for the calculated estimate Â, estimating, by the computer system, corresponding inputs X 1 that produced the outputs Y 1 .