0
$\begingroup$

I call a "pseudo-linear", homogeneous system with m equations positively representable, if it has m terms that are sums with positive coefficients of the others. A class with precisely one "different" sign in each equation is trivially positively representable. The example below is not trivially positively representable

Thread[{\[Lambda] + r \[Gamma]1 - s \[Mu] - \[Beta][s, i] - s \[Gamma]s, -\[Gamma][i, r] - i \[Mu]i + \[Beta][s, i] + \[Beta]1[s, i], \[Gamma][i, r] - \[Beta]1[s, i] - r \[Gamma]1 - r \[Mu] + s \[Gamma]s}==0] 

even after setting \[Gamma]s=0 . However, in this case, it can be transformed to a trivial example, by replacing the first equation with the sum of all equations, and the second by the sum of the second and third.

Now the system has the property mentioned in the title, when \[Gamma]s=0:

(*Define the eight column matrix S and vector of fluxes*) S = {{1, -1, 0, 0, 1, -1, 0, 0}, {0, 1, 1, -1, 0, 0, -1, 0}, {0, 0, -1, 1, -1, 0, 0, -1}}; rv = {\[Lambda], \[Beta][s, i], \[Beta]1[s, i], \[Gamma][i, r], r \[Gamma]1, s \[Mu], i \[Mu]i, r \[Mu]}; RHS = S . rv; Print["RHS = ", RHS // MatrixForm, " has matrix S= ", S // MatrixForm, " and variables", Variables[RHS]] soR = Solve[ Thread[RHS == 0], {\[Lambda], \[Beta][s, i], \[Gamma][i, r]}] // Flatten // FullSimplify; soR // MatrixForm 

After adding back the parameter \[Gamma]s, the previous solution loses the positive representability property:

(*Define the extended matrix S and vector of fluxes*) S = {{1, -1, 0, 0, 1, -1, -1, 0, 0}, {0, 1, 1, -1, 0, 0, 0, -1, 0}, {0, 0, -1, 1, -1, 1, 0, 0, -1}}; rv = {\[Lambda], \[Beta][s, i], \[Beta]1[s, i], \[Gamma][i, r], r \[Gamma]1, s \[Gamma]s, s \[Mu], i \[Mu]i, r \[Mu]}; RHS = S . rv; Print["RHS = ", RHS // MatrixForm, " has matrix S= ", S // MatrixForm, " and variables", Variables[RHS]] soR = Solve[ Thread[RHS == 0], {\[Lambda], \[Beta][s, i], \[Gamma][i, r]}] // Flatten // FullSimplify; soR // MatrixForm 

I would like now to loop over all the possible choices of three variables to check the existence of one with positivity representation property, when [Gamma]s>0.

This should start with something like

(Solve[Thread[RHS == 0], #] &) @@ Subsets[rv, {3}] 

but the right syntax eludes me for now.

Besides the question of how to program this check, there is also a theoretical question: whether this property has an official name, and whether it can be formulated as some convexity problem.

$\endgroup$
4
  • 2
    $\begingroup$ Your rv does not consists solely of variables. Some elements are products of variables. Do you want the products treated as if they were single variables or rather split into the separate variables? $\endgroup$ Commented Jul 11, 2024 at 19:59
  • 1
    $\begingroup$ Are you talking about general facts on homogeneous linear equations? Then there is a simple counter-example. Consider the case of n=2 and m=1. The solution corresponds to a straight line passing through the origin. If your "property" is true, then the slope of the line cannot be negative. $\endgroup$ Commented Jul 12, 2024 at 4:04
  • $\begingroup$ @Bob Hanlon , I treat each monomials like a single, new variable $\endgroup$ Commented Jul 12, 2024 at 6:36
  • $\begingroup$ @A. Kato indeed, this is a nice clarifying example. For n=2, m =1, the positively representable systems are precisely those with one positive and one negative coefficient. For m >1, the class with precisely one "different" sign in each equation is positively representable, but there are other cases, like the example in the question. $\endgroup$ Commented Jul 12, 2024 at 6:46

0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.