MCPcopy Create free account
hub / github.com/ERGO-Code/HiGHS / debugReportRankDeficiency

Function debugReportRankDeficiency

highs/util/HFactorDebug.cpp:25–92  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23using std::min;
24
25void debugReportRankDeficiency(
26 const HighsInt call_id, const HighsInt highs_debug_level,
27 const HighsLogOptions& log_options, const HighsInt num_row,
28 const vector<HighsInt>& permute, const vector<HighsInt>& iwork,
29 const HighsInt* basic_index, const HighsInt rank_deficiency,
30 const vector<HighsInt>& row_with_no_pivot,
31 const vector<HighsInt>& col_with_no_pivot) {
32 if (highs_debug_level == kHighsDebugLevelNone) return;
33 if (call_id == 0) {
34 if (num_row > 123) return;
35 highsLogDev(log_options, HighsLogType::kWarning, "buildRankDeficiency0:");
36 highsLogDev(log_options, HighsLogType::kWarning, "\nIndex ");
37 for (HighsInt i = 0; i < num_row; i++)
38 highsLogDev(log_options, HighsLogType::kWarning, " %2" HIGHSINT_FORMAT "",
39 i);
40 highsLogDev(log_options, HighsLogType::kWarning, "\nPerm ");
41 for (HighsInt i = 0; i < num_row; i++)
42 highsLogDev(log_options, HighsLogType::kWarning, " %2" HIGHSINT_FORMAT "",
43 permute[i]);
44 highsLogDev(log_options, HighsLogType::kWarning, "\nIwork ");
45 for (HighsInt i = 0; i < num_row; i++)
46 highsLogDev(log_options, HighsLogType::kWarning, " %2" HIGHSINT_FORMAT "",
47 iwork[i]);
48 highsLogDev(log_options, HighsLogType::kWarning, "\nBaseI ");
49 for (HighsInt i = 0; i < num_row; i++)
50 highsLogDev(log_options, HighsLogType::kWarning, " %2" HIGHSINT_FORMAT "",
51 basic_index[i]);
52 highsLogDev(log_options, HighsLogType::kWarning, "\n");
53 } else if (call_id == 1) {
54 if (rank_deficiency > 100) return;
55 highsLogDev(log_options, HighsLogType::kWarning, "buildRankDeficiency1:");
56 highsLogDev(log_options, HighsLogType::kWarning, "\nIndex ");
57 for (HighsInt i = 0; i < rank_deficiency; i++)
58 highsLogDev(log_options, HighsLogType::kWarning, " %2" HIGHSINT_FORMAT "",
59 i);
60 highsLogDev(log_options, HighsLogType::kWarning, "\nrow_with_no_pivot ");
61 for (HighsInt i = 0; i < rank_deficiency; i++)
62 highsLogDev(log_options, HighsLogType::kWarning, " %2" HIGHSINT_FORMAT "",
63 row_with_no_pivot[i]);
64 highsLogDev(log_options, HighsLogType::kWarning, "\ncol_with_no_pivot ");
65 for (HighsInt i = 0; i < rank_deficiency; i++)
66 highsLogDev(log_options, HighsLogType::kWarning, " %2" HIGHSINT_FORMAT "",
67 col_with_no_pivot[i]);
68 highsLogDev(log_options, HighsLogType::kWarning, "\n");
69 if (num_row > 123) return;
70 highsLogDev(log_options, HighsLogType::kWarning, "Index ");
71 for (HighsInt i = 0; i < num_row; i++)
72 highsLogDev(log_options, HighsLogType::kWarning, " %2" HIGHSINT_FORMAT "",
73 i);
74 highsLogDev(log_options, HighsLogType::kWarning, "\nIwork ");
75 for (HighsInt i = 0; i < num_row; i++)
76 highsLogDev(log_options, HighsLogType::kWarning, " %2" HIGHSINT_FORMAT "",
77 iwork[i]);
78 highsLogDev(log_options, HighsLogType::kWarning, "\n");
79 } else if (call_id == 2) {
80 if (num_row > 123) return;
81 highsLogDev(log_options, HighsLogType::kWarning, "buildRankDeficiency2:");
82 highsLogDev(log_options, HighsLogType::kWarning, "\nIndex ");

Callers 1

Calls 1

highsLogDevFunction · 0.85

Tested by

no test coverage detected