@@ -34,16 +34,25 @@ used for getting the [`MOI.ConstraintSet`](@ref).
3434function inverse_map_set end
3535
3636"""
37+ map_function(bridge::MOI.Bridges.AbstractBridge, func)
3738 map_function(::Type{BT}, func) where {BT}
3839
3940Return the image of `func` through the linear map `A` defined in
40- [`Variable.SetMapBridge`](@ref) and [`Constraint.SetMapBridge`](@ref). This is
41- used for getting the [`MOI.ConstraintPrimal`](@ref) of variable
41+ [`Variable.SetMapBridge`](@ref) and [`Constraint.SetMapBridge`](@ref).
42+
43+ This function is used for getting the [`MOI.ConstraintPrimal`](@ref) of variable
4244bridges. For constraint bridges, this is used for bridging the constraint,
43- setting the [`MOI.ConstraintFunction`](@ref) and
44- [`MOI.ConstraintPrimalStart`](@ref) and
45- modifying the function with [`MOI.modify`](@ref).
45+ setting the [`MOI.ConstraintFunction`](@ref) and [`MOI.ConstraintPrimalStart`](@ref)
46+ and modifying the function with [`MOI.modify`](@ref).
47+
48+ The method can alternatively be defined on the bridge type. This legacy
49+ interface is kept for backward compatibility.
50+ """
51+ function map_function (bridge:: AbstractBridge , func)
52+ return map_function (typeof (bridge), func)
53+ end
4654
55+ """
4756 map_function(::Type{BT}, func, i::IndexInVector) where {BT}
4857
4958Return the scalar function at the `i`th index of the vector function that
@@ -52,77 +61,65 @@ would be returned by `map_function(BT, func)` except that it may compute the
5261the [`MOI.VariablePrimal`](@ref) and
5362[`MOI.VariablePrimalStart`](@ref) of variable bridges.
5463"""
55- function map_function end
56-
57- function map_function (bridge:: AbstractBridge , func)
58- return map_function (typeof (bridge), func)
59- end
60-
6164function map_function (:: Type{BT} , func, i:: IndexInVector ) where {BT}
6265 return MOI. Utilities. eachscalar (map_function (BT, func))[i. value]
6366end
6467
6568"""
6669 inverse_map_function(bridge::MOI.Bridges.AbstractBridge, func)
70+ inverse_map_function(::Type{BT}, func) where {BT}
6771
6872Return the image of `func` through the inverse of the linear map `A` defined in
69- [`Variable.SetMapBridge`](@ref) and [`Constraint.SetMapBridge`](@ref). This is
70- used by [`Variable.unbridged_map`](@ref) and for setting the
71- [`MOI.VariablePrimalStart `](@ref) of variable bridges
72- and for getting the [`MOI.ConstraintFunction `](@ref),
73- the [`MOI.ConstraintPrimal`](@ref) and the
73+ [`Variable.SetMapBridge`](@ref) and [`Constraint.SetMapBridge`](@ref).
74+
75+ This function is used by [`Variable.unbridged_map `](@ref) and for setting the
76+ [`MOI.VariablePrimalStart `](@ref) of variable bridges and for getting the
77+ [`MOI.ConstraintFunction`](@ref), the [`MOI.ConstraintPrimal`](@ref) and the
7478[`MOI.ConstraintPrimalStart`](@ref) of constraint bridges.
79+
7580If the linear map `A` is not invertible, the error [`MapNotInvertible`](@ref) is
7681thrown.
7782
78- inverse_map_function(::Type{BT}, func) where {BT}
79-
8083The method can alternatively be defined on the bridge type. This legacy
8184interface is kept for backward compatibility.
8285"""
83- function inverse_map_function end
84-
8586function inverse_map_function (bridge:: AbstractBridge , func)
8687 return inverse_map_function (typeof (bridge), func)
8788end
8889
8990"""
9091 adjoint_map_function(bridge::MOI.Bridges.AbstractBridge, func)
92+ adjoint_map_function(::Type{BT}, func) where {BT}
9193
9294Return the image of `func` through the adjoint of the linear map `A` defined in
93- [`Variable.SetMapBridge`](@ref) and [`Constraint.SetMapBridge`](@ref). This is
94- used for getting the [`MOI.ConstraintDual`](@ref) and
95- [`MOI.ConstraintDualStart`](@ref) of constraint bridges.
95+ [`Variable.SetMapBridge`](@ref) and [`Constraint.SetMapBridge`](@ref).
9696
97- adjoint_map_function(::Type{BT}, func) where {BT}
97+ This function is used for getting the [`MOI.ConstraintDual`](@ref) and
98+ [`MOI.ConstraintDualStart`](@ref) of constraint bridges.
9899
99100The method can alternatively be defined on the bridge type. This legacy
100101interface is kept for backward compatibility.
101102"""
102- function adjoint_map_function end
103-
104103function adjoint_map_function (bridge:: AbstractBridge , func)
105104 return adjoint_map_function (typeof (bridge), func)
106105end
107106
108107"""
109108 inverse_adjoint_map_function(bridge::MOI.Bridges.AbstractBridge, func)
109+ inverse_adjoint_map_function(::Type{BT}, func) where {BT}
110110
111111Return the image of `func` through the inverse of the adjoint of the linear map
112- `A` defined in [`Variable.SetMapBridge`](@ref) and
113- [`Constraint.SetMapBridge`](@ref). This is used for getting the
114- [`MOI.ConstraintDual`](@ref) of variable bridges and setting the
115- [`MOI.ConstraintDualStart`](@ref) of constraint bridges.
112+ `A` defined in [`Variable.SetMapBridge`](@ref) and [`Constraint.SetMapBridge`](@ref).
113+
114+ This function is used for getting the [`MOI.ConstraintDual`](@ref) of variable
115+ bridges and setting the [`MOI.ConstraintDualStart`](@ref) of constraint bridges.
116+
116117If the linear map `A` is not invertible, the error [`MapNotInvertible`](@ref) is
117118thrown.
118119
119- inverse_adjoint_map_function(::Type{BT}, func) where {BT}
120-
121120The method can alternatively be defined on the bridge type. This legacy
122121interface is kept for backward compatibility.
123122"""
124- function inverse_adjoint_map_function end
125-
126123function inverse_adjoint_map_function (bridge:: AbstractBridge , func)
127124 return inverse_adjoint_map_function (typeof (bridge), func)
128125end
0 commit comments