planner.core.linear_algebra
#
Module Contents#
- planner.core.linear_algebra.transformation_matrix(rot: numpy.ndarray | None = None, pos: numpy.ndarray | None = None) numpy.ndarray #
Returns a 4x4 transformation matrix given rotation matrix and translation vector.
- Parameters:
rot (array-like) – 3x3 rotation matrix.
pos (array-like) – Translation vector (3 elements).
- Returns:
numpy.ndarray – 4x4 transformation matrix.
- Return type:
numpy.ndarray
- planner.core.linear_algebra.truncpareto_cdf(x: torch.IntTensor, exponent: float, upper_bound: int) torch.FloatTensor #
- Parameters:
x (torch.IntTensor) –
exponent (float) –
upper_bound (int) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.max_scaling(directions: torch.FloatTensor, action_range: torch.FloatTensor) torch.FloatTensor #
- Parameters:
directions (torch.FloatTensor) –
action_range (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.normalize(direction: torch.FloatTensor) torch.FloatTensor #
- Parameters:
direction (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.normalize_multiple(directions: torch.FloatTensor) torch.FloatTensor #
- Parameters:
directions (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.project_v_on_u(v: torch.FloatTensor, u: torch.FloatTensor) torch.FloatTensor #
Calculates the projection of v on u.
- Raises:
A ValueError if v and u are not vectors –
- Parameters:
v (torch.FloatTensor) –
u (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.gram_schmidt(basis_vectors: torch.FloatTensor) torch.FloatTensor #
Returns an orthonormal basis spanning the same dimension as the linearly independent basis vectors.
This method assumes the basis vectors are linearly independent. If they aren’t, you’re going to have a bad time
- Parameters:
basis_vectors (torch.FloatTensor) – set of vectors that span a space. The columns are assumed to be individual vectors
- Raises:
An ValueError if the basis vectors are not linearly independent –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.project_vectors_on_eigenspace(vectors: torch.FloatTensor, orthonormal_basis: torch.FloatTensor) torch.FloatTensor #
Given an eigenspace, projects the vector on the space.
- Parameters:
vectors (torch.FloatTensor) – (k, n) vector
orthonormal – (m, n) sized orthonormal basis
orthonormal_basis (torch.FloatTensor) –
- Returns:
(k, n) vectors projected on the orthonormal basis
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.einsum_ij_ij_i(A: torch.FloatTensor, B: torch.FloatTensor) torch.FloatTensor #
- Parameters:
A (torch.FloatTensor) –
B (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.einsum_ij_kj_ki(A: torch.FloatTensor, B: torch.FloatTensor) torch.FloatTensor #
- Parameters:
A (torch.FloatTensor) –
B (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.einsum_ijk_ik_ij(A: torch.FloatTensor, B: torch.FloatTensor) torch.FloatTensor #
- Parameters:
A (torch.FloatTensor) –
B (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.einsum_ikj_ik_ij(A: torch.FloatTensor, B: torch.FloatTensor) torch.FloatTensor #
- Parameters:
A (torch.FloatTensor) –
B (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.einsum_jk_ikl_ijl(A: torch.FloatTensor, B: torch.FloatTensor) torch.FloatTensor #
- Parameters:
A (torch.FloatTensor) –
B (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.einsum_ijk_ikl_ijl(A: torch.FloatTensor, B: torch.FloatTensor) torch.FloatTensor #
- Parameters:
A (torch.FloatTensor) –
B (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.einsum_ikj_ikl_ijl(A: torch.FloatTensor, B: torch.FloatTensor) torch.FloatTensor #
- Parameters:
A (torch.FloatTensor) –
B (torch.FloatTensor) –
- Return type:
torch.FloatTensor
- planner.core.linear_algebra.einsum_ijk_ilk_ijl(A: torch.FloatTensor, B: torch.FloatTensor) torch.FloatTensor #
- Parameters:
A (torch.FloatTensor) –
B (torch.FloatTensor) –
- Return type:
torch.FloatTensor