/
usr
/
local
/
lib64
/
python3.6
/
site-packages
/
torch
/
/usr/local/lib64/python3.6/site-packages/torch
mkdir
upload
Name
Size
Mode
Actions
ao/
-
0755
rm
autograd/
-
0755
rm
backends/
-
0755
rm
bin/
-
0755
rm
contrib/
-
0755
rm
cpu/
-
0755
rm
cuda/
-
0755
rm
distributed/
-
0755
rm
distributions/
-
0755
rm
fft/
-
0755
rm
for_onnx/
-
0755
rm
futures/
-
0755
rm
fx/
-
0755
rm
include/
-
0755
rm
jit/
-
0755
rm
lib/
-
0755
rm
linalg/
-
0755
rm
multiprocessing/
-
0755
rm
nn/
-
0755
rm
onnx/
-
0755
rm
optim/
-
0755
rm
package/
-
0755
rm
profiler/
-
0755
rm
quantization/
-
0755
rm
share/
-
0755
rm
sparse/
-
0755
rm
special/
-
0755
rm
testing/
-
0755
rm
utils/
-
0755
rm
_C/
-
0755
rm
__pycache__/
-
0755
rm
autocast_mode.py
9663
0644
edit
dl
rm
functional.py
71257
0644
edit
dl
rm
hub.py
23371
0644
edit
dl
rm
overrides.py
84146
0644
edit
dl
rm
py.typed
0
0644
edit
dl
rm
quasirandom.py
7489
0644
edit
dl
rm
random.py
4828
0644
edit
dl
rm
serialization.py
36544
0644
edit
dl
rm
storage.py
5762
0644
edit
dl
rm
torch_version.py
3468
0644
edit
dl
rm
types.py
1552
0644
edit
dl
rm
version.py
125
0644
edit
dl
rm
_appdirs.py
26245
0644
edit
dl
rm
_C.cpython-36m-x86_64-linux-gnu.so
29296
0755
edit
dl
rm
_classes.py
1717
0644
edit
dl
rm
_deploy.py
3100
0644
edit
dl
rm
_dl.cpython-36m-x86_64-linux-gnu.so
29832
0755
edit
dl
rm
_jit_internal.py
46910
0644
edit
dl
rm
_linalg_utils.py
2373
0644
edit
dl
rm
_lobpcg.py
44076
0644
edit
dl
rm
_lowrank.py
11031
0644
edit
dl
rm
_namedtensor_internals.py
5351
0644
edit
dl
rm
_ops.py
4457
0644
edit
dl
rm
_python_dispatcher.py
7011
0644
edit
dl
rm
_six.py
1858
0644
edit
dl
rm
_sources.py
3882
0644
edit
dl
rm
_storage_docs.py
1298
0644
edit
dl
rm
_tensor.py
50854
0644
edit
dl
rm
_tensor_docs.py
113474
0644
edit
dl
rm
_tensor_str.py
18091
0644
edit
dl
rm
_torch_docs.py
364678
0644
edit
dl
rm
_utils.py
21617
0644
edit
dl
rm
_utils_internal.py
1687
0644
edit
dl
rm
_VF.py
656
0644
edit
dl
rm
_vmap_internals.py
13219
0644
edit
dl
rm
__config__.py
551
0644
edit
dl
rm
__future__.py
813
0644
edit
dl
rm
__init__.py
31199
0644
edit
dl
rm
Edit:
/usr/local/lib64/python3.6/site-packages/torch/_linalg_utils.py
(2373B)
"""Various linear algebra utility methods for internal use. """ from torch import Tensor import torch from typing import Optional, Tuple def is_sparse(A): """Check if tensor A is a sparse tensor""" if isinstance(A, torch.Tensor): return A.layout == torch.sparse_coo error_str = "expected Tensor" if not torch.jit.is_scripting(): error_str += " but got {}".format(type(A)) raise TypeError(error_str) def get_floating_dtype(A): """Return the floating point dtype of tensor A. Integer types map to float32. """ dtype = A.dtype if dtype in (torch.float16, torch.float32, torch.float64): return dtype return torch.float32 def matmul(A: Optional[Tensor], B: Tensor) -> Tensor: """Multiply two matrices. If A is None, return B. A can be sparse or dense. B is always dense. """ if A is None: return B if is_sparse(A): return torch.sparse.mm(A, B) return torch.matmul(A, B) def conjugate(A): """Return conjugate of tensor A. .. note:: If A's dtype is not complex, A is returned. """ if A.is_complex(): return A.conj() return A def transpose(A): """Return transpose of a matrix or batches of matrices. """ ndim = len(A.shape) return A.transpose(ndim - 1, ndim - 2) def transjugate(A): """Return transpose conjugate of a matrix or batches of matrices. """ return conjugate(transpose(A)) def bform(X: Tensor, A: Optional[Tensor], Y: Tensor) -> Tensor: """Return bilinear form of matrices: :math:`X^T A Y`. """ return matmul(transpose(X), matmul(A, Y)) def qform(A: Optional[Tensor], S: Tensor): """Return quadratic form :math:`S^T A S`. """ return bform(S, A, S) def basis(A): """Return orthogonal basis of A columns. """ if A.is_cuda: # torch.orgqr is not available in CUDA Q = torch.linalg.qr(A).Q else: Q = torch.orgqr(*torch.geqrf(A)) return Q def symeig(A: Tensor, largest: Optional[bool] = False) -> Tuple[Tensor, Tensor]: """Return eigenpairs of A with specified ordering. """ if largest is None: largest = False E, Z = torch.linalg.eigh(A, UPLO='U') # assuming that E is ordered if largest: E = torch.flip(E, dims=(-1,)) Z = torch.flip(Z, dims=(-1,)) return E, Z
Save
cmd:
run