Table of contents
As an example, let us assume that is -cocoercive and is -averaged (). Then, the scaled relative graph (SRG) of will be
and the SRG of will be
For this example, let us assume, .
Let us first draw the individual SRGs for and .
SRG of . First, we draw the SRG of by typing the following code. We denote the real and imaginary variables corresponding to by , respectively.
\[Beta] = 1/2;
(*Inequality that defines the SRG of A*)
gAineq = ComplexExpand[Re[z] - \[Beta]*Abs[z]^2 /. z -> x + I*y]
(*Plot the SRG of A*)
srgA = RegionPlot[gAineq >= 0, {x, -2, 2}, {y, -2, 2}]
We see that
SRG of . First, we draw the SRG of by typing the following code. We denote the real and imaginary variables corresponding to by , respectively.
\[Theta] = 1/2;
(*Inequality that defines the SRG of B*)
gBineq = ComplexExpand[
2 (1 - \[Theta]) Re[w] - Abs[w]^2 - (1 - 2 \[Theta]) /. w -> s + I t]
(*Plot the SRG of B*)
srgB = RegionPlot[gBineq >= 0, {s, -2, 2}, {t, -2, 2}]
Similarly,
We now write down the quantifier definition of .
By definition:
We can break down the equivalence above more by writing it down explicitly into real and imaginary parts.
(*Find out what zw is*)
zw = ComplexExpand[(x + I y) (s + I t), Reals]
(*Find the imaginary component of zw*)
v = Plus @@ (Cases[zw, _Complex _]/I)
(*Find the real component of zw*) u = Expand[zw - I v]
<img src="https://raw.githubusercontent.com/Shuvomoy/blog/gh-pages/_assets/image-20201118084143443.png" alt="image-20201118084143443" style="zoom:67%;" />
So, in terms of quantifier notation, the set description of will be the following:
In , we have in a parametric form where we do not have explicitly, but it is expressed in terms of . To figure out the explicit description of , we use quantifier elimination technique in Mathematica
. First step is to observe that:
We next write down this quantifier definition in Mathematica
. (The rest of the code is self-contained, by only changing the defining inequalities for we can find for any .)
(* Clear the memory *)
ClearAll["Global`*"];
(* Set value of \[Beta] and \[Theta] *)
\[Beta] = 1/2; \[Theta] = 1/2;
(* Define gAineq[x,y], which defines the SRG of operator A via gAineq[x,y] >= 0 *)
gAineq[x_, y_] :=
ComplexExpand[Re[z] - \[Beta]*Abs[z]^2 /. z -> x + I*y];
(* Define gBineq[s,t], which defines the SRG of operator B via gBineq[s,t] >= 0 *)
gBineq[s_, t_] :=
ComplexExpand[
2 (1 - \[Theta]) Re[w] - Abs[w]^2 - (1 - 2 \[Theta]) /.
w -> s + I t];
(* Define the quantifier definition for G(AB) *)
quantgAB =
Exists[{x, y, s, t},
u == x s - y t && v == x t + y s && gAineq[x, y] >= 0 &&
gBineq[s, t] >= 0]
which gives the output:
<img src="https://raw.githubusercontent.com/Shuvomoy/blog/gh-pages/_assets/image-20201118084216189.png" alt="image-20201118084216189" style="zoom: 50%;" />
Next, we can find the explicit form of in by using the Resolve
command.
(* This will find the explicit form of SRG of AB *)
gAB = Resolve[quantgAB, Reals]
which produces the output:
Finally, we can plot as follows.
Region[ImplicitRegion[gAB, {u, v}]]
The output is: