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 rows
  • idim1 (int): Number of columns
  • dElementsBlock (long): Block size for processing
  • threads (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

Function dependencies

6 Source Code

File: inst/include/hdf5Algebra/matrixInvCholesky.hppLines 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(...);