pypose.randn_like¶
- class pypose.randn_like(input, sigma=1.0, **kwargs)[source]¶
Returns a LieTensor with the same size as input that is filled with random LieTensor with the corresponding
input.ltype
.The corresponding random generator can be
List of available random LieTensor generator of input ltype
.¶Name
ltype
randn function
Manifold
randn function
Orthogonal Group
SO3_type
so3_type
Euclidean Group
SE3_type
se3_type
Similarity Group
Sim3_type
sim3_type
Scaling Orthogonal
RxSO3_type
rxso3_type
- Parameters
input (LieTensor) – the size of input will determine size of the output tensor.
sigma (float or (float...), optional) – standard deviation for generating random LieTensors. Default:
1.0
.dtype (torch.dtype, optional) – the desired data type of returned Tensor. Default: if
None
, defaults to the dtype of input.layout (torch.layout, optional) – the desired layout of returned tensor. Default: if
None
, defaults to the layout of input.device (torch.device, optional) – the desired device of returned tensor. Default: if
None
, defaults to the device of input.requires_grad (bool, optional) – If autograd should record operations on the returned tensor. Default:
False
.memory_format (torch.memory_format, optional) – the desired memory format of returned Tensor. Default:
torch.preserve_format
.
Note
The parameter sigma (\(\sigma\)) can either be:
a single
float
– in which all the elements in the LieType share the same sigma.a
tuple
of a number of floats – in which case, the specific sigma for each element can be assigned independently.
Note
If we have:
import pypose as pp x = pp.SO3([0, 0, 0, 1])
Then the following two usages are equivalent:
pp.randn_like(x) pp.randn_SO3(x.lshape, dtype=x.dtype, layout=x.layout, device=x.device)
Example
>>> x = pp.so3(torch.tensor([[0, 0, 0]])) >>> pp.randn_like(x) so3Type LieTensor: tensor([[ 0.5162, -0.4600, -0.9085]])