public InvertUV ( Matrix mtxAP, Matrix mtxU, Matrix mtxV, double eps ) : bool | ||
mtxAP | Matrix | |
mtxU | Matrix | |
mtxV | Matrix | |
eps | double | |
return | bool |
/** * ���������С��������Ĺ����淨 * * @param mtxResult - Matrix�����ط��������� * @param mtxAP - Matrix������ϵ������Ĺ�������� * @param mtxU - Matrix������U���� * @param mtxV - Matrix������V���� * @param eps - ���ƾ��� * @return bool �ͣ�����������Ƿ�ɹ� */ public bool GetRootsetGinv(Matrix mtxResult, Matrix mtxAP, Matrix mtxU, Matrix mtxV, double eps) { int i,j; // ���̸�����δ֪������ int m = mtxLECoef.GetNumRows(); int n = mtxLECoef.GetNumColumns(); // ��ʼ�������� mtxResult.Init(n, 1); double[] pDataConst = mtxLEConst.GetData(); double[] x = mtxResult.GetData(); // ��ʱ���� Matrix mtxA = new Matrix(mtxLECoef); // ���������� if (! mtxA.InvertUV(mtxAP, mtxU, mtxV, eps)) return false; double[] pAPData = mtxAP.GetData(); // ��� for (i=0; i<=n-1; i++) { x[i]=0.0; for (j=0; j<=m-1; j++) x[i]=x[i]+pAPData[i*m+j]*pDataConst[j]; } return true; }