22 using namespace shogun;
53 return "DiffusionMaps";
82 p_vector[i] += kernel_matrix.
matrix[j*N+i];
87 cblas_dger(CblasColMajor,N,N,1.0,p_vector,1,p_vector,1,p_matrix,N);
99 p_vector[i] += kernel_matrix.
matrix[j*N+i];
103 float64_t ppt = cblas_ddot(N,p_vector,1,p_vector,1);
106 for (i=0; i<N*N; i++)
108 kernel_matrix.
matrix[i] /= ppt;
116 cblas_dgemm(CblasColMajor,CblasTrans,CblasNoTrans,
118 1.0,kernel_matrix.
matrix,N,
126 SG_ERROR(
"DGESVD failed with %d code", info);
140 new_feature_matrix[j*m_target_dim+i] = kernel_matrix.
matrix[(m_target_dim-i-1)*N+j]/kernel_matrix.
matrix[(
m_target_dim)*N+j];
virtual bool init(CFeatures *lhs, CFeatures *rhs)
virtual CFeatures * apply(CFeatures *features)
void wrap_dsyevr(char jobz, char uplo, int n, double *a, int lda, int il, int iu, double *eigenvalues, double *eigenvectors, int *info)
class EmbeddingConverter used to create embeddings of features, e.g. construct dense numeric embeddin...
virtual void destroy_matrix()
void add(bool *param, const char *name, const char *description="")
virtual ~CDiffusionMaps()
virtual const char * get_name() const
static int32_t pow(int32_t x, int32_t n)
SGMatrix< float64_t > get_kernel_matrix()
The class Features is the base class of all feature objects.
virtual CSimpleFeatures< float64_t > * embed_kernel(CKernel *kernel)
static float32_t sqrt(float32_t x)
x^0.5
#define SG_MALLOC(type, len)
#define SG_CALLOC(type, len)