public ComputeEvHBerg ( double dblU, double dblV, int nMaxIt, double eps ) : bool | ||
dblU | double | |
dblV | double | |
nMaxIt | int | |
eps | double | |
return | bool |
/** * ��ʵϵ����������ȫ������QR���� * * @param n - ����ʽ���̵Ĵ��� * @param dblCoef - һά���飬����Ϊn+1�������ݴ������δ��n�ζ���ʽ���̵� * n+1��ϵ�� * @param xr - һά���飬����Ϊn������n������ʵ�� * @param xi - һά���飬����Ϊn������n�������鲿 * @param nMaxIt - �������� * @param eps - ���ȿ��Ʋ��� * @return bool �ͣ�����Ƿ�ɹ� */ public bool GetRootQr(int n, double[] dblCoef, double[] xr, double[] xi, int nMaxIt, double eps) { // ��ʼ������ Matrix mtxQ = new Matrix(); mtxQ.Init(n, n); double[] q = mtxQ.GetData(); // ������겮����� for (int j=0; j<=n-1; j++) q[j]=-dblCoef[n-j-1]/dblCoef[n]; for (int j=n; j<=n*n-1; j++) q[j]=0.0; for (int i=0; i<=n-2; i++) q[(i+1)*n+i]=1.0; // ����겮����������ֵ��������������Ϊ���̵Ľ� if (mtxQ.ComputeEvHBerg(xr, xi, nMaxIt, eps)) return true; return false; }