Bug: Matrix Variance computation
I'm not sure but looking at the code of plugins/processing/signal-processing/src/algorithms/basic/ovpCMatrixVariance.cpp, I wonder whether there is not a bug in the computation of the confidence interval... The code says: const double q = double(quantile(complement(distrib, ip_significanceLevel / 2.0))); getLogManager() << LogLevel_Debug << "Quantile at " << ip_significanceLevel << " is " << q << "\n"; Vec bound; if (ip_averagingMethod == size_t(EEpochAverageMethod::Cumulative)) { bound = (q / sqrt(double(m_inputCounter))) * itpp::sqrt(m_variance); } else { bound = (q / double(ip_matrixCount)) * itpp::sqrt(m_variance); }
I find it strange that there is sqrt(double(m_inputCounter))) in the case Cumulative and just double(ip_matrixCount)) in the other case. I guess there is a missing square root...