2017-02-27 3 views
1

Ich benutze Julia konvexe Paket, um eine elastische Nettozielfunktion mit Trace-Einschränkungen zu lösen. Ich erhalte die folgenden FehlerJulia Fehler mit konvexen Paket

ERROR: LoadError: syntax: "*(P',P)" is not a valid function argument name

using Convex 

srand(1234) 
dim = 5 

X = rand(dim,dim) 
Y = rand(dim,dim) 

P = Variable(dim,dim) 

S = minimize(vecnorm(X*P-Y) + 0.1*norm(P,1) + 0.1*vecnorm(P)) 
S.constraints += [trace(P' * P) = dim; trace(P) < dim] 
solve!(S) 
println(round(S.optval,2)) 
println(round(P.value,2)) 

ich die Dokumentation überprüft, und es sagt, ich P * P‘für die Matrixmultiplikation mit transponieren können.

Antwort

5

Ich weiß nichts über Convex wirklich, aber sie bedeuten nicht

S.constraints += [trace(P' * P) == dim; trace(P) < dim] 

(bemerken Doppel =)?