I am trying to implement the following convex-optimization problem in cvxpy
:
A = a given matrix of dimension dim x dim
B = a given matrix of dimension dim x dim
X = cp.variable((dim, dim))
distance = cp.norm(exp(X)-A, 'fro')
delta= some positive real value
obj = cp.Minimize(cp.norm(X-B,'fro'))
constraint = distance < delta
prob = cp.Problem(obj, constraint)
prob.solve(solver=cp.SCS)
This clearly requires the implementation of the matrix exponential function exp(X) =sum_n (1/n!) X^n
(thus not element-wise!) for a cvxpy
matrix variable, but I did not find such a function in the documentation.
Has this been implemented, or alternatively is there a way to easily do so?