def__init__(self,matrix_size:int,block_size:int)->None:ifblock_size>matrix_sizeormatrix_size%block_size!=0:raiseValueError('The matrix size must be greater than or equal to the block ''size and the block size must evenly divide the matrix size. 'f'Got matrix_size={matrix_size} and block_size={block_size}.',)self.matrix_size=matrix_sizeself.block_size=block_size
defcreate_psd_matrix(n:int)->Array:"""Create a positive semi-definite matrix. Args: n: Create an `n` x `n` square matrix. Returns: Random matrix that is positive semi-definite. """psd=numpy.random.randn(n,n)psd=numpy.dot(psd,psd.T)psd+=n*numpy.eye(n)returnpsd