ordering -> linear_solver_ordering.

Change-Id: If4af72da90725db2a2d4f397f4cb671c2e863a98
diff --git a/internal/ceres/solver.cc b/internal/ceres/solver.cc
index a6c804b..450a710 100644
--- a/internal/ceres/solver.cc
+++ b/internal/ceres/solver.cc
@@ -42,7 +42,7 @@
 namespace ceres {
 
 Solver::Options::~Options() {
-  delete ordering;
+  delete linear_solver_ordering;
   delete inner_iteration_ordering;
 }
 
diff --git a/internal/ceres/solver_impl.cc b/internal/ceres/solver_impl.cc
index 03fe921..ea697e2 100644
--- a/internal/ceres/solver_impl.cc
+++ b/internal/ceres/solver_impl.cc
@@ -206,7 +206,7 @@
   double solver_start_time = WallTimeInSeconds();
   Solver::Options options(original_options);
 
-  options.ordering = NULL;
+  options.linear_solver_ordering = NULL;
   options.inner_iteration_ordering = NULL;
 
   Program* original_program = original_problem_impl->mutable_program();
@@ -252,20 +252,21 @@
   summary->trust_region_strategy_type = options.trust_region_strategy_type;
   summary->dogleg_type = options.dogleg_type;
 
-  if (original_options.ordering != NULL) {
+  if (original_options.linear_solver_ordering != NULL) {
     if (!IsOrderingValid(original_options, problem_impl, &summary->error)) {
       LOG(WARNING) << summary->error;
       return;
     }
-    options.ordering = new ParameterBlockOrdering(*original_options.ordering);
+    options.linear_solver_ordering =
+        new ParameterBlockOrdering(*original_options.linear_solver_ordering);
   } else {
-    options.ordering = new ParameterBlockOrdering;
+    options.linear_solver_ordering = new ParameterBlockOrdering;
     const ProblemImpl::ParameterMap& parameter_map =
         problem_impl->parameter_map();
     for (ProblemImpl::ParameterMap::const_iterator it = parameter_map.begin();
          it != parameter_map.end();
          ++it) {
-      options.ordering->AddElementToGroup(it->first, 0);
+      options.linear_solver_ordering->AddElementToGroup(it->first, 0);
     }
   }
 
@@ -331,7 +332,9 @@
   // Only Schur types require the lexicographic reordering.
   if (IsSchurType(options.linear_solver_type)) {
     const int num_eliminate_blocks =
-        options.ordering->group_to_elements().begin()->second.size();
+        options.linear_solver_ordering
+        ->group_to_elements().begin()
+        ->second.size();
     if (!LexicographicallyOrderResidualBlocks(num_eliminate_blocks,
                                               reduced_program.get(),
                                               &summary->error)) {
@@ -449,7 +452,7 @@
 bool SolverImpl::IsOrderingValid(const Solver::Options& options,
                                  const ProblemImpl* problem_impl,
                                  string* error) {
-  if (options.ordering->NumElements() !=
+  if (options.linear_solver_ordering->NumElements() !=
       problem_impl->NumParameterBlocks()) {
       *error = "Number of parameter blocks in user supplied ordering "
           "does not match the number of parameter blocks in the problem";
@@ -461,7 +464,8 @@
   for (vector<ParameterBlock*>::const_iterator it = parameter_blocks.begin();
        it != parameter_blocks.end();
        ++it) {
-    if (!options.ordering->IsMember(const_cast<double*>((*it)->user_state()))) {
+    if (!options.linear_solver_ordering
+        ->IsMember(const_cast<double*>((*it)->user_state()))) {
       *error = "Problem contains a parameter block that is not in "
           "the user specified ordering.";
       return false;
@@ -469,10 +473,10 @@
   }
 
   if (IsSchurType(options.linear_solver_type) &&
-      options.ordering->NumGroups() > 1) {
+      options.linear_solver_ordering->NumGroups() > 1) {
     const vector<ResidualBlock*>& residual_blocks = program.residual_blocks();
     const set<double*>& e_blocks  =
-        options.ordering->group_to_elements().begin()->second;
+        options.linear_solver_ordering->group_to_elements().begin()->second;
     if (!IsParameterBlockSetIndependent(e_blocks, residual_blocks)) {
       *error = "The user requested the use of a Schur type solver. "
           "But the first elimination group in the ordering is not an "
@@ -597,17 +601,18 @@
                                           ProblemImpl* problem_impl,
                                           double* fixed_cost,
                                           string* error) {
-  CHECK_NOTNULL(options->ordering);
+  CHECK_NOTNULL(options->linear_solver_ordering);
   Program* original_program = problem_impl->mutable_program();
   scoped_ptr<Program> transformed_program(new Program(*original_program));
-  ParameterBlockOrdering* ordering = options->ordering;
+  ParameterBlockOrdering* linear_solver_ordering =
+      options->linear_solver_ordering;
 
   const int min_group_id =
-      ordering->group_to_elements().begin()->first;
-  const int original_num_groups = ordering->NumGroups();
+      linear_solver_ordering->group_to_elements().begin()->first;
+  const int original_num_groups = linear_solver_ordering->NumGroups();
 
   if (!RemoveFixedBlocksFromProgram(transformed_program.get(),
-                                    ordering,
+                                    linear_solver_ordering,
                                     fixed_cost,
                                     error)) {
     return NULL;
@@ -619,12 +624,12 @@
     return transformed_program.release();
   }
 
-  // If the user supplied an ordering with just one group, it is
-  // equivalent to the user supplying NULL as ordering. Ceres is
-  // completely free to choose the parameter block ordering as it sees
-  // fit. For Schur type solvers, this means that the user wishes for
-  // Ceres to identify the e_blocks, which we do by computing a
-  // maximal independent set.
+  // If the user supplied an linear_solver_ordering with just one
+  // group, it is equivalent to the user supplying NULL as
+  // ordering. Ceres is completely free to choose the parameter block
+  // ordering as it sees fit. For Schur type solvers, this means that
+  // the user wishes for Ceres to identify the e_blocks, which we do
+  // by computing a maximal independent set.
   if (original_num_groups == 1 && IsSchurType(options->linear_solver_type)) {
     vector<ParameterBlock*> schur_ordering;
     const int num_eliminate_blocks = ComputeSchurOrdering(*transformed_program,
@@ -634,21 +639,22 @@
         << "to the developers.";
 
     for (int i = 0; i < schur_ordering.size(); ++i) {
-      ordering->AddElementToGroup(schur_ordering[i]->mutable_user_state(),
-                                         (i < num_eliminate_blocks) ? 0 : 1);
+      linear_solver_ordering->AddElementToGroup(
+          schur_ordering[i]->mutable_user_state(),
+          (i < num_eliminate_blocks) ? 0 : 1);
     }
   }
 
   if (!ApplyUserOrdering(problem_impl->parameter_map(),
-                         ordering,
+                         linear_solver_ordering,
                          transformed_program.get(),
                          error)) {
     return NULL;
   }
 
   // If the user requested the use of a Schur type solver, and
-  // supplied a non-NULL ordering object with more than one
-  // elimimation group, then it can happen that after all the
+  // supplied a non-NULL linear_solver_ordering object with more than
+  // one elimimation group, then it can happen that after all the
   // parameter blocks which are fixed or unused have been removed from
   // the program and the ordering, there are no more parameter blocks
   // in the first elimination group.
@@ -659,7 +665,7 @@
   // the user's indicated preferences.
   if (IsSchurType(options->linear_solver_type) &&
       original_num_groups > 1 &&
-      ordering->GroupSize(min_group_id) == 0) {
+      linear_solver_ordering->GroupSize(min_group_id) == 0) {
     string msg = "No e_blocks remaining. Switching from ";
     if (options->linear_solver_type == SPARSE_SCHUR) {
       options->linear_solver_type = SPARSE_NORMAL_CHOLESKY;
@@ -694,7 +700,7 @@
 LinearSolver* SolverImpl::CreateLinearSolver(Solver::Options* options,
                                              string* error) {
   CHECK_NOTNULL(options);
-  CHECK_NOTNULL(options->ordering);
+  CHECK_NOTNULL(options->linear_solver_ordering);
   CHECK_NOTNULL(error);
 
   if (options->trust_region_strategy_type == DOGLEG) {
@@ -795,7 +801,7 @@
 
   linear_solver_options.use_block_amd = options->use_block_amd;
   const map<int, set<double*> >& groups =
-      options->ordering->group_to_elements();
+      options->linear_solver_ordering->group_to_elements();
   for (map<int, set<double*> >::const_iterator it = groups.begin();
        it != groups.end();
        ++it) {
@@ -963,9 +969,11 @@
   Evaluator::Options evaluator_options;
   evaluator_options.linear_solver_type = options.linear_solver_type;
   evaluator_options.num_eliminate_blocks =
-      (options.ordering->NumGroups() > 0 &&
+      (options.linear_solver_ordering->NumGroups() > 0 &&
        IsSchurType(options.linear_solver_type))
-      ? options.ordering->group_to_elements().begin()->second.size()
+      ? (options.linear_solver_ordering
+         ->group_to_elements().begin()
+         ->second.size())
       : 0;
   evaluator_options.num_threads = options.num_threads;
   return Evaluator::Create(evaluator_options, program, error);
diff --git a/internal/ceres/solver_impl_test.cc b/internal/ceres/solver_impl_test.cc
index 9b01766..d4cc82b 100644
--- a/internal/ceres/solver_impl_test.cc
+++ b/internal/ceres/solver_impl_test.cc
@@ -280,7 +280,7 @@
 
   Solver::Options options;
   options.linear_solver_type = DENSE_SCHUR;
-  options.ordering = ordering;
+  options.linear_solver_ordering = ordering;
 
   const vector<ResidualBlock*>& residual_blocks =
       problem.program().residual_blocks();
@@ -342,7 +342,7 @@
 
   Solver::Options options;
   options.linear_solver_type = DENSE_SCHUR;
-  options.ordering = ordering;
+  options.linear_solver_ordering = ordering;
 
   // Create the reduced program. This should remove the fixed block "z",
   // marking the index to -1 at the same time. x and y also get indices.
@@ -416,7 +416,7 @@
 
   Solver::Options options;
   options.linear_solver_type = DENSE_SCHUR;
-  options.ordering = ordering;
+  options.linear_solver_ordering = ordering;
 
   string error;
   scoped_ptr<Program> reduced_program(
@@ -509,7 +509,7 @@
   options.linear_solver_type = DENSE_QR;
   options.linear_solver_max_num_iterations = -1;
   // CreateLinearSolver assumes a non-empty ordering.
-  options.ordering = new ParameterBlockOrdering;
+  options.linear_solver_ordering = new ParameterBlockOrdering;
   string error;
   EXPECT_EQ(SolverImpl::CreateLinearSolver(&options, &error),
             static_cast<LinearSolver*>(NULL));
@@ -520,7 +520,7 @@
   options.linear_solver_type = DENSE_QR;
   options.linear_solver_min_num_iterations = -1;
   // CreateLinearSolver assumes a non-empty ordering.
-  options.ordering = new ParameterBlockOrdering;
+  options.linear_solver_ordering = new ParameterBlockOrdering;
   string error;
   EXPECT_EQ(SolverImpl::CreateLinearSolver(&options, &error),
             static_cast<LinearSolver*>(NULL));
@@ -531,7 +531,7 @@
   options.linear_solver_type = DENSE_QR;
   options.linear_solver_min_num_iterations = 10;
   options.linear_solver_max_num_iterations = 5;
-  options.ordering = new ParameterBlockOrdering;
+  options.linear_solver_ordering = new ParameterBlockOrdering;
   string error;
   EXPECT_EQ(SolverImpl::CreateLinearSolver(&options, &error),
             static_cast<LinearSolver*>(NULL));
@@ -543,11 +543,11 @@
   options.num_linear_solver_threads = 2;
   // The Schur type solvers can only be created with the Ordering
   // contains at least one elimination group.
-  options.ordering = new ParameterBlockOrdering;
+  options.linear_solver_ordering = new ParameterBlockOrdering;
   double x;
   double y;
-  options.ordering->AddElementToGroup(&x, 0);
-  options.ordering->AddElementToGroup(&y, 0);
+  options.linear_solver_ordering->AddElementToGroup(&x, 0);
+  options.linear_solver_ordering->AddElementToGroup(&y, 0);
 
   string error;
   scoped_ptr<LinearSolver> solver(
@@ -561,7 +561,7 @@
   Solver::Options options;
   options.trust_region_strategy_type = DOGLEG;
   // CreateLinearSolver assumes a non-empty ordering.
-  options.ordering = new ParameterBlockOrdering;
+  options.linear_solver_ordering = new ParameterBlockOrdering;
   string error;
   options.linear_solver_type = ITERATIVE_SCHUR;
   EXPECT_EQ(SolverImpl::CreateLinearSolver(&options, &error),
@@ -577,7 +577,7 @@
   scoped_ptr<LinearSolver> solver;
   options.linear_solver_type = DENSE_QR;
   // CreateLinearSolver assumes a non-empty ordering.
-  options.ordering = new ParameterBlockOrdering;
+  options.linear_solver_ordering = new ParameterBlockOrdering;
   string error;
   solver.reset(SolverImpl::CreateLinearSolver(&options, &error));
   EXPECT_EQ(options.linear_solver_type, DENSE_QR);
@@ -606,8 +606,8 @@
 
   double x;
   double y;
-  options.ordering->AddElementToGroup(&x, 0);
-  options.ordering->AddElementToGroup(&y, 0);
+  options.linear_solver_ordering->AddElementToGroup(&x, 0);
+  options.linear_solver_ordering->AddElementToGroup(&y, 0);
 
   options.linear_solver_type = DENSE_SCHUR;
   solver.reset(SolverImpl::CreateLinearSolver(&options, &error));
diff --git a/internal/ceres/system_test.cc b/internal/ceres/system_test.cc
index 8f1722a..4548bd0 100644
--- a/internal/ceres/system_test.cc
+++ b/internal/ceres/system_test.cc
@@ -138,8 +138,8 @@
     options.return_final_residuals = true;
 
     if (config.use_automatic_ordering) {
-      delete options.ordering;
-      options.ordering = NULL;
+      delete options.linear_solver_ordering;
+      options.linear_solver_ordering = NULL;
     }
 
     LOG(INFO) << "Running solver configuration: "
@@ -387,15 +387,15 @@
       problem_.AddResidualBlock(cost_function, NULL, camera, point);
     }
 
-    options_.ordering = new ParameterBlockOrdering;
+    options_.linear_solver_ordering = new ParameterBlockOrdering;
 
     // The points come before the cameras.
     for (int i = 0; i < num_points_; ++i) {
-      options_.ordering->AddElementToGroup(points + 3 * i, 0);
+      options_.linear_solver_ordering->AddElementToGroup(points + 3 * i, 0);
     }
 
     for (int i = 0; i < num_cameras_; ++i) {
-      options_.ordering->AddElementToGroup(cameras + 9 * i, 1);
+      options_.linear_solver_ordering->AddElementToGroup(cameras + 9 * i, 1);
     }
 
     options_.max_num_iterations = 25;