rgwfuncs 0.0.46__tar.gz → 0.0.47__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.47
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.47"
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.47
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
@@ -676,28 +676,35 @@ def solve_homogeneous_polynomial_expression(
676
676
  ValueError: If the equation cannot be solved due to errors in expression or parameters.
677
677
  """
678
678
 
679
+ print("679", expression)
680
+ print("681", variable)
681
+ print("682", subs)
679
682
  try:
680
683
  # Create symbols for the variables in the expression
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
687
+ # Parse the expression
685
688
  expr = parse_expr(expression, local_dict=sym_vars)
686
- var_symbol = symbols(variable)
687
- solutions = solve(expr, var_symbol)
688
689
 
689
- # Apply substitutions if provided
690
+ # If substitutions are provided, apply them
690
691
  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]
692
+ expr = expr.subs({symbols(k): v for k, v in subs.items()})
693
+
694
+ # Ensure the variable is treated as a symbol for solving
695
+ var_symbol = symbols(variable)
696
+
697
+ # Solve for the variable
698
+ eq = Eq(expr, 0)
699
+ solutions = solve(eq, var_symbol)
693
700
 
694
701
  # 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]
702
+ latex_solutions = [latex(simplify(sol)) for sol in solutions]
698
703
  result = r"\left[" + ", ".join(latex_solutions) + r"\right]"
699
- print("158", result)
704
+
705
+ print("704", result)
700
706
  return result
701
707
 
702
708
  except Exception as e:
703
709
  raise ValueError(f"Error solving the expression: {e}")
710
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: rgwfuncs
3
- Version: 0.0.46
3
+ Version: 0.0.47
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