Я хочу создать случайные тестовые экземпляры для некоторого фрагмента кода, который использует разреженные положительные полуопределенные матрицы.
В Matlab есть функция sprandsym (n, плотность, rc), которая создает случайные разреженные симметричныематрицы с собственными значениями rc, поэтому неотрицательный вектор rc приводит к PSD-матрице.
Есть ли способ воссоздать эту функцию в python?
Я нашел различные решения для создания случайной разреженной матрицыили случайная матрица PSD.Я также нашел решение для комбинации обоих путем создания случайной разреженной матрицы и, если это не PSD, добавления единичной матрицы до тех пор, пока она не станет PSD (а именно абсолютное значение наименьшего времени собственных значений).Но это решение создает диагонально доминирующие матрицы, которых, к сожалению, недостаточно для моих необходимых тестовых экземпляров.