Utilities¶
- pyroomacoustics.adaptive.util.autocorr(x)¶
Fast autocorrelation computation using the FFT
- pyroomacoustics.adaptive.util.hankel_multiplication(c, r, A, mkl=True, **kwargs)¶
Compute numpy.dot(scipy.linalg.hankel(c,r=r), A) using the FFT.
- Parameters:
c (ndarray) – the first column of the Hankel matrix
r (ndarray) – the last row of the Hankel matrix
A (ndarray) – the matrix to multiply on the right
mkl (bool, optional) – if True, use the mkl_fft package if available
- pyroomacoustics.adaptive.util.hankel_stride_trick(x, shape)¶
Make a Hankel matrix from a vector using stride tricks
- Parameters:
x (ndarray) – a vector that contains the concatenation of the first column and first row of the Hankel matrix to build without repetition of the lower left corner value of the matrix
shape (tuple) – the shape of the Hankel matrix to build, it must satisfy
x.shape[0] == shape[0] + shape[1] - 1
- pyroomacoustics.adaptive.util.mkl_toeplitz_multiplication(c, r, A, A_padded=False, out=None, fft_len=None)¶
Compute numpy.dot(scipy.linalg.toeplitz(c,r), A) using the FFT from the mkl_fft package.
- Parameters:
c (ndarray) – the first column of the Toeplitz matrix
r (ndarray) – the first row of the Toeplitz matrix
A (ndarray) – the matrix to multiply on the right
A_padded (bool, optional) – the A matrix can be pre-padded with zeros by the user, if this is the case set to True
out (ndarray, optional) – an ndarray to store the output of the multiplication
fft_len (int, optional) – specify the length of the FFT to use
- pyroomacoustics.adaptive.util.naive_toeplitz_multiplication(c, r, A)¶
Compute numpy.dot(scipy.linalg.toeplitz(c,r), A)
- Parameters:
c (ndarray) – the first column of the Toeplitz matrix
r (ndarray) – the first row of the Toeplitz matrix
A (ndarray) – the matrix to multiply on the right
- pyroomacoustics.adaptive.util.toeplitz_multiplication(c, r, A, **kwargs)¶
Compute numpy.dot(scipy.linalg.toeplitz(c,r), A) using the FFT.
- Parameters:
c (ndarray) – the first column of the Toeplitz matrix
r (ndarray) – the first row of the Toeplitz matrix
A (ndarray) – the matrix to multiply on the right
- pyroomacoustics.adaptive.util.toeplitz_opt_circ_approx(r, matrix=False)¶
Optimal circulant approximation of a symmetric Toeplitz matrix by Tony F. Chan
- Parameters:
r (ndarray) – the first row of the symmetric Toeplitz matrix
matrix (bool, optional) – if True, the full symetric Toeplitz matrix is returned, otherwise, only the first column
- pyroomacoustics.adaptive.util.toeplitz_strang_circ_approx(r, matrix=False)¶
Circulant approximation to a symetric Toeplitz matrix by Gil Strang
- Parameters:
r (ndarray) – the first row of the symmetric Toeplitz matrix
matrix (bool, optional) – if True, the full symetric Toeplitz matrix is returned, otherwise, only the first column