vmmlib  1.7.0
 All Classes Namespaces Functions Pages
vmml::cp3_tensor< R, I1, I2, I3, T_value, T_coeff > Class Template Reference
+ Collaboration diagram for vmml::cp3_tensor< R, I1, I2, I3, T_value, T_coeff >:

Public Types

typedef float T_internal
 
typedef tensor3< I1, I2, I3,
T_value > 
t3_type
 
typedef t3_type::iterator t3_iterator
 
typedef t3_type::const_iterator t3_const_iterator
 
typedef tensor3< I1, I2, I3,
T_internal > 
t3_comp_type
 
typedef tensor3< I1, I2, I3,
T_coeff > 
t3_coeff_type
 
typedef t3_coeff_type::iterator t3_coeff_iterator
 
typedef
t3_coeff_type::const_iterator 
t3_coeff_const_iterator
 
typedef matrix< I1, R, T_coeff > u1_type
 
typedef u1_type::iterator u1_iterator
 
typedef u1_type::const_iterator u1_const_iterator
 
typedef matrix< I2, R, T_coeff > u2_type
 
typedef u2_type::iterator u2_iterator
 
typedef u2_type::const_iterator u2_const_iterator
 
typedef matrix< I3, R, T_coeff > u3_type
 
typedef u3_type::iterator u3_iterator
 
typedef u3_type::const_iterator u3_const_iterator
 
typedef matrix< I1, R, T_internal > u1_comp_type
 
typedef matrix< I2, R, T_internal > u2_comp_type
 
typedef matrix< I3, R, T_internal > u3_comp_type
 
typedef vector< R, T_internal > lambda_comp_type
 
typedef vector< R, T_coeff > lambda_type
 

Public Member Functions

 cp3_tensor (u1_type &U1, u2_type &U2, u3_type &U3, lambda_type &lambdas_)
 
void get_lambdas (lambda_type &data_) const
 
void get_u1 (u1_type &U1) const
 
void get_u2 (u2_type &U2) const
 
void get_u3 (u3_type &U3) const
 
void set_lambdas (lambda_type &lambdas)
 
void set_u1 (u1_type &U1)
 
void set_u2 (u2_type &U2)
 
void set_u3 (u3_type &U3)
 
void set_lambda_comp (lambda_comp_type &lambdas)
 
void set_u1_comp (u1_comp_type &U1)
 
void set_u2_comp (u2_comp_type &U2)
 
void set_u3_comp (u3_comp_type &U3)
 
void get_lambda_comp (lambda_comp_type &data_) const
 
void get_u1_comp (u1_comp_type &U1) const
 
void get_u2_comp (u2_comp_type &U2) const
 
void get_u3_comp (u3_comp_type &U3) const
 
void export_to (std::vector< T_coeff > &data_) const
 
void import_from (std::vector< T_coeff > &data_)
 
void reconstruct (t3_type &data_) const
 
double error (t3_type &data_) const
 
size_t nnz () const
 
template<typename T_init >
tensor_stats decompose (const t3_type &data_, T_init init, const size_t max_iterations_=50, const float tolerance=1e-04)
 
template<typename T_init >
tensor_stats cp_als (const t3_type &data_, T_init init, const size_t max_iterations_=50, const float tolerance=1e-04)
 
template<size_t NBLOCKS, typename T_init >
tensor_stats i_cp_als (const t3_type &data_, T_init init, const size_t max_iterations_=50, const float tolerance=1e-04)
 
template<size_t K>
void reduce_ranks (const cp3_tensor< K, I1, I2, I3, T_value, T_coeff > &other)
 

Protected Types

typedef cp3_tensor< R, I1, I2,
I3, T_value, T_coeff > 
cp3_type
 

Protected Member Functions

 cp3_tensor (const cp3_tensor< R, I1, I1, I1, T_value, T_coeff > &)
 
cp3_tensor< R, I1, I1, I1,
T_value, T_coeff > 
operator= (const cp3_tensor< R, I1, I1, I1, T_value, T_coeff > &)
 
void cast_members ()
 
void cast_comp_members ()
 

Friends

std::ostream & operator<< (std::ostream &os, const cp3_type &dec_)
 

Detailed Description

template<size_t R, size_t I1, size_t I2, size_t I3, typename T_value = double, typename T_coeff = float>
class vmml::cp3_tensor< R, I1, I2, I3, T_value, T_coeff >

Definition at line 68 of file cp3_tensor.hpp.


The documentation for this class was generated from the following file: