Inverse_Matrix_Cholesky_hdf5
C++ Function Reference
1 Signature
void BigDataStatMeth::Inverse_Matrix_Cholesky_hdf5(BigDataStatMeth::hdf5Dataset *InOutDataset, int idim0, int idim1, long dElementsBlock, Rcpp::Nullable< int > threads)2 Description
Computes final matrix inverse with automatic algorithm selection.
3 Parameters
InOutDataset(BigDataStatMeth::hdf5Dataset *): Dataset containing L^-1 (will be overwritten with A^-1)idim0(int): Number of rowsidim1(int): Number of columnsdElementsBlock(long): Block size for processingthreads(Rcpp::Nullable< int >): Number of threads for parallel processing (optional)
4 Details
InOutDatasetDataset containing L^-1 (will be overwritten with A^-1) idim0Number of rows idim1Number of columns dElementsBlockBlock size for processing threadsNumber of threads for parallel processing (optional) Computes A^-1 = L^-T L^-1 from inverted Cholesky factor. Automatically selects algorithm based on matrix size.
5 Call Graph
6 Source Code
NoteImplementation
File: inst/include/hdf5Algebra/matrixInvCholesky.hpp • Lines 948-959
inline void Inverse_Matrix_Cholesky_hdf5(BigDataStatMeth::hdf5Dataset* InOutDataset,
int idim0, int idim1, long dElementsBlock,
Rcpp::Nullable<int> threads = R_NilValue)
{
// Detect matrix size and select algorithm
if (idim0 >= CHOLESKY_OUTOFCORE_THRESHOLD) {
Rcpp::Rcout << "\nUsing out-of-core matrix inverse for large matrix (" << idim0 << "x" << idim1 << ")\n";
Inverse_Matrix_Cholesky_outofcore_hdf5(InOutDataset, idim0, idim1, dElementsBlock, threads);
} else {
Inverse_Matrix_Cholesky_intermediate_hdf5(InOutDataset, idim0, idim1, dElementsBlock, threads);
}
}7 Usage Example
#include "BigDataStatMeth.hpp"
// Example usage
auto result = Inverse_Matrix_Cholesky_hdf5(...);