8#ifndef IGL_ATA_CACHED_H 
    9#define IGL_ATA_CACHED_H 
   11#define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET 
   13#include <Eigen/Sparse> 
   24    std::vector<int> I_row;
 
   26    std::vector<int> I_col;
 
   33    std::vector<int> I_outer;
 
 
   57  template <
typename Scalar>
 
   59    const Eigen::SparseMatrix<Scalar>& A,
 
   61    Eigen::SparseMatrix<Scalar>& AtA
 
   69  template <
typename Scalar>
 
   71    const Eigen::SparseMatrix<Scalar>& A,
 
   73    Eigen::SparseMatrix<Scalar>& AtA
 
   78#ifndef IGL_STATIC_LIBRARY 
   79#  include "AtA_cached.cpp" 
#define IGL_INLINE
Definition igl_inline.h:15
 
void AtA_cached_precompute(const Eigen::SparseMatrix< Scalar > &A, AtA_cached_data &data, Eigen::SparseMatrix< Scalar > &AtA)
Computes At * W * A, where A is sparse and W is diagonal.
 
void AtA_cached(const Eigen::SparseMatrix< Scalar > &A, const AtA_cached_data &data, Eigen::SparseMatrix< Scalar > &AtA)
Computes At * W * A, where A is sparse and W is diagonal precomputed into data.
 
Hold precomputed data for AtA_cached.
Definition AtA_cached.h:18
 
Eigen::VectorXd W
Weights (diagonal of W)
Definition AtA_cached.h:20