Status: Accepted
Owner:
Labels: Type-Defect Priority-Medium Solvers
New issue 3148 by asmeu...@gmail.com: Too many constants from dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
We need to clean up the constant simplification, and more importantly, the
format of the output o
Comment #1 on issue 3148 by asmeu...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
In particular, there are at least two issues:
- In the more complex 1st order methods, such as separable and homogeneous
coefficients, where f(x) can appear
Comment #2 on issue 3148 by asmeu...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
I wrote to the list about this:
http://groups.google.com/group/sympy/browse_thread/thread/e10cb5208b870601.
I think such an algorithm could also be useful
Comment #3 on issue 3148 by smi...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
This is related to issue 1400 .
--
You received this message because you are subscribed to the Google Groups
"sympy-issues" group.
To post to this group, send
Issue 3148: Too many constants from dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
This issue is now blocking issue sympy:3442.
See http://code.google.com/p/sympy/issues/detail?id=3442
--
You received this message because you are listed in the owner
or CC fields of this issue, or
Comment #6 on issue 3148 by smi...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
Attached is a first draft at a function that would replace non-x quantities
with numbered symbols. If there is interest and someone to review it I
could fini
Comment #7 on issue 3148 by asmeu...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
Maybe this is obvious, but how does this help solve this problem?
--
You received this message because this project is configured to send all
issue notifica
Comment #8 on issue 3148 by smi...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
clean up the constant simplification
this routine is about 60 lines compared to 200+ lines
system of equations would be [C1**3, C1**6], and the new system wou
Comment #9 on issue 3148 by smi...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
It just occurred to me that if you have too many constants, you can solve
for the excess ones in terms and substitute them out. e.g. in PR 1964 this
test is
Comment #10 on issue 3148 by asmeu...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
I would rather do it as I described above and on the mailing list.
constantsimp should not combine constants in the first place unless it
renames all occu
Comment #11 on issue 3148 by smi...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
A simpler example of renumbering doing the wrong thing (?) is
constant_renumber(C1/(C1*x + 1), "C", 1, 2) -> C1/(C2*x + 1)
--
You received this message becaus
Comment #12 on issue 3148 by smi...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
And here's another simpler case where the numbering issue can be seen:
Here is a differential equation
eq
x**2*f(x)**2 + x*Derivative(f(x), x)
The implicit
Comment #13 on issue 3148 by asmeu...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
Exactly. The bug here is in constantsimp, not checkodesol, which cannot
help it if constantsimp returns what is basically a wrong result.
--
You received
Issue 3148: Too many constants from dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
This issue is now blocking issue sympy:3851.
See http://code.google.com/p/sympy/issues/detail?id=3851
--
You received this message because you are listed in the owner
or CC fields of this issue, or
Comment #15 on issue 3148 by smi...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
There are two levels of simplification that I believe should remain
distinct. One is the type needed for the ODEs. exp(C1) and 2*X1 can
simplify to C1 but C
Updates:
Labels: Assumptions
Comment #16 on issue 3148 by asmeu...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
If I understand you correctly, you are saying constants should not absorb
symbolic constants. Why?
Also, if I unders
Comment #17 on issue 3148 by smi...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
I don't think explicit constants should be absorbed but it's a debatable
point. e.g. If I have an ODE that is written in terms of f(x) and y I
wouldn't expe
Comment #18 on issue 3148 by asmeu...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
Ah I see your argument. This probably should be a flag.
--
You received this message because this project is configured to send all
issue notifications to
Comment #19 on issue 3148 by trel...@psu.edu: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
I'm looking at this. I feel that constants should not absorb other
parameters, as those parameters may be interpretted as coordinates in some
larger manifol
Comment #20 on issue 3148 by asmeu...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
The original intention of that was to make it so that the printed form of
the expression shows the constants in order. This is in general impossible,
beca
Comment #21 on issue 3148 by trel...@psu.edu: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
Figured it out. See pull request https://github.com/sympy/sympy/pull/2569
As an example: dsolve((x+1)*f(x).diff(x) - f(x)- 1,f(x))
In master: f(x) = C₁ + C₂ x
Comment #22 on issue 3148 by asmeu...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
If the tests are incorrect and they now return the right thing, just fix
the test.
--
You received this message because this project is configured to send
Comment #23 on issue 3148 by trel...@yahoo.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
I closed the pull request, since it was inadequate. Slow progress can be
followed on
https://github.com/zanzibar7/sympy/tree/dsolve_fixes
Not yet ready f
Comment #24 on issue 3148 by trel...@yahoo.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
Related issues: href="http://code.google.com/p/sympy/issues/detail?id=1739";>1739<\a>, href="http://code.google.com/p/sympy/issues/detail?id=3907";>3907<\a>, h
Comment #25 on issue 3148 by trel...@yahoo.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
Related to:
Issue 1739
Issue 3907
Issue 3442
Issue 3851
--
You received this message because this project is configured to send all
issue notifications to t
Comment #26 on issue 3148 by trel...@yahoo.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
I now have a candidate branch that manages constants better.
https://github.com/zanzibar7/sympy/tree/dsolve_fixes_pullable
Example:
dsolve((x+1)*f(x).diff(x)
Comment #27 on issue 3148 by asmeu...@gmail.com: Too many constants from
dsolve()
http://code.google.com/p/sympy/issues/detail?id=3148
SymPy does have a SAT solver :)
But you are right that a simple heuristic is fine. The result doesn't have
to be perfect. I originally wrote constantsimp b
27 matches
Mail list logo