20 using namespace Eigen;
28 SelfAdjointEigenSolver<MatrixXd> eig;
31 return ((eig.eigenvectors() * eig.eigenvalues().cwiseSqrt().asDiagonal().inverse()) * eig.eigenvectors().transpose()) * W;
43 return alpha * (1.0 - pow(gx(x),2));
91 VectorXd mean = (EX.rowwise().sum() / (
float64_t)p);
94 Eigen::JacobiSVD<MatrixXd> svd;
95 svd.compute(SPX, Eigen::ComputeThinU);
105 for (
int r = 0; r < K.rows(); r++)
123 for (
int i = 0; i < m; i++)
125 for (
int j = 0; j < m; j++)
132 W = sym_decorrelation(W);
140 MatrixXd gwtx = wtx.unaryExpr(std::ptr_fun(&gx));
141 MatrixXd g_wtx = wtx.unaryExpr(std::ptr_fun(&g_x));
145 W1 = sym_decorrelation(W1);
147 lim = ((W1 * W.transpose()).diagonal().cwiseAbs().array() - 1).abs().maxCoeff();
static float64_t randn_double()
virtual CFeatures * apply(CFeatures *features)
all of classes and functions are contained in the shogun namespace
class ICAConverter Base class for ICA algorithms
static float64_t tanh(float64_t x)
atan2(x), x being a complex128_t not implemented
The class Features is the base class of all feature objects.
SGMatrix< float64_t > m_mixing_matrix
void set_whiten(bool whiten)
static float32_t sqrt(float32_t x)