pylops_gpu.Diagonal¶
-
class
pylops_gpu.
Diagonal
(diag, dims=None, dir=0, device='cpu', togpu=(False, False), tocpu=(False, False), dtype=torch.float32)[source]¶ Diagonal operator.
Applies element-wise multiplication of the input vector with the vector
diag
in forward and with its complex conjugate in adjoint mode.This operator can also broadcast; in this case the input vector is reshaped into its dimensions
dims
and the element-wise multiplication withdiag
is perfomed on the directiondir
. Note that the vectordiag
will need to have size equal todims[dir]
.Parameters: - diag :
numpy.ndarray
ortorch.Tensor
orpytorch_complex_tensor.ComplexTensor
Vector to be used for element-wise multiplication.
- dims :
list
, optional Number of samples for each dimension (
None
if only one dimension is available)- dir :
int
, optional Direction along which multiplication is applied.
- device :
str
, optional Device to be used
- togpu :
tuple
, optional Move model and data from cpu to gpu prior to applying
matvec
andrmatvec
, respectively (only whendevice='gpu'
)- tocpu :
tuple
, optional Move data and model from gpu to cpu after applying
matvec
andrmatvec
, respectively (only whendevice='gpu'
)- dtype :
torch.dtype
, optional Type of elements in input array.
Notes
Refer to
pylops.basicoperators.Diagonal
for implementation details.Attributes: Methods
__init__
(diag[, dims, dir, device, togpu, …])Initialize this LinearOperator. adjoint
()Hermitian adjoint. apply_columns
(cols)Apply subset of columns of operator cond
([uselobpcg])Condition number of linear operator. conj
()Complex conjugate operator div
(y[, niter, tol])Solve the linear problem \(\mathbf{y}=\mathbf{A}\mathbf{x}\). dot
(x)Matrix-vector multiplication. eigs
([neigs, symmetric, niter, uselobpcg])Most significant eigenvalues of linear operator. matmat
(X[, kfirst])Matrix-matrix multiplication. matrix
()Return diagonal matrix as dense torch.Tensor
matvec
(x)Matrix-vector multiplication. rmatmat
(X[, kfirst])Adjoint matrix-matrix multiplication. rmatvec
(x)Adjoint matrix-vector multiplication. todense
([backend])Return dense matrix. toimag
([forw, adj])Imag operator toreal
([forw, adj])Real operator tosparse
()Return sparse matrix. transpose
()Transpose this linear operator. -
matrix
()[source]¶ Return diagonal matrix as dense
torch.Tensor
Returns: - densemat :
torch.Tensor
Dense matrix.
- densemat :
- diag :