5.4. TensorLike¶
- class TensorLike¶
The base class for Constant , Var , Param and Expr .
Properties
Transpose of the tensor.
Index of this tensor. It is -1 until tensor is added to model.
The number of dimensions for this tensor.
The shape of this tensor.
The type for this tensor.
Methods
Reshape this tensor, number of elements should not be changed between new shape and original shape.
Get sub-tensor from this tensor.
Tensor <= object.
Tensor >= object. Operands may be broadcasted.
Tensor == object. Operands may be broadcasted.
Constraint: tensor is NSD.
Constraint: tensor is PSD.
Constraint: tensor is PSD.
Constraint: tensor is NSD.
Returns -tensor.
Tensor ** object.
Object ** tensor.
Tensor + object. Operands may be broadcasted.
Object + tensor.
Tensor - object.
Object - tensor.
Tensor * object.
Object * tensor.
Tensor @ object.
Object @ tensor.
Tensor / object.
Object / tensor.
- property T: Expr¶
Transpose of the tensor.
- property index: int¶
Index of this tensor. It is -1 until tensor is added to model.
- property ndim: int¶
The number of dimensions for this tensor.
- property shape: Tuple[int]¶
The shape of this tensor.
- property type: int¶
The type for this tensor.
It is:
2 for sparse constant.
3 for dense constant.
4 for parameter.
5 for variable.
and 6, for expression.
- reshape(*shape: int)¶
Reshape this tensor, number of elements should not be changed between new shape and original shape.
- param *shape:
Type: int
The dimensions for new shape.
- return:
Type: Expr
The reshaped tensor.
- __getitem__(slc: slice)¶
Get sub-tensor from this tensor.
- param slc:
Type: slice
The index range for each dimension for sub-tensor.
- return:
Type: Expr
The sub-tensor.
- __le__(r: TensorLike | ArrayLike)¶
Tensor <= object.
Operands may be broadcasted.
- param r:
Type: Union[TensorLike, ArrayLike]
The right-hand-side for comparison.
- return:
Type: Constr
The constraint.
- __ge__(r: TensorLike | ArrayLike)¶
Tensor >= object. Operands may be broadcasted.
- param r:
Type: Union[TensorLike, ArrayLike]
The right-hand-side for comparison.
- return:
Type: Constr
The constraint.
- __eq__(r: TensorLike | ArrayLike)¶
Tensor == object. Operands may be broadcasted.
- param r:
Type: Union[TensorLike, ArrayLike]
The right-hand-side for comparison.
- return:
Type: Constr
The constraint.
- __lshift__(r: int)¶
Constraint: tensor is NSD.
- param r:
Type: int
Must be zero.
- return:
Type: Constr
The NSD constraint.
- __rlshift__(l: int)¶
Constraint: tensor is PSD.
- param l:
Type: int
Must be zero.
- return:
Type: Constr
The PSD constraint.
- __rshift__(r: int)¶
Constraint: tensor is PSD.
- param r:
Type: int
Must be zero.
- return:
Type: Constr
The PSD constraint.
- __rrshift__(l: int)¶
Constraint: tensor is NSD.
- param l:
Type: int
Must be zero.
- return:
Type: Constr
The NSD constraint.
- __neg__()¶
Returns -tensor.
- return:
Type: Expr
-tensor.
- __pow__(r: TensorLike | ArrayLike)¶
Tensor ** object.
Operands may be broadcasted.
- param r:
Type: Union[TensorLike, ArrayLike]
The right-hand-side object
- return:
Type: Expr
The result of exponentiation.
Note
This operation is element-wise exponentiation.
- __rpow__(l: TensorLike | ArrayLike)¶
Object ** tensor.
Operands may be broadcasted.
- param l:
Type: Union[TensorLike, ArrayLike]
The left-hand-side object.
- return:
Type: Expr
The result of exponentiation.
Note
This operation is element-wise exponentiation.
- __add__(r: TensorLike | ArrayLike)¶
Tensor + object. Operands may be broadcasted.
- param r:
Type: Union[TensorLike, ArrayLike]
The right-hand-side object
- return:
Type: Expr
The result of add operation.
- __radd__(l: TensorLike | ArrayLike)¶
Object + tensor.
Operands may be broadcasted.
- param l:
Type: Union[TensorLike, ArrayLike]
The left-hand-side object.
- return:
Type: Expr
The result of add operation.
- __sub__(r: TensorLike | ArrayLike)¶
Tensor - object.
Operands may be broadcasted.
- param r:
Type: Union[TensorLike, ArrayLike]
The right-hand-side object
- return:
Type: Expr
The result of subtraction.
- __rsub__(l: TensorLike | ArrayLike)¶
Object - tensor.
Operands may be broadcasted.
- param l:
Type: Union[TensorLike, ArrayLike]
The left-hand-side object.
- return:
Type: Expr
The result of subtraction.
- __mul__(r: TensorLike | ArrayLike)¶
Tensor * object.
Operands may be broadcasted.
- param r:
Type: Union[TensorLike, ArrayLike]
The right-hand-side object
- return:
Type: Expr
The result of multiplication.
Note
This operation is element-wise multiplication.
- __rmul__(l: TensorLike | ArrayLike)¶
Object * tensor.
Operands may be broadcasted.
- param l:
Type: Union[TensorLike, ArrayLike]
The left-hand-side object.
- return:
Type: Expr
The result of multiplication.
Note
This operation is element-wise multiplication.
- __matmul__(r: TensorLike | ArrayLike)¶
Tensor @ object.
Operands may be broadcasted.
- param r:
Type: Union[TensorLike, ArrayLike]
The right-hand-side object
- return:
Type: Expr
The result of multiplication operation.
Note
This operation is matrix multiplication.
- __rmatmul__(l: TensorLike | ArrayLike)¶
Object @ tensor.
Operands may be broadcasted.
- param l:
Type: Union[TensorLike, ArrayLike]
The left-hand-side object.
- return:
Type: Expr
The result of multiplication.
Note
This operation is matrix multiplication.
- __truediv__(r: TensorLike | ArrayLike)¶
Tensor / object.
Operands may be broadcasted.
- param r:
Type: Union[TensorLike, ArrayLike]
The right-hand-side object
- return:
Type: Expr
The result of division.
Note
This operation is element-wise division.
- __rtruediv__(l: TensorLike | ArrayLike)¶
Object / tensor.
Operands may be broadcasted.
- param l:
Type: Union[TensorLike, ArrayLike]
The left-hand-side object.
- return:
Type: Expr
The result of division.
Note
This operation is element-wise division.