A computer algebra system written in pure Python http://sympy.org/ . To get started to with contributing https://github.com/sympy/sympy/wiki/Introduction-to-contributing
I found some unusual behaviour in randprime and I try to fix it.
from sympy import randprime
print(randprime(-2,0))
ValueError: no preceding primes
Can someone please review this PR : #20949
class Data:
def __init__(self, string,symbol, value):
self.string = string
self.symbol = sm.Symbol(symbol)
self.value = value
def __add__(self, other):
return self.value + other.value if isinstance(other, Data) else other
def __str__(self):
return self.string
def _repr_latex_(self):
return display(Latex(' '.join([self.string, f'({self.symbol})' ,r'\equals', self.value] )))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
c:\users\dell\onedrive\desktop\courses sem8\venv\lib\site-packages\IPython\core\formatters.py in __call__(self, obj)
343 method = get_real_method(obj, self.print_method)
344 if method is not None:
--> 345 return method()
346 return None
347 else:
<ipython-input-49-83e3f780e89d> in _repr_latex_(self)
11 return self.string
12 def _repr_latex_(self):
---> 13 return display(Latex(' '.join([self.string, f'({self.symbol})' ,r'\equals', self.value] )))
14 # area_each_plate = Data("Area of each plate", 15.8*15.8*SI.cm**2)
15 # inlet_pressure = Data("Area of each plate", 15.8*15.8*SI.cm**2)
TypeError: sequence item 3: expected str instance, Quantity found
self.value
. join
requires that every item is converted to a string, so use latex(self.value)
.
_repr_latex
should return a string, not call display().
pip install -e .
in the virtual environment
Hi - I'm learning and am looking for a hint for setting up an equation.
The problem is naturally expressed as:
# maximize:
# z = 100*x_1 + 60*x_2 + 70*x_3 + 15*x_4 + 15*x_5
# subject to limits:
# 52*x_1 + 23*x_2 + 35*x_3 + 15*x_4 + 7*x_5 <= 60
# X_1 in {0,1}
# x_2 in {0,1}
# x_3 in {0,1}
# x_4 in {0,1}
# x_5 in {0,1}
But I can't find a way to express "x_1 in the set containing {0,1}
My personal preference is to use the matrix representation
m = Matrix((
[52,23,35,15,7,-60],
[1,0,0,0,0,0],
[0,1,0,0,0,0],
[0,0,1,0,0,0],
[0,0,0,1,0,0],
[0,0,0,0,1,0]
))
...but I'm not sure how to package the variables for the nonlinsolve
function.