docs: public static double innerProduct( double a[] , int offsetA ,
                                         DMatrix1Row B ,
                                         double c[] , int offsetC )
      {
          if( a.length-offsetA < B.numRows)
              throw new IllegalArgumentException("Length of 'a' isn't long enough");
          if( c.length-offsetC < B.numCols)
              throw new IllegalArgumentException("Length of 'c' isn't long enough");
  
          int cols = B.numCols;
          double output = 0;
  
          for (int k = 0; k < B.numCols; k++) {
              double sum = 0;
              for (int i = 0; i < B.numRows; i++) {
                  sum += a[offsetA+i]*B.data[k+i*cols];
              }
              output += sum*c[offsetC+k];
          }
  
          return output;
      }