Псевдообратный в CVXPY?

Я пытаюсь свести к минимуму следующую цель с помощью CVXPY. Вот как я бы написал цель, используя numpy:

objective = np.trace(np.pinv(A))

где A = cvxpy.Variable((n,n)), Обратите внимание, что я хочу псевдообратный. Скажем, в простом случае, когда A диагональ с положительными собственными значениями, tr(pinv(A)) > tr(pinv(A[:k, :k])) для всех k < n,

Я пытался с помощью cvx.MatrixFrac(np.eye(n), A), но это сдерживает A быть обратимым, что мне не нужно, и, следовательно, получить слишком высокое значение.

0 ответов

Другие вопросы по тегам