private void eltran(double[][] a, double[][] zz, int[] ordr, int n)
	{
		int i, j, m;

		for (i = 0; i < n; i++)
		{
			for (j = i + 1; j < n; j++)
			{
				zz[i][j] = 0.0;
				zz[j][i] = 0.0;
			}
			zz[i][i] = 1.0;
		}
		if (n <= 2)
		{
			return;
		}
		for (m = n - 1; m >= 2; m--)
		{
			for (i = m; i < n; i++)
			{
				zz[i][m - 1] = a[i][m - 2];
			}
			i = ordr[m - 1];
			if (i != m)
			{
				for (j = m - 1; j < n; j++)
				{
					zz[m - 1][j] = zz[i - 1][j];
					zz[i - 1][j] = 0.0;
				}
				zz[i - 1][m - 1] = 1.0;
			}
		}
	}