35                              matrix_t Q[][q_col_num], 
bool reduced)
 
   38         puts(
"A has more columns than rows");
 
   43     for (uint8_t k = 0; k < n; k++) {
 
   46         for (uint8_t i = k; i < m; i++) {
 
   56             for (
int i = k; i < m; i++) {
 
   63             for (uint8_t j = k + 1; j < n; j++) {
 
   65                 for (uint8_t i = k; i < m; i++) {
 
   66                     sigma += A[i][k] * A[i][j];
 
   68                 sigma = -sigma / A[k][k];
 
   69                 for (uint8_t i = k; i < m; i++) {
 
   70                     A[i][j] += sigma * A[i][k];
 
   76         diag_R_vec[k] = -norm_2;
 
   91     for (
int k = max_n - 1; k >= 0; k--) {
 
   92         for (
int i = 0; i < m; i++) {
 
   96         for (
int j = k; j < max_n; j++) {
 
  100                     for (
int i = k; i < m; i++) {
 
  101                         s += A[i][k] * Q[i][j];
 
  104                     for (
int i = k; i < m; i++) {
 
  105                         Q[i][j] += s * A[i][k];
 
  113     for (
int i = 0; i < max_m; i++) {
 
  114         for (
int j = 0; j < n; j++) {
 
  116                 A[i][j] = diag_R_vec[i];