44template <
typename ordinal_type,
typename value_type>
52template <
typename ordinal_type,
typename value_type>
58template <
typename ordinal_type,
typename value_type>
66template <
typename ordinal_type,
typename value_type>
69operator() (ordinal_type i, ordinal_type
j, ordinal_type k)
const
71 return Cijk_values[ l*(l*k +
j) + i ];
74template <
typename ordinal_type,
typename value_type>
77operator() (ordinal_type i, ordinal_type
j, ordinal_type k)
79 return Cijk_values[ l*(l*k +
j) + i ];
82template <
typename ordinal_type,
typename value_type>
90template <
typename ordinal_type,
typename value_type>
93value(ordinal_type k, ordinal_type ll,
94 ordinal_type& i, ordinal_type&
j, value_type& c)
const
98 c = triple_value(i,
j,k);
101template <
typename ordinal_type,
typename value_type>
104print(std::ostream& os)
const
106 for (ordinal_type i=0; i<l; i++)
107 for (ordinal_type
j=0;
j<l;
j++)
108 for (ordinal_type k=0; k<l; k++)
109 os <<
"i = " << i <<
", j = " <<
j <<
", k = " << k <<
", Dijk = "
110 <<
operator()(i,
j,k) << std::endl;
const value_type & operator()(ordinal_type i, ordinal_type j, ordinal_type k) const
Get value (i,j,k)
Dense3Tensor(ordinal_type sz)
Constructor.
ordinal_type size() const
Return size.
void print(std::ostream &os) const
Print tensor.
void value(ordinal_type k, ordinal_type l, ordinal_type &i, ordinal_type &j, value_type &c) const
Get value (i,j,k) using sparse access.
ordinal_type num_values(ordinal_type k) const
Return number of non-zero's in Cijk for a given k.
~Dense3Tensor()
Destructor.