HashimotoOperator#

class graph_tool.spectral.HashimotoOperator(*args, **kwargs)[source]#

Bases: LinearOperator

A scipy.sparse.linalg.LinearOperator representing the hashimoto matrix of a graph. See hashimoto() for details.

Methods

adjoint()

Hermitian adjoint.

dot(x)

Matrix-matrix or matrix-vector multiplication.

matmat(X)

Matrix-matrix multiplication.

matvec(x)

Matrix-vector multiplication.

rmatmat(X)

Adjoint matrix-matrix multiplication.

rmatvec(x)

Adjoint matrix-vector multiplication.

transpose()

Transpose this linear operator.

Attributes

H

Hermitian adjoint.

T

Transpose this linear operator.

ndim

adjoint()#

Hermitian adjoint.

Returns the Hermitian adjoint of self, aka the Hermitian conjugate or Hermitian transpose. For a complex matrix, the Hermitian adjoint is equal to the conjugate transpose.

Can be abbreviated self.H instead of self.adjoint().

Returns:
A_HLinearOperator

Hermitian adjoint of self.

dot(x)#

Matrix-matrix or matrix-vector multiplication.

Parameters:
xarray_like

1-d or 2-d array, representing a vector or matrix.

Returns:
Axarray

1-d or 2-d array (depending on the shape of x) that represents the result of applying this linear operator on x.

matmat(X)#

Matrix-matrix multiplication.

Performs the operation y=A*X where A is an MxN linear operator and X dense N*K matrix or ndarray.

Parameters:
X{matrix, ndarray}

An array with shape (N,K).

Returns:
Y{matrix, ndarray}

A matrix or ndarray with shape (M,K) depending on the type of the X argument.

Notes

This matmat wraps any user-specified matmat routine or overridden _matmat method to ensure that y has the correct type.

matvec(x)#

Matrix-vector multiplication.

Performs the operation y=A*x where A is an MxN linear operator and x is a column vector or 1-d array.

Parameters:
x{matrix, ndarray}

An array with shape (N,) or (N,1).

Returns:
y{matrix, ndarray}

A matrix or ndarray with shape (M,) or (M,1) depending on the type and shape of the x argument.

Notes

This matvec wraps the user-specified matvec routine or overridden _matvec method to ensure that y has the correct shape and type.

rmatmat(X)#

Adjoint matrix-matrix multiplication.

Performs the operation y = A^H * x where A is an MxN linear operator and x is a column vector or 1-d array, or 2-d array. The default implementation defers to the adjoint.

Parameters:
X{matrix, ndarray}

A matrix or 2D array.

Returns:
Y{matrix, ndarray}

A matrix or 2D array depending on the type of the input.

Notes

This rmatmat wraps the user-specified rmatmat routine.

rmatvec(x)#

Adjoint matrix-vector multiplication.

Performs the operation y = A^H * x where A is an MxN linear operator and x is a column vector or 1-d array.

Parameters:
x{matrix, ndarray}

An array with shape (M,) or (M,1).

Returns:
y{matrix, ndarray}

A matrix or ndarray with shape (N,) or (N,1) depending on the type and shape of the x argument.

Notes

This rmatvec wraps the user-specified rmatvec routine or overridden _rmatvec method to ensure that y has the correct shape and type.

transpose()#

Transpose this linear operator.

Returns a LinearOperator that represents the transpose of this one. Can be abbreviated self.T instead of self.transpose().

H#

Hermitian adjoint.

Returns the Hermitian adjoint of self, aka the Hermitian conjugate or Hermitian transpose. For a complex matrix, the Hermitian adjoint is equal to the conjugate transpose.

Can be abbreviated self.H instead of self.adjoint().

Returns:
A_HLinearOperator

Hermitian adjoint of self.

T#

Transpose this linear operator.

Returns a LinearOperator that represents the transpose of this one. Can be abbreviated self.T instead of self.transpose().

ndim = 2#