function (A) {
    var AT = numeric.transpose(A);
    return numeric.dot(numeric.inv(numeric.dot(AT,A)),AT);
}
function (A) {
    var AT = numeric.transpose(A);
    return numeric.dot(numeric.inv(numeric.dot(AT,A)),AT);
}
function ( A ) { var AT = numeric . transpose ( A ) ; return numeric . dot ( numeric . inv ( numeric . dot ( AT , A ) ) , AT ) ; }
pinv_direct computes the left pseudo-inverse
pinv_direct computes the left pseudo - inverse