classify_matrix_type
C++ Function Reference
1 Signature
MatrixType BigDataStatMeth::classify_matrix_type(hsize_t N, hsize_t M, hsize_t K)2 Description
Classify matrix type based on dimensional characteristics.
3 Parameters
N(hsize_t): Number of rows in result matrixM(hsize_t): Number of columns in result matrixK(hsize_t): Inner dimension for matrix multiplication
4 Returns
MatrixType Classification result for optimization strategy selection
5 Details
Analyzes matrix dimensions to determine the optimal computational strategy. Classification considers both absolute size and aspect ratios to identify rectangular vs. square-like matrices and their relative sizes.
6 Caller Graph
7 Source Code
NoteImplementation
File: inst/include/Utilities/Utilities.hpp • Lines 580-596
inline MatrixType classify_matrix_type(hsize_t N, hsize_t M, hsize_t K) {
hsize_t min_dim = std::min({N, M, K});
hsize_t max_dim = std::max({N, M, K});
double ratio = (double)max_dim / min_dim;
if (min_dim < 1000 && ratio > 100) {
return RECTANGULAR_EXTREME;
} else if (max_dim < 10000 && ratio < 5) {
return SQUARE_SMALL;
} else if (max_dim < 100000 && ratio < 5) {
return SQUARE_LARGE;
} else if (ratio < 5) {
return SQUARE_EXTREME;
} else {
return RECTANGULAR_EXTREME; // Default for other rectangular cases
}
}8 Usage Example
#include "BigDataStatMeth.hpp"
// Example usage
auto result = classify_matrix_type(...);