6
6
# Please read expressions.jl first.
7
7
# ############################################################################
8
8
import LinearAlgebra: opnorm
9
- export operatornorm, sigmamax
9
+ export sigmamax
10
10
11
11
# ## Operator norm
12
12
@@ -18,7 +18,7 @@ struct OperatorNormAtom <: AbstractExpr
18
18
19
19
function OperatorNormAtom (x:: AbstractExpr )
20
20
children = (x,)
21
- return new (:operatornorm , hash (children), children, (1 ,1 ))
21
+ return new (:opnorm , hash (children), children, (1 ,1 ))
22
22
end
23
23
end
24
24
@@ -40,7 +40,6 @@ function evaluate(x::OperatorNormAtom)
40
40
opnorm (evaluate (x. children[1 ]), 2 )
41
41
end
42
42
43
- operatornorm (x:: AbstractExpr ) = OperatorNormAtom (x)
44
43
sigmamax (x:: AbstractExpr ) = OperatorNormAtom (x)
45
44
46
45
function opnorm (x:: AbstractExpr , p:: Real = 2 )
@@ -50,14 +49,16 @@ function opnorm(x::AbstractExpr, p::Real=2)
50
49
if p == 1
51
50
return maximum (sum (abs (x), dims= 1 ))
52
51
elseif p == 2
53
- return operatornorm (x)
52
+ return OperatorNormAtom (x)
54
53
elseif p == Inf
55
54
return maximum (sum (abs (x), dims= 2 ))
56
55
else
57
56
throw (ArgumentError (" matrix p-norms only defined for p = 1, 2, and Inf" ))
58
57
end
59
58
end
60
59
60
+ Base. @deprecate operatornorm (x:: AbstractExpr ) opnorm (x)
61
+
61
62
# Create the equivalent conic problem:
62
63
# minimize t
63
64
# subject to
0 commit comments