## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
• Create your own community
##### Activity
• 04:43
rathmann commented #22904
• 04:42
me-t1me commented #22872
• 04:36
yearnfar starred sympy/sympy
• 04:30
me-t1me commented #22872
• 04:30
me-t1me commented #22872
• 04:26
AdvaitPote synchronize #22914
• 04:25
rathmann commented #22904
• 03:45
mcdiarmid starred sympy/sympy
• 03:24
jsdodge commented #21426
• 03:15
jsdodge commented #21426
• 02:21
sympy-bot commented #22900
• 02:21
asmeurer synchronize #22900
• 02:20
asmeurer commented #15130
• 01:58
asmeurer commented #15130
• 00:56
oscarbenjamin commented #22337
• Jan 26 23:40
asmeurer commented #22900
• Jan 26 23:40
oscarbenjamin commented #22337
• Jan 26 23:39
sympy-bot commented #22337
• Jan 26 23:39
oscarbenjamin reopened #22337
• Jan 26 23:39
oscarbenjamin closed #22337
Aaron Meurer
@asmeurer
something that can help here is minpoly. minpoly((sqrt(x)+1)/(sqrt(x)*(x+sqrt(x)), y) gives x*y - 1 meaning that the expression equals 1/x
I've mentioned it on some issues before, but we should have a simplification function that uses minpoly. If the minimal polynomial is linear or constant then the simplification is trivial. It's harder if the degree is higher because you have to make sure you keep the same root, but it's doable.
Aaron Meurer
@asmeurer
I didn't see any dedicated issue for it so I opened sympy/sympy#18907
Megan Ly
@meganly
The minpoly idea is cool. Is there a canonical form for algebraic functions? If so, what is it?
Aaron Meurer
@asmeurer
I'm not sure if there's a straightforward way to define one.
I think you can do something using the fact that algebraic extensions form a vector space over the extended field. So if you have a basis, then every element of the extension is a linear combination of those basis elements. But there's the question of how to chose that basis in a canonical way.
Megan Ly
@meganly
That's something you could do, but I don't think that works for quotients of algebraic expressions. As far as I know there isn't really a canonical form for algebraic functions like there is for rational
Saanidhya
@Saanidhyavats
After making some changes in pull request #18681 I think it's ready to be merged. It would be helpful if someone could take a look init.
Dhruv Mendiratta
@dhruvmendiratta6
@jksuom @Arpan612 I too am running wsl with the sympy repo in windows. I am not able to run profilers(eg: vprof) I installed in ubuntu on the repo. Also local tests using ./bin/test do not work on ubuntu. So is the solution here simply cloning a wsl version of the sympy repo and keeping its functioning separate from windows?
Arpan Chattopadhyay
@Arpan612
Yes, I think this solution will be best for now.
If I get any alternative, I will tell you.
@asmeurer Thank you, Sir.
Maarten van der Velde - (Ideogram)
@ideogram

@jksuom I tried it, and it doesn't seem to make any difference. Everythink works fine, until I introduce a variable I. It then says:

TypeError: can't convert expression to float

Kalevi Suominen
@jksuom
Does the same error occur if you change the name to something else?
Maarten van der Velde - (Ideogram)
@ideogram
No, I tried that. It works fine with X, Y, Z, W, H and L
Kalevi Suominen
@jksuom
What is the difference then? Do you begin by defining I in the same way as I = Symbol('I')? That should be done before creating the expression to which evalf is to be applied so that the expression will involve the symbol I and not the imaginary unit I.
danil179
@danil179
I don't know what is the current state of my PR #17745 as it seems 5 months passed already and I don't see any specific problems with the code right now. In my PR I tried to keep the original printing where possible (and hence my PR keeps the original printing with changes only where necessary and doesn't require code changes in the tests). I think that my solution is near optimal in doing that.
Arpan Chattopadhyay
@Arpan612
@asmeurer Sir, could you please go through my query in issue #18882?
BasileiosKal
@BasileiosKal
Hi everyone. I made the pr #18875 a few days ago. I was wondering if anyone could review it? Thank you!
Saanidhya
@Saanidhyavats
I have made some changes in pr #18681 and #18559. It would be helpful if someone could review it
Aaron Meurer
@asmeurer
@danil179 sometimes PRs fall by the wayside. Just ping people if no one has said anything for a while.
Saanidhya
@Saanidhyavats
@asmeurer thank you for suggesting the changes, I have made the changes in pr #18681. Can you review it
Daniel Shapero
@danshapero

Hi all -- I'm looking at how to differentiate expressions involving IndexedBase objects. When I run the following code:

import sympy
n = sympy.symbols('n', integer=True)
M = sympy.IndexedBase('M', shape=(n, n))
x = sympy.IndexedBase('x', shape=n)
i = sympy.Idx('i', n)
j = sympy.Idx('j', n)
k = sympy.Idx('k', n)
energy = 0.5 * M[i, j] * x[i] * x[j]
print(sympy.simplify(energy.diff(x[k])))

I get an expression involving lots of Kronecker deltas. I feel it should be possible to simplify these out but I don't know how. Thoughts?

Maq_Owais
@MaqOwais
@MaqOwais
Sir, as I came to know that ' Handling modular equations ' already integrated with _solveset then why it showed
in gsoc project under solvers module?
do we again have to reintegrate under _transolve ?
and remove that part from _solveset ? to have a reply : )
waiting for reply
OmarWagih1
@OmarWagih1
Hello All, i just posted my application on the github wiki for some reviews and comments, could you please look at it? Would very much appreciate it. Thanks!
https://github.com/sympy/sympy/wiki/GSoC-2020-Application-Omar-Wagih:-Benchmarks-and-performance
Hello All, i just posted my application on the github wiki for some reviews and comments, could you please look at it? Would very much appreciate it. Thanks!
Gagandeep Singh
@czgdp1807
Please add the links to your applications here. See, https://github.com/sympy/sympy/wiki/GSoC-2019-Current-Applications for reference.
Arpan Chattopadhyay
@Arpan612
Yes sir, I saw it now. I will do it.
@czgdp1807 Could you please tell me who are the potential mentors for symengine project?
Saanidhya
@Saanidhyavats
I have made the changes in pr #18681. It would be helpful if someone could review it
Arpan Chattopadhyay
@Arpan612
@Saanidhyavats Could you please go through my proposal and suggest changes?
I am reviewing your changes. I will put up my comments on Github.
Saanidhya
@Saanidhyavats
Sure
BasileiosKal
@BasileiosKal
Hi all! I have made the changes the reviewer's proposed in my pr #18875. Could you please review it?
Mohit Balwani
@Mohitbalwani26
In my PR #18881 travis has already passed on when i checked on travis offcial websote but it is showing still pending in GitHub. What could be the reason?
mohit
@mohitacecode
Hello Arpan,
I have left comment on the issue.
mohit
@mohitacecode
the files mentioned in the issues are already created you have to identify the test in test_matrices.py and test_commonmatrix.py and move them to their related test file. for example all the solvers related test should be transferred to test_solvers.py.
just a opinion the discussion related to pr should be kept there.I will also post the previous comment there.
Saanidhya
@Saanidhyavats
I have made a pr #18932, it would be helpful if someone could guide me further on it
Arpan Chattopadhyay
@Arpan612
I am on it.
Julian
@cod3monk
Is there a simple way to find and divide all terms of relationals by the gcd, if one exists?
This should turn 64*M*N - 104*N - 56 <= 11796480 into 8*M*N - 13*N - 7 <= 1474560. simplify does not do the trick.
mohit
@mohitacecode
maybe something like this.
>>> a = 64*M*N - 104*N - 56 - 11796480 <= 0
>>> factor(a)
8*(8*M*N - 13*N - 1474567) <= 0
@cod3monk
Stefan Corneliu Petrea
@wsdookadr
sss
Aaron Meurer
@asmeurer
@danshapero how should it simplify?
Daniel Shapero
@danshapero
@asmeurer the result I get is
>>> 0.5*(KroneckerDelta(i, k)*x[j] + KroneckerDelta(j, k)*x[i])*M[i, j]
which mathematically I know to be equal to 0.5 * (M[k, j] * x[j] + M[i, k] * x[i]) at the very least
of course I haven't put in any assumptions about M being self-adjoint so I'm not expecting anything there