qubosolver.tensor
qubosolver.Tensor
module-attribute
Arbitrary-rank float tensor using the globally configured precision (float32 by default).
qubosolver.tensor
Arbitrary-rank tensor utilities for QUBO solvers.
A Tensor here is an arbitrary-rank float tensor using the globally configured
dtype (float32 by default, float64 when double precision is enabled).
This module provides factory functions for creating and converting such tensors
on the globally configured torch device.
Typical usage:
t = tensor.zeros(2, 3) # 2x3 zero tensor
t = tensor.tensor([[1.0, 0.0], [0.0, 1.0]]) # from nested list
t = tensor.as_tensor(some_tensor) # cast existing tensor, no copy when possible
For rank-specific aliases see qubosolver.vector (1-D) and
qubosolver.matrix (2-D square).
Functions:
-
as_tensorβConvenience wrapper for
torch.as_tensorthat converts data to a tensor. -
deviceβReturns the globally configured torch device.
-
dtypeβReturns the globally configured float dtype.
-
tensorβCreates a tensor from the given data.
-
zerosβCreates a zero-filled tensor with the given shape.
-
zeros_fieldβCreates a dataclass field defaulting to a zero-filled tensor with the given shape.
as_tensor
Convenience wrapper for torch.as_tensor that converts data to a tensor.
Avoids a copy when possible. If data is already a tensor with the right dtype and on
the right device, it is returned as-is, sharing the same underlying memory. A numpy
array is also shared rather than copied if it already has the global float dtype and
the global device is cpu (numpy arrays only live on CPU, so any other dtype or
device forces a copy). Lists, tuples, and other array-like inputs are always copied.
Parameters:
-
data(Any) βInput data (tensor, numpy array, list, tuple, etc.).
Returns:
-
TensorβA tensor on the global dtype and device.
Source code in qubosolver/types/tensor.py
device
dtype
tensor
tensor(data: Any, *, dtype: torch.dtype | None = None, device: torch.device | None = None, **kwargs: Any) -> torch.Tensor
Creates a tensor from the given data.
Parameters:
-
data(Any) βInput data (list, tuple, or array-like).
-
dtype(torch.dtype | None, default:None) βData type of the tensor.
-
device(torch.device | None, default:None) βTorch device for the tensor.
-
**kwargs(Any, default:{}) βExtra keyword arguments forwarded to
torch.tensor.
Returns:
Source code in qubosolver/types/tensor.py
zeros
zeros(*args: Any, dtype: torch.dtype | None = None, device: torch.device | None = None, **kwargs: Any) -> torch.Tensor
Creates a zero-filled tensor with the given shape.
Parameters:
-
*args(Any, default:()) βShape dimensions (e.g.
zeros(2, 3)orzeros((2, 3))). -
dtype(torch.dtype | None, default:None) βData type of the tensor.
-
device(torch.device | None, default:None) βTorch device for the tensor.
-
**kwargs(Any, default:{}) βExtra keyword arguments forwarded to
torch.zeros.
Returns:
Source code in qubosolver/types/tensor.py
zeros_field
zeros_field(*args: Any, dtype: torch.dtype | None = None, device: torch.device | None = None, **kwargs: Any) -> Tensor
Creates a dataclass field defaulting to a zero-filled tensor with the given shape.
Parameters:
-
*args(Any, default:()) βShape dimensions (e.g.
zeros_field(2, 3)orzeros_field((2, 3))). -
dtype(torch.dtype | None, default:None) βData type of the tensor.
-
device(torch.device | None, default:None) βTorch device for the tensor.
-
**kwargs(Any, default:{}) βExtra keyword arguments forwarded to
torch.zeros.
Returns:
-
TensorβA dataclass field (typed as
Tensorfor the enclosing class) whose -
Tensorβdefault_factorybuilds a fresh zero tensor per instance.