rgwfuncs 0.0.46__tar.gz → 0.0.48__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rgwfuncs
3
- Version: 0.0.46
3
+ Version: 0.0.48
4
4
  Summary: A functional programming paradigm for mathematical modelling and data science
5
5
  Home-page: https://github.com/ryangerardwilson/rgwfunc
6
6
  Author: Ryan Gerard Wilson
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "rgwfuncs"
7
- version = "0.0.46"
7
+ version = "0.0.48"
8
8
  authors = [
9
9
  { name = "Ryan Gerard Wilson", email = "ryangerardwilson@gmail.com" },
10
10
  ]
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = rgwfuncs
3
- version = 0.0.46
3
+ version = 0.0.48
4
4
  author = Ryan Gerard Wilson
5
5
  author_email = ryangerardwilson@gmail.com
6
6
  description = A functional programming paradigm for mathematical modelling and data science
@@ -2,7 +2,7 @@ import re
2
2
  import math
3
3
  import ast
4
4
  # import numpy as np
5
- from sympy import symbols, latex, simplify, solve, diff, Expr, factor, cancel
5
+ from sympy import symbols, latex, simplify, solve, diff, Expr, factor, cancel, Eq
6
6
  from sympy.core.sympify import SympifyError
7
7
  from sympy.core import S
8
8
  from sympy.parsing.sympy_parser import parse_expr
@@ -677,27 +677,36 @@ def solve_homogeneous_polynomial_expression(
677
677
  """
678
678
 
679
679
  try:
680
- # Create symbols for the variables in the expression
680
+ print("679", expression)
681
+ print("681", variable)
682
+ print("682", subs)
683
+
681
684
  variable_symbols = set(re.findall(r'\b[a-zA-Z]\w*\b', expression))
682
685
  sym_vars = {var: symbols(var) for var in variable_symbols}
683
686
 
684
- # Parse the expression and solve it
685
687
  expr = parse_expr(expression, local_dict=sym_vars)
686
- var_symbol = symbols(variable)
687
- solutions = solve(expr, var_symbol)
688
+ print("Parsed expression:", expr)
688
689
 
689
- # Apply substitutions if provided
690
690
  if subs:
691
- subs_symbols = {symbols(k): v for k, v in subs.items()}
692
- solutions = [simplify(sol.subs(subs_symbols)) for sol in solutions]
693
-
694
- # Convert solutions to LaTeX strings if possible
695
- latex_solutions = [
696
- latex(
697
- simplify(sol)) if sol.free_symbols else str(sol) for sol in solutions]
698
- result = r"\left[" + ", ".join(latex_solutions) + r"\right]"
699
- print("158", result)
691
+ expr = expr.subs({symbols(k): v for k, v in subs.items()})
692
+ print("Expression after substitution:", expr)
693
+
694
+ var_symbol = symbols(variable)
695
+
696
+ eq = Eq(expr, 0)
697
+ print("Equation to solve:", eq)
698
+
699
+ solutions = solve(eq, var_symbol)
700
+
701
+ if solutions:
702
+ latex_solutions = [latex(simplify(sol)) for sol in solutions]
703
+ result = r"\left[" + ", ".join(latex_solutions) + r"\right]"
704
+ else:
705
+ result = r"\left[\right]"
706
+
707
+ print("704", result)
700
708
  return result
701
709
 
702
710
  except Exception as e:
703
711
  raise ValueError(f"Error solving the expression: {e}")
712
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rgwfuncs
3
- Version: 0.0.46
3
+ Version: 0.0.48
4
4
  Summary: A functional programming paradigm for mathematical modelling and data science
5
5
  Home-page: https://github.com/ryangerardwilson/rgwfunc
6
6
  Author: Ryan Gerard Wilson
File without changes
File without changes