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
diagin 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
dimsand the element-wise multiplication withdiagis perfomed on the directiondir. Note that the vectordiagwill need to have size equal todims[dir].Parameters: - diag :
numpy.ndarrayortorch.Tensororpytorch_complex_tensor.ComplexTensor Vector to be used for element-wise multiplication.
- dims :
list, optional Number of samples for each dimension (
Noneif 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
matvecandrmatvec, respectively (only whendevice='gpu')- tocpu :
tuple, optional Move data and model from gpu to cpu after applying
matvecandrmatvec, respectively (only whendevice='gpu')- dtype :
torch.dtype, optional Type of elements in input array.
Notes
Refer to
pylops.basicoperators.Diagonalfor 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.Tensormatvec(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.TensorReturns: - densemat :
torch.Tensor Dense matrix.
- densemat :
- diag :