Cytnx v0.9.1
Loading...
Searching...
No Matches
Namespaces | Functions
linalg.hpp File Reference
#include "Type.hpp"
#include "cytnx_error.hpp"
#include "Tensor.hpp"
#include "Storage.hpp"
#include "UniTensor.hpp"
#include "Scalar.hpp"
#include "LinOp.hpp"
#include <functional>
Include dependency graph for linalg.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  cytnx
 
namespace  cytnx::linalg
 linear algebra related functions.
 

Functions

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::UniTensorcytnx::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::UniTensorcytnx::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::UniTensorcytnx::linalg::Svd_truncate (const cytnx::UniTensor &Tin, const cytnx_uint64 &keepdim, const double &err=0, const bool &is_UvT=true, const bool &return_err=false)
 Perform Singular-Value decomposition on a UniTensor with truncation.
 
std::vector< cytnx::UniTensorcytnx::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 bool &return_err=false)
 Perform Singular-Value decomposition on a UniTensor with truncation.
 
std::vector< cytnx::UniTensorcytnx::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.
 
cytnx::UniTensor cytnx::linalg::Trace (const cytnx::UniTensor &Tin, const cytnx_int64 &a=0, const cytnx_int64 &b=1, const bool &by_label=false)
 
std::vector< cytnx::UniTensorcytnx::linalg::Qr (const cytnx::UniTensor &Tin, const bool &is_tau=false)
 Perform the QR decomposition on a UniTensor.
 
std::vector< cytnx::UniTensorcytnx::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.
 
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::Det (const Tensor &Tl)
 Calculate the determinant of a tensor.
 
std::vector< Tensorcytnx::linalg::Svd (const Tensor &Tin, const bool &is_UvT=true)
 Perform Singular-Value decomposition on a rank-2 Tensor (a matrix).
 
std::vector< Tensorcytnx::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< Tensorcytnx::linalg::Svd_truncate (const Tensor &Tin, const cytnx_uint64 &keepdim, const double &err=0, const bool &is_UvT=true, const bool &return_err=false)
 Perform the truncate Singular-Value decomposition on a rank-2 Tensor (a matrix).
 
std::vector< Tensorcytnx::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 bool &return_err=false)
 Perform the truncate Singular-Value decomposition on a rank-2 Tensor (a matrix).
 
std::vector< Tensorcytnx::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< Tensorcytnx::linalg::Qr (const Tensor &Tin, const bool &is_tau=false)
 Perform QR decomposition on a rank-2 Tensor.
 
std::vector< Tensorcytnx::linalg::Qdr (const Tensor &Tin, const bool &is_tau=false)
 Perform QDR decomposition on a rank-2 Tensor.
 
std::vector< Tensorcytnx::linalg::Eigh (const Tensor &Tin, const bool &is_V=true, const bool &row_v=false)
 eigen-value decomposition for Hermitian matrix
 
std::vector< Tensorcytnx::linalg::Eig (const Tensor &Tin, const bool &is_V=true, const bool &row_v=false)
 eigen-value decomposition for generic square matrix
 
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.
 
void cytnx::linalg::InvM_ (Tensor &Tin)
 inplace matrix inverse.
 
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< Tensorcytnx::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)
 
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< Tensorcytnx::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< Tensorcytnx::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< UniTensorcytnx::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< Tensorcytnx::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< Tensorcytnx::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< UniTensorcytnx::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< Tensorcytnx::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.
 
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.