public Matrix GetMatrix(
int i0,
int i1,
int[] c)
{
var result = new Matrix(i1 - i0 + 1, c.Length);
double[][] b = result.Data;
try
{
for (int i = i0; i <= i1; i++)
{
for (int j = 0; j < c.Length; j++)
{
b[i - i0][j] = matrix[i][c[j]];
}
}
}
catch (IndexOutOfRangeException)
{
throw new MatrixError("Submatrix indices");
}
return result;
}