bdcrossproduct
C++ Function Reference
1 Signature
Eigen::MatrixXd BigDataStatMeth::bdcrossproduct(T X)2 Description
Compute matrix cross-product X’X.
3 Parameters
X(T): Input matrix
4 Returns
Cross-product matrix X’X
5 Details
Efficiently computes the cross-product of a matrix with its transpose (X’X) using optimized matrix operations.
6 Call Graph
7 Source Code
NoteImplementation
File: inst/include/memAlgebra/memOptimizedProducts.hpp • Lines 162-176
inline Eigen::MatrixXd bdcrossproduct ( T X )
{
static_assert(std::is_same<T, Eigen::MatrixXd >::value ||
std::is_same<T, Eigen::Map< Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>> >::value ||
std::is_same<T, Eigen::Map< Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor>> >::value ||
std::is_same<T, Eigen::Transpose<Eigen::Map< Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>> > >::value ||
std::is_same<T, Eigen::Transpose<Eigen::Map< Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor>> > >::value,
"Error - type not allowed");
Eigen::MatrixXd Xem = X;
size_t nc(Xem.cols());
Eigen::MatrixXd XtX(Eigen::MatrixXd(nc, nc).setZero().selfadjointView<Eigen::Lower>().rankUpdate(Xem.adjoint()));
return(XtX);
}8 Usage Example
#include "BigDataStatMeth.hpp"
// Example usage
auto result = bdcrossproduct(...);