lab.linear_algebra module¶
-
lab.linear_algebra.
T
¶ Shorthand for transpose.
-
lab.linear_algebra.
chol
¶ Shorthand for cholesky.
-
lab.linear_algebra.
cholesky
[source]¶ Compute the Cholesky decomposition.
- Parameters
a (tensor) – Matrix to decompose.
- Returns
Cholesky decomposition.
- Return type
tensor
-
lab.linear_algebra.
cholesky_solve
[source]¶ Solve the linear system a x = b given the Cholesky factorisation of a.
- Parameters
a (tensor) – Cholesky factorisation of a.
b (tensor) – RHS b.
- Returns
Solution x.
- Return type
tensor
-
lab.linear_algebra.
cholsolve
¶ Shorthand for cholesky_solve.
-
lab.linear_algebra.
det
[source]¶ Compute the determinant of a.
- Parameters
a (tensor) – Matrix to compute determinant of.
- Returns
Determinant of a
- Return type
scalar
-
lab.linear_algebra.
dot
¶ Shorthand for matmul.
-
lab.linear_algebra.
epsilon
= 1e-12¶ Magnitude of diagonal to regularise matrices with.
-
lab.linear_algebra.
ew_dists
[source]¶ Compute the Euclidean norm of the element-wise differences between two matrices where rows correspond to elements and columns to features.
- Parameters
a (matrix) – First matrix.
b (matrix, optional) – Second matrix. Defaults to a.
- Returns
- Euclidean norm of the element-wise differences between the
elements of a and b.
- Return type
matrix
-
lab.linear_algebra.
ew_dists2
[source]¶ Compute the square the Euclidean norm of the element-wise differences between two matrices where rows correspond to elements and columns to features.
- Parameters
a (matrix) – First matrix.
b (matrix, optional) – Second matrix. Defaults to a.
- Returns
- Square of the Euclidean norm of the element-wise differences
between the elements of a and b.
- Return type
matrix
-
lab.linear_algebra.
ew_sums
[source]¶ Compute the Euclidean norm of the element-wise sums between two matrices where rows correspond to elements and columns to features.
- Parameters
a (matrix) – First matrix.
b (matrix, optional) – Second matrix. Defaults to a.
- Returns
- Euclidean norm of the element-wise sums between the
elements of a and b.
- Return type
matrix
-
lab.linear_algebra.
ew_sums2
[source]¶ Compute the square the Euclidean norm of the element-wise sums between two matrices where rows correspond to elements and columns to features.
- Parameters
a (matrix) – First matrix.
b (matrix, optional) – Second matrix. Defaults to a.
- Returns
- Square of the Euclidean norm of the element-wise sums
between the elements of a and b.
- Return type
matrix
-
lab.linear_algebra.
expm
[source]¶ Compute the matrix exponential of a.
- Parameters
a (tensor) – Matrix to matrix exponential of.
- Returns
Matrix exponential of a
- Return type
scalar
-
lab.linear_algebra.
inv
[source]¶ Compute the inverse of a.
- Parameters
a (tensor) – Matrix to compute inverse of.
- Returns
Inverse of a.
- Return type
tensor
-
lab.linear_algebra.
kron
[source]¶ Kronecker product.
- Parameters
a (tensor) – First matrix.
b (tensor) – Second matrix.
- Returns
Kronecker product of a and b.
- Return type
tensor
-
lab.linear_algebra.
logdet
[source]¶ Compute the log-determinant of a.
- Parameters
a (tensor) – Matrix to compute log-determinant of.
- Returns
Log-determinant of a
- Return type
scalar
-
lab.linear_algebra.
logm
[source]¶ Compute the matrix logarithm of a.
- Parameters
a (tensor) – Matrix to matrix logarithm of.
- Returns
Matrix logarithm of a
- Return type
scalar
-
lab.linear_algebra.
matmul
[source]¶ Matrix multiplication.
- Parameters
a (tensor) – First matrix.
b (tensor) – Second matrix.
tr_a (bool, optional) – Transpose first matrix. Defaults to False.
tr_b (bool, optional) – Transpose second matrix. Defaults to False.
- Returns
Matrix product of a and b.
- Return type
tensor
-
lab.linear_algebra.
mm
¶ Shorthand for matmul.
-
lab.linear_algebra.
outer
[source]¶ Compute the outer product between two vectors or matrices.
- Parameters
a (tensor) – First tensor.
b (tensor) – Second tensor.
- Returns
Outer product of a and b.
- Return type
tensor
-
lab.linear_algebra.
pw_dists
[source]¶ Compute the Euclidean norm of the pairwise differences between two matrices where rows correspond to elements and columns to features.
- Parameters
a (matrix) – First matrix.
b (matrix, optional) – Second matrix. Defaults to a.
- Returns
- Euclidean norm of the pairwise differences between the
elements of a and b.
- Return type
matrix
-
lab.linear_algebra.
pw_dists2
[source]¶ Compute the square the Euclidean norm of the pairwise differences between two matrices where rows correspond to elements and columns to features.
- Parameters
a (matrix) – First matrix.
b (matrix, optional) – Second matrix. Defaults to a.
- Returns
- Square of the Euclidean norm of the pairwise differences
between the elements of a and b.
- Return type
matrix
-
lab.linear_algebra.
pw_sums
[source]¶ Compute the Euclidean norm of the pairwise sums between two matrices where rows correspond to elements and columns to features.
- Parameters
a (matrix) – First matrix.
b (matrix, optional) – Second matrix. Defaults to a.
- Returns
- Euclidean norm of the pairwise sums between the
elements of a and b.
- Return type
matrix
-
lab.linear_algebra.
pw_sums2
[source]¶ Compute the square the Euclidean norm of the pairwise sums between two matrices where rows correspond to elements and columns to features.
- Parameters
a (matrix) – First matrix.
b (matrix, optional) – Second matrix. Defaults to a.
- Returns
- Square of the Euclidean norm of the pairwise sums
between the elements of a and b.
- Return type
matrix
-
lab.linear_algebra.
reg
[source]¶ Add a diagonal to a matrix.
- Parameters
a (matrix) – Matrix to add a diagonal to.
diag (float, optional) – Magnitude of the diagonal to add. Defaults to .linear_algebra.epsilon.
clip (bool, optional) – Let diag be at least .linear_algebra.epsilon. Defaults to True.
- Returns
Regularised version of a.
- Return type
matrix
-
lab.linear_algebra.
solve
[source]¶ Solve the linear system a x = b.
- Parameters
a (tensor) – LHS a.
b (tensor) – RHS b.
- Returns
Solution x.
- Return type
tensor
-
lab.linear_algebra.
svd
[source]¶ Compute the singular value decomposition.
Note
PyTorch does not allow batch computation.
- Parameters
a (tensor) – Matrix to decompose.
compute_uv (bool, optional) – Also compute U and V. Defaults to True.
- Returns
(U, S, V) is compute_uv is True and just S otherwise.
- Return type
tuple
-
lab.linear_algebra.
t
¶ Shorthand for transpose.
-
lab.linear_algebra.
toeplitz_solve
[source]¶ Solve the linear system toep(a, b) x = c where toep(a, b) is a Toeplitz matrix.
- Parameters
a (tensor) – First column of the Toeplitz matrix.
b (tensor, optional) – Except for the first element, first row of the Toeplitz matrix. Defaults to a[1:].
c (tensor) – RHS c.
- Returns
Solution x.
- Return type
tensor
-
lab.linear_algebra.
toepsolve
¶ Shorthand for toeplitz_solve.
-
lab.linear_algebra.
trace
[source]¶ Compute the trace of a tensor.
- Parameters
a (tensor) – Tensor to compute trace of.
axis1 (int, optional) – First dimension to compute trace over. Defaults to 0.
axis2 (int, optional) – Second dimension to compute trace over. Defaults to 1.
- Returns
Trace.
- Return type
tensor
-
lab.linear_algebra.
transpose
[source]¶ Transpose a matrix.
- Parameters
a (tensor) – Matrix to transpose.
perm (list[int] or tuple[int], optional) – Permutation. Defaults to switching the last two axes.
- Returns
Transposition of a.
- Return type
tensor
-
lab.linear_algebra.
triangular_solve
[source]¶ Solve the linear system a x = b where a is triangular.
- Parameters
a (tensor) – Triangular matrix a.
b (tensor) – RHS b.
lower_a (bool, optional) – Indicate that a is lower triangular instead of upper triangular. Defaults to True.
- Returns
Solution x.
- Return type
tensor
-
lab.linear_algebra.
trisolve
¶ Shorthand for triangular_solve.