Any help would be appreciated with this problem:

```
using NLopt
using JuMP
m=Model(solver=NLoptSolver(algorithm=:DIRECT))
R_=diagm([R0,R1])
R=flipdim(R_,2)
Q=diagm([Q0,Q1])
T=kron(Q,Diagonal(ones(2)))+kron(Diagonal(ones(2)),conj(Q))+kron(R,conj(R))
@variable(m,R0)
@variable(m,R1)
@variable(m,Q0)
@variable(m,Q1)
W=e^(T)
@NLobjective(m,Min,W)
status=solve(m)
```

Error:

```
MethodError: no method matching ^(::Irrational{:e}, ::Array{JuMP.GenericQuadExpr{Float64,JuMP.Variable},2})
Closest candidates are:
^(::Irrational{:e}, ::Irrational) at irrationals.jl:219
^(::Irrational{:e}, ::Rational) at irrationals.jl:219
^(::Irrational{:e}, ::Integer) at irrationals.jl:219
```

I have omitted some details and shortened functions for privacy but I could include more if necessary.

Does it help to use `exp(T) `

?

Unfortunately it doesn’t, it seems julia doesn’t want to take the exponential of my JuMP array, is that a usual problem? I will try to fix other parts of my code and come back to this. Thank you.

Your code seems to be out of order (the `@variable`

statements should come before `R`

, `Q`

and `T`

).

What are you trying to do? `T`

is a 4x4 matrix. Its exponential (be it elementwise or a matrix exponential) is a 4x4 matrix, so how can that be the objective of an optimization?

1 Like

Sorry, I just didn’t include the full expression of the objective to try to minimize the code. I have fixed the order of the `@variable`

statements. I have another thread where I have posted my updated code with a new problem help-creating-a-jump-variable-array So I won’t repost it here to reduce redundancy, however I can eventually post my full minimization expression if my problems aren’t worked out my other post. Thank you for your help!