DenseSquareMatrix#
- class pybrops.core.mat.DenseSquareMatrix.DenseSquareMatrix(mat, **kwargs)[source]#
Bases:
DenseMatrix
,SquareMatrix
A concrete class for dense square matrices. A “square matrix” is defined as a matrix that has the same axis metadata associated with two or more axes. For example:
This is a square matrix since metadata applies to axes 0 and 1: taxa +-------+ taxa | (n,n) | +-------+ This is not a square matrix since unique metadata applies to each axis: vrnt +-------+ taxa | (n,p) | Where: n == p +-------+
The purpose of this concrete class is to implement base functionality for:
Square matrix axis metadata.
Determination of square matrix conformity.
Constructor for the concrete class DenseSquareMatrix.
- Parameters:
kwargs (dict) – Used for cooperative inheritance. Dictionary passing unused arguments to the parent class constructor.
Methods
Add additional elements to the end of the Matrix along an axis.
Concatenate matrices together along an axis.
Make a shallow copy of the Matrix.
Make a deep copy of the Matrix.
Delete sub-arrays along an axis.
Read DenseMatrix from an HDF5 file.
Insert values along the given axis before the given indices.
Determine whether the axis lengths for the square axes are identical.
Select certain values from the matrix.
Write GenotypeMatrix to an HDF5 file.
Attributes
Pointer to raw numpy.ndarray object.
Number of dimensions of the raw numpy.ndarray.
Shape of the raw numpy.ndarray.
Number of axes that are square.
Axis indices for axes that are square.
Axis lengths for axes that are square.
- __add__(value)#
Elementwise add matrices
- Parameters:
value (object) – Object which to add.
- Returns:
out – An object resulting from the addition.
- Return type:
object
- __mul__(value)#
Elementwise multiply matrices
- Parameters:
value (object) – Object which to multiply.
- Returns:
out – An object resulting from the multiplication.
- Return type:
object
- adjoin(values, axis=-1, **kwargs)#
Add additional elements to the end of the Matrix along an axis.
- Parameters:
values (DenseMatrix, numpy.ndarray) – Values are appended to append to the Matrix.
axis (int) – The axis along which values are appended.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A copy of mat with values appended to axis. Note that adjoin does not occur in-place: a new Matrix is allocated and filled.
- Return type:
- static concat(mats, axis, **kwargs)#
Concatenate matrices together along an axis.
- Parameters:
mats (ArrayLike of DenseMatrix) – List of Matrix to concatenate. The matrices must have the same shape, except in the dimension corresponding to axis.
axis (int) – The axis along which the arrays will be joined.
kwargs (dict) – Additional keyword arguments
- Returns:
out – A concatenated
DenseMatrix
. Note that concat does not occur in-place: a newDenseMatrix
is allocated and filled.- Return type:
- copy()#
Make a shallow copy of the Matrix.
- Returns:
out – A shallow copy of the original DenseMatrix.
- Return type:
- deepcopy(memo=None)#
Make a deep copy of the Matrix.
- Parameters:
memo (dict) – Dictionary of memo metadata.
- Returns:
out – A deep copy of the original DenseMatrix.
- Return type:
- delete(obj, axis, **kwargs)#
Delete sub-arrays along an axis.
- Parameters:
obj (int, slice, or Sequence of ints) – Indicate indices of sub-arrays to remove along the specified axis.
axis (int) – The axis along which to delete the subarray defined by obj.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A
DenseMatrix
with deleted elements. Note that concat does not occur in-place: a newDenseMatrix
is allocated and filled.- Return type:
- classmethod from_hdf5(filename, groupname=None)#
Read DenseMatrix from an HDF5 file.
- Parameters:
filename (str, Path, h5py.File) – If
str
orPath
, an HDF5 file name from which to read. File is closed after reading. Ifh5py.File
, an opened HDF5 file from which to read. File is not closed after reading.groupname (str, None) – If
str
, an HDF5 group name under which DenseMatrix data is stored. If None, DenseMatrix is read from base HDF5 group.
- Returns:
out – A dense matrix read from file.
- Return type:
- insert(obj, values, axis, **kwargs)#
Insert values along the given axis before the given indices.
- Parameters:
obj (int, slice, or Sequence of ints) – Object that defines the index or indices before which values is inserted.
values (Matrix, numpy.ndarray) – Values to insert into the matrix.
axis (int) – The axis along which values are inserted.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A Matrix with values inserted. Note that insert does not occur in-place: a new Matrix is allocated and filled.
- Return type:
- is_square()[source]#
Determine whether the axis lengths for the square axes are identical.
- Returns:
out –
True
if all square axes are the same length.False
if not all square axes are the same length.- Return type:
bool
- property mat: ndarray#
Pointer to raw numpy.ndarray object.
- property mat_ndim: int#
Number of dimensions of the raw numpy.ndarray.
- property mat_shape: tuple#
Shape of the raw numpy.ndarray.
- property nsquare: int#
Number of axes that are square.
- select(indices, axis, **kwargs)#
Select certain values from the matrix.
- Parameters:
indices (ArrayLike (Nj, ...)) – The indices of the values to select.
axis (int) – The axis along which values are selected.
kwargs (dict) – Additional keyword arguments.
- Returns:
out – A
DenseMatrix
with values selected. Note that select does not occur in-place: a newDenseMatrix
is allocated and filled.- Return type:
- property square_axes: tuple#
Axis indices for axes that are square.
- property square_axes_len: tuple#
Axis lengths for axes that are square.
- to_hdf5(filename, groupname=None, overwrite=True)#
Write GenotypeMatrix to an HDF5 file.
- Parameters:
filename (str, Path, h5py.File) – If
str
, an HDF5 file name to which to write. File is closed after writing. Ifh5py.File
, an opened HDF5 file to which to write. File is not closed after writing.groupname (str, None) – If
str
, an HDF5 group name under which theDenseMatrix
data is stored. IfNone
, theDenseMatrix
is written to the base HDF5 group.overwrite (bool) – Whether to overwrite values in an HDF5 file if a field already exists.
- Return type:
None