8#ifndef _AUROSTD_XTENSOR_H_
9#define _AUROSTD_XTENSOR_H_
20 template <
class utype>
class xtensor;
50 operator utype()
const;
53 [[nodiscard]] utype
get(
const int&)
const;
54 void set(
const utype&);
55 void set(
const utype&,
const int&);
68 xtensor(
const std::vector<int>&);
69 xtensor(
const std::vector<int>&,
const std::vector<int>&);
72 xtensor(
const int&,
const int& li = 1);
78 void buildTensor(
const std::vector<int>&,
const std::vector<int>&);
107 void set(
const utype&);
108 void set(
const utype&,
const int&);
114 [[nodiscard]] utype
get(
const int&)
const;
119 void round(
const utype&);
127 bool checkInit(
const std::vector<int>&,
const std::vector<int>&);
195 int eijk(
int,
int,
int);
196 int eijk(aurostd::xvector<int>);
198 int estarijk(aurostd::xvector<int>);
#define AUROSTD_ROUNDOFF_TOL
_subtensor< utype > & operator[](const int &)
const xtensor< utype > & _tensor
_subtensor< utype > & operator*=(utype scalar)
_subtensor< utype > & operator()(const std::vector< int > &)
bool sameShape(const _subtensor< utype > &)
_subtensor(const int &, utype *, const xtensor< utype > &)
utype get(const int &) const
_subtensor< utype > & operator-=(utype scalar)
int getNumElements() const
_subtensor< utype > & operator+=(utype scalar)
_subtensor< utype > & operator=(const utype &)
_subtensor< utype > & operator/=(utype scalar)
_subtensor< utype > operator[](int) const
xtensor< utype > & operator-=(utype)
xtensor< utype > & operator+=(utype)
xtensor< utype > & operator/=(utype)
xtensor< utype > & operator*=(utype)
bool checkInit(const std::vector< int > &, const std::vector< int > &)
void buildTensor(const std::vector< int > &, const std::vector< int > &)
utype get(const int &) const
xtensor< utype > operator=(const xtensor< utype > &)
_subtensor< utype > operator()(std::vector< int >) const
void round(const utype &)
bool sameShape(const xtensor< utype > &) const
xmatrix< utype > xtensor2xmatrix(xtensor< utype > &tensor)
xvector< utype > xtensor2xvector(xtensor< utype > &tensor)
int estarijk(int i, int j, int k)
xmatrix< utype > sign(const xmatrix< utype > &a)
xtensor< utype > xmatrix2xtensor(const aurostd::xmatrix< utype > &xmat)
utype abs(const xcomplex< utype > &x)
xtensor< utype > identity_tensor(const utype &_type, int n)
xcomplex< utype > operator+(const xcomplex< utype > &x, const xcomplex< utype > &y)
std::vector< utype > xtensor2vector(xtensor< utype > &tensor)
xmatrix< utype > ceil(const xmatrix< utype > &a)
xmatrix< utype > floor(const xmatrix< utype > &a)
utype max(const vector< utype > vec)
xcomplex< utype > operator*(const xcomplex< utype > &x, const xcomplex< utype > &y)
xtensor< utype > xvector2xtensor(const aurostd::xvector< utype > &xvec)
int eijk(int i, int j, int k)
utype trace(const xmatrix< utype > &a)
utype min(const vector< utype > vec)
utype sum(const vector< utype > vec)
xmatrix< utype > nint(const xmatrix< utype > &a)
xcomplex< utype > operator-(const xcomplex< utype > &x, const xcomplex< utype > &y)
xcomplex< utype > operator/(const xcomplex< utype > &x, const xcomplex< utype > &y)
xtensor< utype > vector2xtensor(const std::vector< utype > &vec)
xmatrix< utype > round(const xmatrix< utype > &a)