## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
##### Activity
• 14:44
mohajain commented #21974
• 13:21
• 13:05
Upabjojr synchronize #22146
• 12:52
Upabjojr synchronize #22143
• 11:55
oscarbenjamin commented #22149
• 11:52
oscarbenjamin commented #14103
• 11:49
oscarbenjamin commented #22148
• 11:48
oscarbenjamin labeled #22148
• 11:48
oscarbenjamin labeled #22148
• 11:41
oscarbenjamin reopened #22134
• 11:41
oscarbenjamin commented #22134
• 11:39
oscarbenjamin commented #14933
• 11:33
oscarbenjamin commented #21494
• 11:32
oscarbenjamin commented #14933
• 11:27
oscarbenjamin commented #22144
• 11:19
oscarbenjamin commented #22139
• 11:14
oscarbenjamin commented #22141
• 10:29
nobiit starred sympy/sympy
• 10:15
sylee957 commented #22149
• 10:12
sylee957 commented #22149
samsja
@samsja:matrix.org
[m]
HI everybody, I am looking for a way to symbolically minimize a multivariate function. The sympy maximize function only work on monovariate function ( or at least what I understand out of the documentationI). What could I do ? I already try the approach of resolving the system where the gradient equal zero and then take the min of it however it does not include solution with unbound variable like the maximise function do by outputing things like infinity. Thanks in advance ðŸ™‚
Vishesh Mangla
@Teut2711
import sympy as sm
from sympy import I
w = sm.symbols("omega")
exp = 20/(I*w+1)/(I*w+2)/(I*w+3)
sm.simplify(exp)
how to simplify it? I want the w corresponding to which the imaginary part is 0
sm.solve(sm.arg(exp)) gives []
here too
Isuru Fernando
@isuruf
You need to add the assumption that omega is real.
Vishesh Mangla
@Teut2711
w = sm.symbols("omega", real=True ) sorry no effect
Isuru Fernando
@isuruf
try expanding
Vishesh Mangla
@Teut2711
better but not exactly what I require
this is good but
thanks @isuruf
Vishesh Mangla
@Teut2711
thanks again
Vishesh Mangla
@Teut2711
abs gives whats expected but sm.arg doesn't , what else can be done to get the argument?
some function which does this is required
Vishesh Mangla
@Teut2711
I m trying to make a table like this, where each many cells of the matrix should contain unevaluated determinants
gives
Vishesh Mangla
@Teut2711
row += [sm.Mul(sm.Matrix([
[row1[0], row2[k] ],
[row2[0], row2[k]]
]), -1/row2[0], evaluate=False)]
so I did get a Matrix in matrix as expected but the evaluate=False didnt work. What is that am I doing wrong?
Aaron Meurer
@asmeurer
you probably need to use MatMul
Gaurav Dhingra
@gxyd

Hey guys, I'm trying to use parse_latex function as below:

In [1]: from sympy.parsing.latex import parse_latex

In [2]: r = "5^0 - 4^0"

In [3]: parse_latex(r)
ANTLR runtime and generated code versions disagree: 4.9.2!=4.7.2
ANTLR runtime and generated code versions disagree: 4.9.2!=4.7.2
Out[3]: -1 + 5**0

Is there anyway, I can stop parse_latex to render it as 5^ 0 - 4^0 and now evaluate 4^0 as 1?

Vishesh Mangla
@Teut2711

you probably need to use MatMul

yes , that was it. thanks

Kalevi Suominen
@jksuom
@gxyd On this line, we have lh = 5**0 and rh = 4**0 but -1 * rh will be evaluated to -1. If you want to preserve rh, it looks like -1 * rh should be replaced by Mul(-1, rh, evaluate=False).
3 replies
Hi, does anyone know if its possible to do the floating point evaluation with fixed-precision / Fixed-point integer-valued calculations?

From what I can see Rational inherits from Number which defines evalf as :

    def _eval_evalf(self, prec):
return Float._new(self._as_mpf_val(prec), prec)

So I assume that all the calculations are resolved using Floats?

famubu
@famubu:matrix.org
[m]
Does sympy support python2? Which is the earliest version of python3 that is supported? Would 3.5 be okay?
Kalevi Suominen
@jksuom
@famubu:matrix.org The oldest supported version is 3.6 though 3.5 may often work.
Vishesh Mangla
@Teut2711
also how to prevent the reordering of symbols while multiplication
Naveen Sai
@naveensaigit
@XtremeGood Try UnevaluatedExpr(mdot)*UnevaluatedExpr(Cp)*UnevaluatedExpr(delta)
Kunal Mahatha
@kunal-mahatha
Hello every I am new to open source and want to contribute to sympy. I saw the good first issue but those are too old like 2017-2018. Any beginner friendly issue for me
Abdullah Tahir
@MAT919
Hello everyone I really want to contribute sympy. But Iâ€™m new to open source if anyone can help me. I will be grateful. Please contact me at abdullahtahir919@protonmail.com
Fabio Luporini
HI all! Given that sympy uses caches to speed up symbolic manipulation, I'd guess it's not thread safe (ie multiple python threads attempting to create symbols concurrently). False or true?
2 replies
Matthew Roos
@mattroos
I'm brand new to sympy and to computer algebra systems. I'd like to create a function that can take in an expression and return an expression in which any symbols raised to a power (integer, and >1) are placed by 1. For example, x**2 + x*y**3 becomes x + x*y. Any pointers as to what I should review/read in the repo or the sympy.org website, to get me started, would be much appreciated!
Naveen Sai
@naveensaigit
@mattroos This may not be the most efficient way to do it, but it works
In [95]: e = x**(S(3)/2) + x**2*y**3 + x + 1/y
...: e
Out[95]:
3/2    2  3       1
x    + x â‹…y  + x + â”€
y

In [96]: powers = e.atoms(Pow)
...: powers
Out[96]:
âŽ§ 3/2   2  1   3âŽ«
âŽ¨x   , x , â”€, y âŽ¬

In [97]: int_powers = list(filter(lambda x: x.exp.is_Integer and x.exp > 1, powers))
...: int_powers
Out[97]:
âŽ¡ 3   2âŽ¤
âŽ£y , x âŽ¦

In [98]: {k:v for k, v in zip(int_powers, list(map(lambda x: x.base, int_powers)))}
Out[98]:
âŽ§ 2      3   âŽ«
âŽ¨x : x, y : yâŽ¬

In [99]: e.subs({k:v for k, v in zip(int_powers, list(map(lambda x: x.base, int_powers)))})
Out[99]:
3/2             1
x    + xâ‹…y + x + â”€
y
Matthew Roos
@mattroos
Thanks, @naveensaigit! I'm learning a lot about sympy from that single example!
Gaurav Dhingra
@gxyd
Hi @asmeurer , any expected date by when can we see the SymPy 1.9 coming out?
Fabio Luporini
Hi everyone! How can I enforce precedence on the Mod in a*(b%3) where a and b are plain Symbol ? SymPy will evaluate it to a*Mod(b, 3), while I'd want to keep the precedence explicit (so that ultimately generation of lower level code honours this user-enforced precedence)