qubosolver.matrix
qubosolver.Matrix
module-attribute
2-D float tensor using the globally configured precision (float32 by default).
qubosolver.matrix
Square matrix utilities for QUBO solvers.
A Matrix is a 2-D tensor of shape (n, n) using the globally configured
float dtype (float32 by default, float64 when double precision is enabled).
This module provides factory functions for creating and converting such matrices
on the globally configured torch device.
Typical usage:
Q = matrix.zeros(4) # 4x4 zero matrix
Q = matrix.tensor([[0, 1], [1, 0]]) # from nested list
Q = matrix.as_tensor(some_tensor) # cast existing tensor, no copy when possible
Functions:
-
as_tensorβConvenience wrapper for
torch.as_tensorthat converts data to a matrix tensor. -
deviceβReturns the globally configured torch device.
-
dtypeβReturns the globally configured float dtype.
-
tensorβCreates a matrix tensor from the given data.
-
zerosβCreates a zero-filled square matrix of shape
(n, n). -
zeros_fieldβCreates a dataclass field defaulting to a zero-filled square matrix.
as_tensor
Convenience wrapper for torch.as_tensor that converts data to a matrix 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, nested list, etc.).
Returns:
-
MatrixβA 2-D tensor on the global dtype and device.
Source code in qubosolver/types/matrix.py
device
dtype
tensor
tensor(data: Any, *, dtype: torch.dtype | None = None, device: torch.device | None = None, **kwargs: Any) -> torch.Tensor
Creates a matrix tensor from the given data.
Parameters:
-
data(Any) βInput data (nested list or 2-D 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/matrix.py
zeros
zeros(n: int, *, dtype: torch.dtype | None = None, device: torch.device | None = None) -> torch.Tensor
Creates a zero-filled square matrix of shape (n, n).
Parameters:
-
n(int) βSize of the matrix (number of rows and columns).
-
dtype(torch.dtype | None, default:None) βData type of the tensor.
-
device(torch.device | None, default:None) βTorch device for the tensor.
Returns:
Source code in qubosolver/types/matrix.py
zeros_field
zeros_field(n: int, *, dtype: torch.dtype | None = None, device: torch.device | None = None) -> Matrix
Creates a dataclass field defaulting to a zero-filled square matrix.
Parameters:
-
n(int) βSize of the matrix (number of rows and columns).
-
dtype(torch.dtype | None, default:None) βData type of the tensor.
-
device(torch.device | None, default:None) βTorch device for the tensor.
Returns:
-
MatrixβA dataclass field (typed as
Matrixfor the enclosing class) whose -
Matrixβdefault_factorybuilds a fresh zero tensor per instance.