mathai 0.2.5__py3-none-any.whl → 0.2.8__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mathai/base.py +2 -1
- mathai/univariate_inequality.py +36 -37
- {mathai-0.2.5.dist-info → mathai-0.2.8.dist-info}/METADATA +1 -1
- {mathai-0.2.5.dist-info → mathai-0.2.8.dist-info}/RECORD +6 -6
- {mathai-0.2.5.dist-info → mathai-0.2.8.dist-info}/WHEEL +0 -0
- {mathai-0.2.5.dist-info → mathai-0.2.8.dist-info}/top_level.txt +0 -0
mathai/base.py
CHANGED
@@ -164,7 +164,7 @@ def factor_generation(eq):
|
|
164
164
|
if child.children[1].name[:2] != "d_":
|
165
165
|
output.append(child)
|
166
166
|
continue
|
167
|
-
if child.children[1].
|
167
|
+
if frac(child.children[1]) is not None and frac(child.children[1]).denominator == 1:
|
168
168
|
n = int(child.children[1].name[2:])
|
169
169
|
if n < 0:
|
170
170
|
for i in range(-n):
|
@@ -176,6 +176,7 @@ def factor_generation(eq):
|
|
176
176
|
output.append(child)
|
177
177
|
else:
|
178
178
|
output.append(child)
|
179
|
+
|
179
180
|
return output
|
180
181
|
import math
|
181
182
|
|
mathai/univariate_inequality.py
CHANGED
@@ -212,7 +212,6 @@ def helper(eq, var="v_0"):
|
|
212
212
|
|
213
213
|
eq.children[0] = factor2(eq.children[0])
|
214
214
|
|
215
|
-
|
216
215
|
for item in factor_generation(eq.children[0]):
|
217
216
|
item = simplify(expand(item))
|
218
217
|
|
@@ -221,48 +220,45 @@ def helper(eq, var="v_0"):
|
|
221
220
|
sign = not sign
|
222
221
|
continue
|
223
222
|
v = vlist(item)[0]
|
224
|
-
|
223
|
+
|
225
224
|
if item.name == "f_pow" and item.children[1].name== "d_-1":
|
226
225
|
|
227
226
|
item = item.children[0]
|
228
|
-
|
229
|
-
tmp2 = diff(copy.deepcopy(item))
|
230
|
-
if "v_" in str_form(tmp2):
|
231
|
-
return None
|
232
|
-
|
233
227
|
|
234
228
|
if diff(diff(item, v), v) != tree_form("d_0"):
|
235
229
|
|
236
230
|
a = replace(diff(diff(item, v), v), tree_form(v), tree_form("d_0"))/tree_form("d_2")
|
231
|
+
if "v_" in str_form(a):
|
232
|
+
return None
|
237
233
|
if compute(a) < 0:
|
238
234
|
sign = not sign
|
239
235
|
continue
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
236
|
+
else:
|
237
|
+
tmp2 = diff(copy.deepcopy(item))
|
238
|
+
if compute(tmp2)<0:
|
239
|
+
sign = not sign
|
240
|
+
item = simplify(item * tree_form("d_-1"))
|
241
|
+
out = inverse(item, vlist(item)[0])
|
242
|
+
critical.append(out)
|
247
243
|
else:
|
248
|
-
|
249
|
-
if "v_" in str_form(tmp2):
|
250
|
-
return None
|
244
|
+
|
251
245
|
|
252
246
|
if diff(diff(item, v), v) != tree_form("d_0"):
|
253
247
|
a = replace(diff(diff(item, v), v), tree_form(v), tree_form("d_0"))/tree_form("d_2")
|
248
|
+
if "v_" in str_form(a):
|
249
|
+
return None
|
254
250
|
if compute(a) < 0:
|
255
251
|
sign = not sign
|
256
252
|
continue
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
253
|
+
else:
|
254
|
+
tmp2 = diff(copy.deepcopy(item))
|
255
|
+
if compute(tmp2)<0:
|
256
|
+
sign = not sign
|
257
|
+
item = simplify(item * tree_form("d_-1"))
|
258
|
+
out = inverse(item, vlist(item)[0])
|
259
|
+
critical.append(out)
|
260
|
+
if equ:
|
261
|
+
equal.append(out)
|
266
262
|
equal = list(set([simplify(item) for item in equal]))
|
267
263
|
more = list(set([simplify(item) for item in more]))
|
268
264
|
critical = [simplify(item) for item in critical]
|
@@ -365,9 +361,8 @@ def absolute(equation):
|
|
365
361
|
equation = TreeNode("f_or", out2)
|
366
362
|
return equation
|
367
363
|
def handle_sqrt(eq):
|
368
|
-
eq = domain(eq)
|
369
364
|
def helper2(eq):
|
370
|
-
if eq.name in ["f_lt", "f_gt", "f_le", "f_ge"]:
|
365
|
+
if eq.name in ["f_lt", "f_gt", "f_le", "f_ge","f_eq"]:
|
371
366
|
out = []
|
372
367
|
def helper(eq):
|
373
368
|
nonlocal out
|
@@ -376,15 +371,15 @@ def handle_sqrt(eq):
|
|
376
371
|
x = [helper(child) for child in eq.children]
|
377
372
|
helper(eq)
|
378
373
|
for item in out:
|
379
|
-
|
380
|
-
eq2, sgn = inverse(simplify(eq.children[0]), str_form(item), True)
|
381
374
|
n = tree_form("d_1")
|
382
|
-
if
|
383
|
-
|
375
|
+
if eq.name == "f_eq":
|
376
|
+
eq2 = inverse(simplify(eq.children[0]), str_form(item))
|
377
|
+
else:
|
378
|
+
eq2, sgn = inverse(simplify(eq.children[0]), str_form(item), True)
|
379
|
+
if sgn == False:
|
380
|
+
n = tree_form("d_-1")
|
384
381
|
eq3 = simplify(expand(simplify(eq2**2)))
|
385
|
-
|
386
|
-
if "v_" in str_form(eq3) and not (eq2.name == "f_pow" and frac(eq2.children[1]) == Fraction(1,2)):
|
387
|
-
return simplify(TreeNode(eq.name, [simplify(n*item.children[0]-eq3*n), tree_form("d_0")])) & TreeNode("f_ge", [eq2, tree_form("d_0")])
|
382
|
+
|
388
383
|
return simplify(TreeNode(eq.name, [simplify(n*item.children[0]-eq3*n), tree_form("d_0")]))
|
389
384
|
return TreeNode(eq.name, [helper2(child) for child in eq.children])
|
390
385
|
return helper2(eq)
|
@@ -394,9 +389,13 @@ def domain(eq):
|
|
394
389
|
def helper2(eq):
|
395
390
|
nonlocal out
|
396
391
|
if eq.name == "f_pow" and frac(eq.children[1]) is not None and frac(eq.children[1]).denominator == 2:
|
397
|
-
|
392
|
+
if "v_" in str_form(eq.children[0]):
|
393
|
+
out.append(TreeNode("f_ge", [eq.children[0], tree_form("d_0")]))
|
394
|
+
out.append(TreeNode("f_ge", [eq, tree_form("d_0")]))
|
398
395
|
if eq.name == "f_pow" and frac(eq.children[1]) is not None and frac(eq.children[1]) <0:
|
399
|
-
|
396
|
+
tmp = TreeNode("f_eq", [eq.children[0], tree_form("d_0")]).fx("not")
|
397
|
+
if "v_" in str_form(tmp):
|
398
|
+
out.append(tmp)
|
400
399
|
x = [helper2(child) for child in eq.children]
|
401
400
|
helper2(eq)
|
402
401
|
out = list(set([simplify(item) for item in out]))
|
@@ -1,6 +1,6 @@
|
|
1
1
|
mathai/__init__.py,sha256=1e8IUnfQv45U_EIp4GS_ugwVQlqQPWoWn3td5pTF5Lk,615
|
2
2
|
mathai/apart.py,sha256=P0B21wHUFitc5RGbNJlwSeOdseOMcav4I7teFNcZmFA,3130
|
3
|
-
mathai/base.py,sha256=
|
3
|
+
mathai/base.py,sha256=l8p8nkCuBDUISI5whtxIuZnOHyFn7F29mLXeKtWWWFQ,12392
|
4
4
|
mathai/console.py,sha256=FsEMqDsgFeBSUiPCm9sfReZp56NSyoFVldqmVwvW4lg,3119
|
5
5
|
mathai/diff.py,sha256=Dvc-tuiW8jLncybjGqHs2WTg2vpMEdRJqUoIdnDj4sk,2879
|
6
6
|
mathai/expand.py,sha256=IqkxHS8lqbk0PZqz2y_IbRMSP0GExV6fneYwVEWQ9XM,1831
|
@@ -17,8 +17,8 @@ mathai/simplify.py,sha256=FZrQkG-dhUJqD-V856139Ogj2SAQQ8pNkvUCyfTwZr0,15034
|
|
17
17
|
mathai/structure.py,sha256=Hgw2y43dwasa6G8z6OS2lmReh7JHwlChGn-FUdEaWY8,4106
|
18
18
|
mathai/tool.py,sha256=87N5Ya7DmHdFOobTYDAjPHNWZuMzMIDjYN0ZtlHjxqE,1099
|
19
19
|
mathai/trig.py,sha256=ywu89MJfAB81JCzsVPBLpGGv8od0LhLn5cgDtLtYwmw,6897
|
20
|
-
mathai/univariate_inequality.py,sha256=
|
21
|
-
mathai-0.2.
|
22
|
-
mathai-0.2.
|
23
|
-
mathai-0.2.
|
24
|
-
mathai-0.2.
|
20
|
+
mathai/univariate_inequality.py,sha256=_r-kkiS4Hr-jRN7f-EL_E4svAMFWJP1Ea50HJKKbjfk,14778
|
21
|
+
mathai-0.2.8.dist-info/METADATA,sha256=SQ6nqIJQmrtsRuDlVHlFkCvCNsfvxK5lyaqYvuF475k,7087
|
22
|
+
mathai-0.2.8.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
23
|
+
mathai-0.2.8.dist-info/top_level.txt,sha256=ROP4l3OhGYw3ihkQGASr18xM9GsK4z3_6whV5AyXLwE,7
|
24
|
+
mathai-0.2.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|