2

I want to solve the inequality

$m<700000log((m-1)a)+3 $

Where $a$ is a positive integer i know the command when there is no parameter in the inequality but I don't know for the case of parameter .(a is the parameter )

I want the command for the above inequality.

Abdo
  • 23
  • 4

2 Answers2

2
Reduce[{m < 700000 Log[(m - 1) a] + 3, Element[a, PositiveIntegers]}, m]

(* Reduce::nsmet: This system cannot be solved with the methods available to Reduce.

Reduce[{m < 3 + 700000 Log[a (-1 + m)], a ∈ Integers && a > 0}, m] *)

To find an approximate solution

data = Table[{a, 
   m /. FindRoot[700000 Log[(m - 1) a] + 3 - m == 0, {m, 1 + 1/a}]}, {a, 20}]

(* {{1, 2.}, {2, 1.5}, {3, 1.33333}, {4, 1.25}, {5, 1.2}, {6, 1.16667}, {7, 1.14286}, {8, 1.125}, {9, 1.11111}, {10, 1.1}, {11, 1.09091}, {12, 1.08333}, {13, 1.07692}, {14, 1.07143}, {15, 1.06667}, {16, 1.0625}, {17, 1.05882}, {18, 1.05556}, {19, 1.05263}, {20, 1.05}} *)

(nlm = NonlinearModelFit[data, 1 + 1/a + ϵ, {ϵ}, a]) // Normal

(* 1. + 1/a *)

nlm["BestFitParameters"]

(* {ϵ -> -3.9995110^-7} )

The approximate solution is m > 1 + 1/a

Plot[Evaluate@
  Table[700000 Log[(m - 1) a] + 3 - m, {a, 5, 1, -1}],
 {m, 1, 5}, PlotLegends -> Range[5, 1, -1]]

enter image description here

Bob Hanlon
  • 157,611
  • 7
  • 77
  • 198
1

Using a variation of @BobHanlon's substitution, we can find an analytic result for the interval. The bounds of the interval are computed from the following equation:

eq = m == 700000Log[(m-1)a] + 3

m == 3 + 700000 Log[a (-1 + m)]

Substituting:

eq2 = eq /. m -> 1 + x/a

1 + x/a == 3 + 700000 Log[x]

It turns out that Solve can handle this equation:

xsol = x /. First @ Solve[eq2, x, InverseFunctions->True]

-700000 a ProductLog[-(1/(700000 a E^(1/350000)))]

and so m is given by:

msol = 1 + xsol/a

1 - 700000 ProductLog[-(1/(700000 a E^(1/350000)))]

Now, ProductLog is multivalued, and the different branches are determined by using the two-arg version. So, the actual solutions are:

min = msol /. ProductLog[z_] -> ProductLog[0, z];
max = msol /. ProductLog[z_] -> ProductLog[-1, z];

and so the inequality is:

ineq = min < m < max

1 - 700000 ProductLog[-(1/(700000 a E^(1/350000)))] < m < 1 - 700000 ProductLog[-1, -(1/(700000 a E^(1/350000)))]

Let's check for a=10.:

Block[{a = 10.}, ineq]

1.1 < m < 1.30826*10^7

Let's compare with solving the original inequality with a=10.:

Block[{a = 10.},
    Reduce[m < 3 + 700000 Log[(m-1)a] + 3, m, Reals]
]

Reduce::ratnz: Reduce was unable to solve the system with inexact coefficients. The answer was obtained by solving a corresponding exact system and numericizing the result.

1.1 < m < 1.30826*10^7

Carl Woll
  • 130,679
  • 6
  • 243
  • 355
  • I can't understand your answer can you make your answer for the case when $0<a<50$ – Abdo Sep 08 '20 at 20:14
  • 1
    @Abdo The inequality is given by the value of ineq. It is true for any positive value of a. I don't know what more you could want. – Carl Woll Sep 08 '20 at 20:17