All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
o2scl::tensor_grid1 Class Reference

Rank 1 tensor with a grid. More...

Detailed Description

Idea for Future:
Make rank-specific get_val and set_val functions?

Definition at line 877 of file tensor_grid.h.

#include <tensor_grid.h>

Inheritance diagram for o2scl::tensor_grid1:
o2scl::tensor_grid o2scl::tensor< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< size_t > >

Public Member Functions

 tensor_grid1 ()
 Create an empty tensor.
 
 tensor_grid1 (size_t sz)
 Create a rank 2 tensor of size (sz,sz2,sz3)
 
double & get (size_t ix1)
 Get the element indexed by (ix1)
 
const double & get (size_t ix1) const
 Get the element indexed by (ix1)
 
void set (size_t ix1, double val)
 Set the element indexed by (ix1) to value val.
 
double interp (double x)
 Interpolate x and return the results.
 
double interp_linear (double x)
 Interpolate x and return the results.
 
- Public Member Functions inherited from o2scl::tensor_grid
 tensor_grid ()
 Create an empty tensor with zero rank.
 
template<class size_vec_t >
 tensor_grid (size_t rank, const size_vec_t &dim)
 Create a tensor of rank rank with sizes given in dim. More...
 
template<class vec_t >
void set_val (const vec_t &grdp, double val)
 Set the element closest to grid point grdp to value val.
 
template<class vec_t , class vec2_t >
void set_val (const vec_t &grdp, double val, vec2_t &closest)
 Set the element closest to grid point grdp to value val. More...
 
template<class vec_t >
double get_val (const vec_t &grdp)
 Get the element closest to grid point grdp.
 
template<class vec_t , class vec2_t >
double get_val (const vec_t &grdp, vec2_t &closest)
 Get the element closest to grid point grdp to value val. More...
 
template<class size_vec_t >
void resize (size_t rank, const size_vec_t &dim)
 Resize the tensor to rank rank with sizes given in dim. More...
 
bool is_grid_set () const
 Return true if the grid has been set.
 
template<class vec_t >
void set_grid_packed (const vec_t &grid_vec)
 Set the grid. More...
 
template<class vec_vec_t >
void set_grid (const vec_vec_t &grid_vecs)
 Set grid from a vector of vectors of grid points.
 
double get_grid (size_t i, size_t j) const
 Lookup jth value on the ith grid.
 
void set_grid (size_t i, size_t j, double val)
 Set the jth value on the ith grid.
 
size_t lookup_grid (size_t i, double val)
 Lookup index for grid closest to val.
 
template<class vec_t , class size_vec_t >
void lookup_grid_vec (const vec_t &vals, size_vec_t &indices) const
 Lookup indices for grid closest point to vals. More...
 
size_t lookup_grid_val (size_t i, const double &val, double &val2)
 Lookup index for grid closest to val, returning the grid point. More...
 
size_t lookup_grid_packed (size_t i, double val)
 Lookup index for grid closest to val.
 
size_t lookup_grid_packed_val (size_t i, double val, double &val2)
 Lookup index for grid closest to val.
 
template<class size_vec_t >
void copy_slice_align (size_t ix_x, size_t ix_y, size_vec_t &index, table3d &tab, std::string slice_name)
 Create a slice in a table3d object with an aligned grid. More...
 
template<class size_vec_t >
void copy_slice_interp (size_t ix_x, size_t ix_y, size_vec_t &index, table3d &tab, std::string slice_name)
 Copy to a slice in a table3d object using interpolation. More...
 
void set_interp_type (size_t interp_type)
 Set interpolation type.
 
double interpolate (double *vals)
 Interpolate values vals into the tensor, returning the result. More...
 
template<class vec2_t >
double interp_linear (vec2_t &v)
 Perform a linear interpolation of v into the function implied by the tensor and grid. More...
 
template<class vec2_t >
double interp_linear_power_two (vec2_t &v)
 Perform linear interpolation assuming that all indices can take only two values. More...
 
- Public Member Functions inherited from o2scl::tensor< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< size_t > >
 tensor ()
 Create an empty tensor with zero rank.
 
 tensor (size_t rank, const size_vec_t &dim)
 Create a tensor of rank rank with sizes given in dim. More...
 
void set (const size_vec_t &index, double val)
 Set the element indexed by index to value val.
 
void set_all (double x)
 Set all elements in a tensor to some fixed value.
 
double & get (const size_vec_t &index)
 Get the element indexed by index.
 
double const & get (const size_vec_t &index) const
 Get a const reference to the element indexed by index.
 
ubvector_slice vector_slice (size_t ix, const size_vec_t &index)
 Fix all but one index to create a vector. More...
 
void resize (size_t rank, const size_vec_t &dim)
 Resize the tensor to rank rank with sizes given in dim. More...
 
size_t get_rank () const
 Return the rank of the tensor.
 
size_t get_size (size_t i) const
 Returns the size of the ith index.
 
const
boost::numeric::ublas::vector
< size_t > & 
get_size_arr () const
 Return the full vector of sizes.
 
const
boost::numeric::ublas::vector
< double > & 
get_data () const
 Return the full data vector.
 
size_t total_size () const
 Returns the size of the tensor (the product of the sizes over every index)
 
size_t pack_indices (const size_vec_t &index)
 Pack the indices into a single vector index.
 
void unpack_indices (size_t ix, size_vec_t &index)
 Unpack the single vector index into indices.
 

Additional Inherited Members

- Public Types inherited from o2scl::tensor_grid
typedef
boost::numeric::ublas::vector
< double > 
ubvector
 
typedef
boost::numeric::ublas::vector
< size_t > 
ubvector_size_t
 
typedef
boost::numeric::ublas::range 
range
 
typedef
boost::numeric::ublas::vector_range
< ubvector
ubvector_range
 
typedef
boost::numeric::ublas::vector_range
< ubvector_size_t
ubvector_size_t_range
 
- Public Types inherited from o2scl::tensor< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< size_t > >
typedef
boost::numeric::ublas::vector_slice
< boost::numeric::ublas::vector
< double > > 
ubvector_slice
 
typedef
boost::numeric::ublas::slice 
slice
 
- Protected Member Functions inherited from o2scl::tensor_grid
ubvectorget_data ()
 Return a reference to the data (for HDF I/O)
 
- Protected Attributes inherited from o2scl::tensor_grid
ubvector grid
 A rank-sized set of arrays for the grid points.
 
bool grid_set
 If true, the grid has been set by the user.
 
size_t itype
 Interpolation type.
 
- Protected Attributes inherited from o2scl::tensor< boost::numeric::ublas::vector< double >, boost::numeric::ublas::vector< size_t > >
boost::numeric::ublas::vector
< double > 
data
 The data.
 
boost::numeric::ublas::vector
< size_t > 
size
 A rank-sized vector of the sizes of each dimension.
 
size_t rk
 Rank.
 

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

Documentation generated with Doxygen. Provided under the GNU Free Documentation License (see License Information).
Hosted at Get Object-oriented Scientific Computing
Lib at SourceForge.net. Fast, secure and Free Open Source software
downloads..