ComputeEvHBerg() public method

public ComputeEvHBerg ( double dblU, double dblV, int nMaxIt, double eps ) : bool
dblU double
dblV double
nMaxIt int
eps double
return bool
Example #1
0
        /**
         * ��ʵϵ����������ȫ������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;
        }