|
| int | cytnx::set_mkl_ilp64 () |
| |
| int | cytnx::get_mkl_code () |
| |
| cytnx::UniTensor | cytnx::operator+ (const cytnx::UniTensor &Lt, const cytnx::UniTensor &Rt) |
| | The addtion operator between two UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::operator+ (const T &lc, const cytnx::UniTensor &Rt) |
| | The addtion operator between a template type and a UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::operator+ (const cytnx::UniTensor &Lt, const T &rc) |
| | The addtion operator between a UniTensor and a template type.
|
| |
| cytnx::UniTensor | cytnx::operator- (const cytnx::UniTensor &Lt, const cytnx::UniTensor &Rt) |
| | The subtraction operator between two UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::operator- (const T &lc, const cytnx::UniTensor &Rt) |
| | The subtraction operator between a template type and a UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::operator- (const cytnx::UniTensor &Lt, const T &rc) |
| | The subtraction operator between a UniTensor and a template type.
|
| |
| cytnx::UniTensor | cytnx::operator* (const cytnx::UniTensor &Lt, const cytnx::UniTensor &Rt) |
| | The multiplication operator between two UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::operator* (const T &lc, const cytnx::UniTensor &Rt) |
| | The multiplication operator between a template type and a UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::operator* (const cytnx::UniTensor &Lt, const T &rc) |
| | The multiplication operator between a UniTensor and a template type.
|
| |
| cytnx::UniTensor | cytnx::operator/ (const cytnx::UniTensor &Lt, const cytnx::UniTensor &Rt) |
| | The division operator between two UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::operator/ (const T &lc, const cytnx::UniTensor &Rt) |
| | The division operator between a template type and a UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::operator/ (const cytnx::UniTensor &Lt, const T &rc) |
| | The division operator between a UniTensor and a template type.
|
| |
| cytnx::UniTensor | cytnx::operator% (const cytnx::UniTensor &Lt, const cytnx::UniTensor &Rt) |
| | The modulo operator between two UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::operator% (const T &lc, const cytnx::UniTensor &Rt) |
| | The modulo operator between a template type and a UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::operator% (const cytnx::UniTensor &Lt, const T &rc) |
| | The modulo operator between a UniTensor and a template type.
|
| |
| cytnx::UniTensor | cytnx::linalg::Add (const cytnx::UniTensor &Lt, const cytnx::UniTensor &Rt) |
| | The addtion function between two UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::linalg::Add (const T &lc, const cytnx::UniTensor &Rt) |
| | The addtion function between a template type and a UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::linalg::Add (const cytnx::UniTensor &Lt, const T &rc) |
| | The addtion function between a UniTensor and a template type.
|
| |
| cytnx::UniTensor | cytnx::linalg::Sub (const cytnx::UniTensor &Lt, const cytnx::UniTensor &Rt) |
| | The subtraction function between two UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::linalg::Sub (const T &lc, const cytnx::UniTensor &Rt) |
| | The subtraction function between a UniTensor and a template type.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::linalg::Sub (const cytnx::UniTensor &Lt, const T &rc) |
| | The subtraction function between a UniTensor and a template type.
|
| |
| cytnx::UniTensor | cytnx::linalg::Mul (const cytnx::UniTensor &Lt, const cytnx::UniTensor &Rt) |
| | The multiplication function between two UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::linalg::Mul (const T &lc, const cytnx::UniTensor &Rt) |
| | The multiplication function between a UniTensor and a template type.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::linalg::Mul (const cytnx::UniTensor &Lt, const T &rc) |
| | The multiplication function between a UniTensor and a template type.
|
| |
| cytnx::UniTensor | cytnx::linalg::Div (const cytnx::UniTensor &Lt, const cytnx::UniTensor &Rt) |
| | The division function between two UniTensor.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::linalg::Div (const T &lc, const cytnx::UniTensor &Rt) |
| | The division function between a UniTensor and a template type.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::linalg::Div (const cytnx::UniTensor &Lt, const T &rc) |
| | The division function between a UniTensor and a template type.
|
| |
| cytnx::UniTensor | cytnx::linalg::Mod (const cytnx::UniTensor &Lt, const cytnx::UniTensor &Rt) |
| | element-wise modulo
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::linalg::Mod (const T &lc, const cytnx::UniTensor &Rt) |
| | The modulo function between a UniTensor and a template type.
|
| |
| template<class T > |
| cytnx::UniTensor | cytnx::linalg::Mod (const cytnx::UniTensor &Lt, const T &rc) |
| | The modulo function between a UniTensor and a template type.
|
| |
| std::vector< cytnx::UniTensor > | cytnx::linalg::Svd (const cytnx::UniTensor &Tin, const bool &is_UvT=true) |
| | Perform Singular-Value decomposition on a UniTensor using divide-and-conquer method.
|
| |
| std::vector< cytnx::UniTensor > | cytnx::linalg::Gesvd (const cytnx::UniTensor &Tin, const bool &is_U=true, const bool &is_vT=true) |
| | Perform Singular-Value decomposition on a UniTensor using ?gesvd method.
|
| |
| std::vector< cytnx::UniTensor > | cytnx::linalg::Svd_truncate (const cytnx::UniTensor &Tin, const cytnx_uint64 &keepdim, const double &err=0, const bool &is_UvT=true, const unsigned int &return_err=0) |
| | Perform Singular-Value decomposition on a UniTensor with truncation.
|
| |
| std::vector< cytnx::UniTensor > | cytnx::linalg::Gesvd_truncate (const cytnx::UniTensor &Tin, const cytnx_uint64 &keepdim, const double &err=0, const bool &is_U=true, const bool &is_vT=true, const unsigned int &return_err=0) |
| | Perform Singular-Value decomposition on a UniTensor with truncation.
|
| |
| std::vector< cytnx::UniTensor > | cytnx::linalg::Hosvd (const cytnx::UniTensor &Tin, const std::vector< cytnx_uint64 > &mode, const bool &is_core=true, const bool &is_Ls=false, const std::vector< cytnx_int64 > &trucate_dim=std::vector< cytnx_int64 >()) |
| |
| template<typename T > |
| cytnx::UniTensor | cytnx::linalg::ExpH (const cytnx::UniTensor &Tin, const T &a, const T &b=0) |
| | Perform the exponential function on a UniTensor, which the blocks are Hermitian matrix.
|
| |
| template<typename T > |
| cytnx::UniTensor | cytnx::linalg::ExpM (const cytnx::UniTensor &Tin, const T &a, const T &b=0) |
| | Perform the exponential function on a UniTensor.
|
| |
| cytnx::UniTensor | cytnx::linalg::ExpH (const cytnx::UniTensor &Tin) |
| | Perform the exponential function on a UniTensor, which the blocks are Hermitian matrix.
|
| |
| cytnx::UniTensor | cytnx::linalg::ExpM (const cytnx::UniTensor &Tin) |
| | Perform the exponential function on a UniTensor.
|
| |
| cytnx::UniTensor | cytnx::linalg::Trace (const cytnx::UniTensor &Tin, const cytnx_int64 &a=0, const cytnx_int64 &b=1) |
| |
| cytnx::UniTensor | cytnx::linalg::Trace (const cytnx::UniTensor &Tin, const std::string &a, const std::string &b) |
| | Perform trace over two legs of a UniTensor.
|
| |
| std::vector< cytnx::UniTensor > | cytnx::linalg::Qr (const cytnx::UniTensor &Tin, const bool &is_tau=false) |
| | Perform the QR decomposition on a UniTensor.
|
| |
| std::vector< cytnx::UniTensor > | cytnx::linalg::Qdr (const cytnx::UniTensor &Tin, const bool &is_tau=false) |
| | Perform the QDR decomposition on a UniTensor.
|
| |
| UniTensor | cytnx::linalg::Pow (const UniTensor &Tin, const double &p) |
| | take power p on all the elements in UniTensor.
|
| |
| void | cytnx::linalg::Pow_ (UniTensor &Tin, const double &p) |
| | Take power p on all the elements in UniTensor, inplacely.
|
| |
| cytnx::UniTensor | cytnx::linalg::Conj (const cytnx::UniTensor &UT) |
| | Elementwise conjugate of the UniTensor.
|
| |
| void | cytnx::linalg::Conj_ (cytnx::UniTensor &UT) |
| | Inplace elementwise conjugate of the UniTensor.
|
| |
| Tensor | cytnx::linalg::Add (const Tensor &Lt, const Tensor &Rt) |
| |
| template<class T > |
| Tensor | cytnx::linalg::Add (const T &lc, const Tensor &Rt) |
| | The addition function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Add (const Tensor &Lt, const T &rc) |
| | The addition function for Tensor.
|
| |
| void | cytnx::linalg::iAdd (Tensor &Lt, const Tensor &Rt) |
| | The addition function for Tensor, inplacely.
|
| |
| Tensor | cytnx::linalg::Sub (const Tensor &Lt, const Tensor &Rt) |
| | The subtraction function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Sub (const T &lc, const Tensor &Rt) |
| | The subtraction function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Sub (const Tensor &Lt, const T &rc) |
| | The subtraction function for Tensor.
|
| |
| void | cytnx::linalg::iSub (Tensor &Lt, const Tensor &Rt) |
| | The subtraction function for Tensot, inplscely.
|
| |
| Tensor | cytnx::linalg::Mul (const Tensor &Lt, const Tensor &Rt) |
| | The multiplication function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Mul (const T &lc, const Tensor &Rt) |
| | The multiplication function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Mul (const Tensor &Lt, const T &rc) |
| | The multiplication function for Tensor.
|
| |
| void | cytnx::linalg::iMul (Tensor &Lt, const Tensor &Rt) |
| | The multiplication function for Tensor, inplacely.
|
| |
| Tensor | cytnx::linalg::Div (const Tensor &Lt, const Tensor &Rt) |
| | The division function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Div (const T &lc, const Tensor &Rt) |
| | The division function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Div (const Tensor &Lt, const T &rc) |
| | The division function for Tensor.
|
| |
| void | cytnx::linalg::iDiv (Tensor &Lt, const Tensor &Rt) |
| | The inplace division function for Tensor, inplacely.
|
| |
| Tensor | cytnx::linalg::Mod (const Tensor &Lt, const Tensor &Rt) |
| | The mod function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Mod (const T &lc, const Tensor &Rt) |
| | The mod function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Mod (const Tensor &Lt, const T &rc) |
| | The mod function for Tensor.
|
| |
| Tensor | cytnx::linalg::Cpr (const Tensor &Lt, const Tensor &Rt) |
| | The comparison function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Cpr (const T &lc, const Tensor &Rt) |
| | The comparison function for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::linalg::Cpr (const Tensor &Lt, const T &rc) |
| | The comparison function for Tensor.
|
| |
| Tensor | cytnx::linalg::Norm (const Tensor &Tl) |
| | Calculate the norm of a tensor.
|
| |
| Tensor | cytnx::linalg::Norm (const UniTensor &uTl) |
| | Calculate the norm of an UniTensor.
|
| |
| Tensor | cytnx::linalg::Det (const Tensor &Tl) |
| | Calculate the determinant of a tensor.
|
| |
| std::vector< Tensor > | cytnx::linalg::Svd (const Tensor &Tin, const bool &is_UvT=true) |
| | Perform Singular-Value decomposition on a rank-2 Tensor (a matrix).
|
| |
| std::vector< Tensor > | cytnx::linalg::Gesvd (const Tensor &Tin, const bool &is_U=true, const bool &is_vT=true) |
| | Perform Singular-Value decomposition on a rank-2 Tensor (a matrix).
|
| |
| std::vector< Tensor > | cytnx::linalg::Svd_truncate (const Tensor &Tin, const cytnx_uint64 &keepdim, const double &err=0, const bool &is_UvT=true, const unsigned int &return_err=0) |
| | Perform the truncate Singular-Value decomposition on a rank-2 Tensor (a matrix).
|
| |
| std::vector< Tensor > | cytnx::linalg::Gesvd_truncate (const Tensor &Tin, const cytnx_uint64 &keepdim, const double &err=0, const bool &is_U=true, const bool &is_vT=true, const unsigned int &return_err=0) |
| | Perform the truncate Singular-Value decomposition on a rank-2 Tensor (a matrix).
|
| |
| std::vector< Tensor > | cytnx::linalg::Hosvd (const Tensor &Tin, const std::vector< cytnx_uint64 > &mode, const bool &is_core=true, const bool &is_Ls=false, const std::vector< cytnx_int64 > &trucate_dim=std::vector< cytnx_int64 >()) |
| |
| std::vector< Tensor > | cytnx::linalg::Qr (const Tensor &Tin, const bool &is_tau=false) |
| | Perform QR decomposition on a rank-2 Tensor.
|
| |
| std::vector< Tensor > | cytnx::linalg::Qdr (const Tensor &Tin, const bool &is_tau=false) |
| | Perform QDR decomposition on a rank-2 Tensor.
|
| |
| std::vector< Tensor > | cytnx::linalg::Eigh (const Tensor &Tin, const bool &is_V=true, const bool &row_v=false) |
| | eigen-value decomposition for Hermitian matrix
|
| |
| std::vector< UniTensor > | cytnx::linalg::Eigh (const UniTensor &Tin, const bool &is_V=true, const bool &row_v=false) |
| |
| std::vector< Tensor > | cytnx::linalg::Eig (const Tensor &Tin, const bool &is_V=true, const bool &row_v=false) |
| | eigen-value decomposition for generic square matrix
|
| |
| std::vector< UniTensor > | cytnx::linalg::Eig (const UniTensor &Tin, const bool &is_V=true, const bool &row_v=false) |
| |
| Tensor | cytnx::linalg::Trace (const Tensor &Tn, const cytnx_uint64 &axisA=0, const cytnx_uint64 &axisB=1) |
| | perform trace over index.
|
| |
| Tensor | cytnx::linalg::Min (const Tensor &Tn) |
| | get the minimum element.
|
| |
| Tensor | cytnx::linalg::Max (const Tensor &Tn) |
| | get the maximum element.
|
| |
| Tensor | cytnx::linalg::Sum (const Tensor &Tn) |
| | get the sum of all the elements.
|
| |
| Tensor | cytnx::linalg::Matmul (const Tensor &TL, const Tensor &TR) |
| | perform matrix multiplication on two tensors.
|
| |
| Tensor | cytnx::linalg::Matmul_dg (const Tensor &Tl, const Tensor &Tr) |
| | perform matrix multiplication on two Tensors with one rank-1 and the other rank-2 where the rank-1 represent the diagonal elements of the specific tensor.
|
| |
| Tensor | cytnx::linalg::InvM (const Tensor &Tin) |
| | Matrix inverse.
|
| |
| UniTensor | cytnx::linalg::InvM (const UniTensor &Tin) |
| |
| void | cytnx::linalg::InvM_ (Tensor &Tin) |
| | inplace matrix inverse.
|
| |
| void | cytnx::linalg::InvM_ (UniTensor &Tin) |
| |
| Tensor | cytnx::linalg::Inv (const Tensor &Tin, const double &clip) |
| | Element-wise inverse with clip.
|
| |
| void | cytnx::linalg::Inv_ (Tensor &Tin, const double &clip) |
| | inplace perform Element-wise inverse with clip.
|
| |
| Tensor | cytnx::linalg::Conj (const Tensor &Tin) |
| | Conjugate all the element in Tensor.
|
| |
| void | cytnx::linalg::Conj_ (Tensor &Tin) |
| | inplace perform Conjugate on all the element in Tensor.
|
| |
| Tensor | cytnx::linalg::Exp (const Tensor &Tin) |
| | Exponential all the element in Tensor.
|
| |
| Tensor | cytnx::linalg::Expf (const Tensor &Tin) |
| | Exponential all the element in Tensor.
|
| |
| void | cytnx::linalg::Exp_ (Tensor &Tin) |
| | inplace perform Exponential on all the element in Tensor.
|
| |
| void | cytnx::linalg::Expf_ (Tensor &Tin) |
| | inplace perform Exponential on all the element in Tensor.
|
| |
| Tensor | cytnx::linalg::Pow (const Tensor &Tin, const double &p) |
| | take power p on all the elements in Tensor.
|
| |
| void | cytnx::linalg::Pow_ (Tensor &Tin, const double &p) |
| | inplace perform power on all the elements in Tensor.
|
| |
| Tensor | cytnx::linalg::Abs (const Tensor &Tin) |
| | Elementwise absolute value.
|
| |
| void | cytnx::linalg::Abs_ (Tensor &Tin) |
| | inplace perform elementwiase absolute value. @This is just a inplace version of Abs. The input Tensor Tin will be modified.
|
| |
| Tensor | cytnx::linalg::Diag (const Tensor &Tin) |
| | return a diagonal tensor with diagonal elements provided as Tin.
|
| |
| Tensor | cytnx::linalg::Tensordot (const Tensor &Tl, const Tensor &Tr, const std::vector< cytnx_uint64 > &idxl, const std::vector< cytnx_uint64 > &idxr, const bool &cacheL=false, const bool &cacheR=false) |
| | perform tensor dot by sum out the indices assigned of two Tensors.
|
| |
| Tensor | cytnx::linalg::Tensordot_dg (const Tensor &Tl, const Tensor &Tr, const std::vector< cytnx_uint64 > &idxl, const std::vector< cytnx_uint64 > &idxr, const bool &diag_L) |
| | perform tensor dot by sum out the indices assigned of two Tensors, with either one of them to be a rank-2 diagonal tensor represented by a rank-2 tensor.
|
| |
| Tensor | cytnx::linalg::Outer (const Tensor &Tl, const Tensor &Tr) |
| | perform outer produces of two rank-1 Tensor.
|
| |
| Tensor | cytnx::linalg::Kron (const Tensor &Tl, const Tensor &Tr, const bool &Tl_pad_left=false, const bool &Tr_pad_left=false) |
| | perform kronecker produces of two Tensor.
|
| |
| Tensor | cytnx::linalg::Directsum (const Tensor &T1, const Tensor &T2, const std::vector< cytnx_uint64 > &shared_axes) |
| | perform directsum of two Tensor.
|
| |
| Tensor | cytnx::linalg::Vectordot (const Tensor &Tl, const Tensor &Tr, const bool &is_conj=false) |
| | perform inner product of vectors
|
| |
| Tensor | cytnx::linalg::Dot (const Tensor &Tl, const Tensor &Tr) |
| | dot product of two arrays.
|
| |
| std::vector< Tensor > | cytnx::linalg::Tridiag (const Tensor &Diag, const Tensor &Sub_diag, const bool &is_V=true, const bool &is_row=false, bool throw_excp=false) |
| | perform diagonalization of symmetric tri-diagnoal matrix.
|
| |
| template<typename T > |
| Tensor | cytnx::linalg::ExpH (const Tensor &in, const T &a, const T &b=0) |
| | perform matrix exponential for Hermitian matrix
|
| |
| Tensor | cytnx::linalg::ExpH (const Tensor &in) |
| | perform matrix exponential for Hermitian matrix
|
| |
| template<typename T > |
| Tensor | cytnx::linalg::ExpM (const Tensor &in, const T &a, const T &b=0) |
| | perform matrix exponential for generic matrix
|
| |
| Tensor | cytnx::linalg::ExpM (const Tensor &in) |
| | perform matrix exponential for generic matrix
|
| |
| std::vector< Tensor > | cytnx::linalg::Arnoldi (LinOp *Hop, const Tensor &Tin=Tensor(), const std::string which="LM", const cytnx_uint64 &maxiter=10000, const cytnx_double &cvg_crit=1.0e-9, const cytnx_uint64 &k=1, const bool &is_V=true, const bool &verbose=false) |
| | perform Arnoldi for matrices or linear function.
|
| |
| std::vector< Tensor > | cytnx::linalg::Lanczos (LinOp *Hop, const Tensor &Tin=Tensor(), const std::string method="Gnd", const double &CvgCrit=1.0e-14, const unsigned int &Maxiter=10000, const cytnx_uint64 &k=1, const bool &is_V=true, const bool &is_row=false, const cytnx_uint32 &max_krydim=0, const bool &verbose=false) |
| | perform Lanczos for hermitian/symmetric matrices or linear function.
|
| |
| std::vector< UniTensor > | cytnx::linalg::Lanczos (LinOp *Hop, const UniTensor &Tin=UniTensor(), const std::string method="Gnd", const double &CvgCrit=1.0e-14, const unsigned int &Maxiter=10000, const cytnx_uint64 &k=1, const bool &is_V=true, const bool &is_row=false, const cytnx_uint32 &max_krydim=4, const bool &verbose=false) |
| | perform Lanczos for hermitian/symmetric matrices or linear function.
|
| |
| std::vector< Tensor > | cytnx::linalg::Lanczos_ER (LinOp *Hop, const cytnx_uint64 &k=1, const bool &is_V=true, const cytnx_uint64 &maxiter=10000, const double &CvgCrit=1.0e-14, const bool &is_row=false, const Tensor &Tin=Tensor(), const cytnx_uint32 &max_krydim=4, const bool &verbose=false) |
| | perform Lanczos for hermitian/symmetric matrices or linear function.
|
| |
| std::vector< Tensor > | cytnx::linalg::Lanczos_Gnd (LinOp *Hop, const double &CvgCrit=1.0e-14, const bool &is_V=true, const Tensor &Tin=Tensor(), const bool &verbose=false, const unsigned int &Maxiter=100000) |
| | perform Lanczos for hermitian/symmetric matrices or linear function to get ground state and lowest eigen value
|
| |
| std::vector< UniTensor > | cytnx::linalg::Lanczos_Gnd_Ut (LinOp *Hop, const UniTensor &Tin, const double &CvgCrit=1.0e-14, const bool &is_V=true, const bool &verbose=false, const unsigned int &Maxiter=100000) |
| | perform Lanczos for hermitian/symmetric matrices or linear function to get ground state and lowest eigen value
|
| |
| std::vector< Tensor > | cytnx::linalg::Lstsq (const Tensor &A, const Tensor &b, const float &rcond=-1) |
| | Return the least-squares solution to a linear matrix equation.
|
| |
| Tensor | cytnx::linalg::Axpy (const Scalar &a, const Tensor &x, const Tensor &y=Tensor()) |
| | Blas Axpy, performing \( a\textbf{x} + \textbf{y} \), inplacely.
|
| |
| void | cytnx::linalg::Axpy_ (const Scalar &a, const Tensor &x, Tensor &y) |
| | Blas Axpy, performing \( \textbf{y} = a\textbf{x} + \textbf{y} \), inplacely.
|
| |
| Tensor | cytnx::linalg::Ger (const Tensor &x, const Tensor &y, const Scalar &a=Scalar()) |
| | Blas Ger, performing return = a*vec(x)*vec(y)^T.
|
| |
| void | cytnx::linalg::Gemm_ (const Scalar &a, const Tensor &x, const Tensor &y, const Scalar &b, Tensor &c) |
| | Blas Gemm, performing \( \textbf{c} = a\textbf{x}\textbf{y} + b\textbf{c} \), inplacely.
|
| |
| Tensor | cytnx::linalg::Gemm (const Scalar &a, const Tensor &x, const Tensor &y) |
| | Blas Gemm, performing \( a\textbf{x}\textbf{y} -> \) return.
|
| |
| void | cytnx::linalg::Gemm_Batch (const std::vector< cytnx_int64 > &m_array, const std::vector< cytnx_int64 > &n_array, const std::vector< cytnx_int64 > &k_array, const std::vector< Scalar > &alpha_array, const std::vector< Tensor > &a_tensors, const std::vector< Tensor > &b_tensors, const std::vector< Scalar > &beta_array, std::vector< Tensor > &c_tensors, const cytnx_int64 group_count, const std::vector< cytnx_int64 > &group_size) |
| | Blas Gemm_Batch, performing many(batch) \( \textbf{c} = \alpha\textbf{a}\textbf{b} +
\beta\textbf{c} \), inplacely. You do not need to consider the row-major or column-major, just provide the correct shape.
|
| |
| Tensor | cytnx::operator+ (const Tensor &Lt, const Tensor &Rt) |
| | The addition operator for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator+ (const T &lc, const Tensor &Rt) |
| | The addition operator between a template type and Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator+ (const Tensor &Lt, const T &rc) |
| | The addition operator between Tensor and a template type.
|
| |
| Tensor | cytnx::operator- (const Tensor &Lt, const Tensor &Rt) |
| | The subtraction operator for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator- (const T &lc, const Tensor &Rt) |
| | The subtraction operator between a template type and Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator- (const Tensor &Lt, const T &rc) |
| | The subtraction operator between Tensor and a template type.
|
| |
| Tensor | cytnx::operator* (const Tensor &Lt, const Tensor &Rt) |
| | The multiplication operator for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator* (const T &lc, const Tensor &Rt) |
| | The multiplication operator between a template type and Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator* (const Tensor &Lt, const T &rc) |
| | The multiplication operator between Tensor and a template type.
|
| |
| Tensor | cytnx::operator/ (const Tensor &Lt, const Tensor &Rt) |
| | The division operator for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator/ (const T &lc, const Tensor &Rt) |
| | The division operator between a template type and Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator/ (const Tensor &Lt, const T &rc) |
| | The division operator between Tensor and a template type.
|
| |
| Tensor | cytnx::operator% (const Tensor &Lt, const Tensor &Rt) |
| | The mode operator for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator% (const T &lc, const Tensor &Rt) |
| | The mode operator between a template type and Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator% (const Tensor &Lt, const T &rc) |
| | The mode operator between Tensor and a template type.
|
| |
| Tensor | cytnx::operator== (const Tensor &Lt, const Tensor &Rt) |
| | The comparison operator for Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator== (const T &lc, const Tensor &Rt) |
| | The comparison operator between a template type and Tensor.
|
| |
| template<class T > |
| Tensor | cytnx::operator== (const Tensor &Lt, const T &rc) |
| | The comparison operator between Tensor and a template type.
|
| |