-
Notifications
You must be signed in to change notification settings - Fork 119
/
paper_examples.jl
57 lines (51 loc) · 1.03 KB
/
paper_examples.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# # Paper examples
using Convex, ECOS
# Summation.
println("Summation example")
x = Variable();
e = 0;
@time begin
for i = 1:1000
global e
e += x;
end
p = minimize(e, x>=1);
end
@time solve!(p, () -> ECOS.Optimizer(verbose=0))
# Indexing.
println("Indexing example")
x = Variable(1000, 1);
e = 0;
@time begin
for i = 1:1000
global e
e += x[i];
end
p = minimize(e, x >= ones(1000, 1));
end
@time solve!(p, () -> ECOS.Optimizer(verbose=0))
# Matrix constraints.
println("Matrix constraint example")
n, m, p = 100, 100, 100
X = Variable(m, n);
A = randn(p, m);
b = randn(p, n);
@time begin
p = minimize(norm(vec(X)), A * X == b);
end
@time solve!(p, () -> ECOS.Optimizer(verbose=0))
# Transpose.
println("Transpose example")
X = Variable(5, 5);
A = randn(5, 5);
@time begin
p = minimize(norm2(X - A), X' == X);
end
@time solve!(p, () -> ECOS.Optimizer(verbose=0))
n = 3
A = randn(n, n);
#@time begin
X = Variable(n, n);
p = minimize(norm(vec(X' - A)), X[1,1] == 1);
solve!(p, () -> ECOS.Optimizer(verbose=0))
#end