Hello GSoC Students (and mentors!),
In the next few days/weeks, GSoC pull requests will start coming in. This
is really exciting! After the pull requests come in, it's important to
start reviewing these in a timely fashion. While each student has a
mentor/mentors who will work with them
On Friday, April 17, 2015 at 8:17:56 AM UTC-5, Harsh Gupta wrote:
Great initiative, I suggest adding `needs decision` to the classifier tag.
It is for the issues for which we are not sure if they are valid or not.
`Needs Decision` already exists, and is a special (pink) tag. The reason
for
wrote:
Glad to see you taking this on. Quite a few issues are either
duplicate or already fixed, so there is definitely some cleanup
possible.
On Fri, Apr 17, 2015 at 12:40 AM, James Crist crist...@umn.edu
wrote:
As of this writing, SymPy has 1648 issues open. That's more than
numpy
On Friday, April 17, 2015 at 1:34:55 PM UTC-5, Joachim Durchholz wrote:
- Help labeling.
I haven't found a way to enable tagging for people that do not have full
write access to the repository. I suspect GitHub does not offer any.
This is also the reason why tagging does not happen very
making the PR. I'd
like to remove it unless someone makes a strong argument to the contrary.
Perhaps, we can reword it. How about Needs changes or Waiting for
changes?
Sudhanshu Mishra
On Sat, Apr 18, 2015 at 12:35 AM, James Crist cris...@umn.edu
javascript: wrote:
On Friday, April 17
...@durchholz.org wrote:
One thing I saw proposed elsewhere is to group labels, by naming them
group:label.
Am 17.04.2015 um 07:40 schrieb James Crist:
*Submodule tags (html #FF, blue):*
Everything after `sympy.` for the specific submodule. Keep the naming and
casing consistent with the sympy
Do people still use this?
Many recent beginner PRs have been tagged with it. If no one is attached,
I'd like to remove it.
- Jim
On Fri, Apr 17, 2015 at 6:28 PM, Aaron Meurer asmeu...@gmail.com wrote:
On Fri, Apr 17, 2015 at 2:05 PM, James Crist crist...@umn.edu wrote:
On Friday, April 17
As of this writing, SymPy has 1648 issues open. That's more than numpy,
scipy, or pandas (more than numpy and scipy combined!). Further, our issue
tagging system is a mess. We can do better than this!
Many of these issues are imported from google code, and may be already
fixed in master (some
I expect this to turn into a flamewar, so I'm going to ask everyone to only
give one opinion (voting style). Please please please don't fight about
this.
I just got back from PyCon, and there was a presentation there on pep 8
formatting, and one of the main points was that pure formatting PRs
, Joachim Durchholz j...@durchholz.org wrote:
Am 14.04.2015 um 19:54 schrieb James Crist:
For example, say I make a tiny bug fix in function foo - I could also
clean
up some of the code in foo. That way the last person to touch foo is not
someone who added a space between an operator, but someone
to be
the main symbolics engine for sage, as the increased user base would
probably result in an increased development team.
On Tue, Apr 14, 2015 at 4:31 PM, James Crist crist...@umn.edu wrote:
Have you tried git blame -CCC -M? According to the manpage it is
supposed to be smarter about stuff.
I had
.
On Thu, Apr 2, 2015 at 11:54 AM, Joachim Durchholz j...@durchholz.org wrote:
Am 02.04.2015 um 18:46 schrieb James Crist:
Performance:
Using symbols() in all contexts might have performance ramifications,
creating new Symbol() objects means more memory pressure than reusing
precreated symbols
Performance:
Using symbols() in all contexts might have performance ramifications,
creating new Symbol() objects means more memory pressure than reusing
precreated symbols from sympy.abc (which happen 521 times in SymPy
itself, hopefully just in test code).
We cache symbol creation,
One way that's pretty common is to do something like:
result = whatever your testing
solution = something you type in
assert simplify(result - solution) == 0
This is better than constructing a special case form, because that form may
change in the future.
On Saturday, March 28, 2015 at 9:28:00
Clearly Jim needs to move out to the West Coast.
I'm working on it :)
I would suggest deciding on a technology beforehand
If we're hosting our docs at readthedocs (as Jason said on the wiki), then
website will be a gallery, blog, some prose pages, and that's it. Any of
the popular static
`lambdify` is intended for numeric evaluation (but can be made to evaluate
symbolically). By default, the functions `sin`, `cos`, etc... are pulled
from `math` or `numpy`, which expect floats (and if not given a float, they
attempt to convert to float).
What's happening here, is you're passing
Isn't this similar to SymPy Gamma? http://gamma.sympy.org/
On Wednesday, January 7, 2015 5:36:57 PM UTC-6, Anas Belkhadir wrote:
did you understand me what i want to say ??
2015-01-07 21:28 GMT+00:00 Francesco Bonazzi franz@gmail.com
javascript::
On Wednesday, January 7, 2015
Bleagh, I still need to fix this, completely forgot about it. Somewhere in
all the changes made in my GSoC project, this test stopped working. Due to
the large size of the expression involved (just printing it takes forever),
debugging the failure is tricky. Currently it's left with the
Hello,
Read this: https://github.com/sympy/sympy/wiki/introduction-to-contributing
On Friday, December 19, 2014 10:39:56 AM UTC-6, GAURAV MISHRA wrote:
Hi everyone
I am Gaurav and i am pursuing my B.Tech in Computer Science (3 year) from
IIIT Hyderabad (India).I am a Mathematics and
rules in a ruleset is small (~none for non-AC patterns), but
it does exist.
- Jim Crist
On Sat, Nov 29, 2014 at 10:29 AM, Aaron Meurer asmeu...@gmail.com wrote:
On Fri, Nov 28, 2014 at 6:40 PM, Richard Fateman fate...@gmail.com
wrote:
On Thursday, November 27, 2014 7:49:30 PM UTC-8, James
predicates for each path will get increasingly expensive.
On Sat, Nov 29, 2014 at 11:39 AM, James Crist crist...@umn.edu wrote:
@Richard,
Thanks for the Jenks paper, that was a good read. I also read your paper
on semantic matching
http://dl.acm.org.ezp2.lib.umn.edu/citation.cfm?id=806300, which
Oh boy, this is going to be a big post. Responding to everyone in turn:
*@Aaron:*
Nonlinear, AC pattern matching is NP complete. Linear AC pattern matches
can be found in polynomial time.
Interesting. Why is that?
Joachim got it right, having each match constrained by other matches,
All,
In my spare time, I've been working on implementing a fast pattern matcher
that accounts for Associative and Commutative symbols. It's going to be a
while before I'm ready to release the code (it needs some serious cleanup),
but as of now it is partly functional. Some notation:
T = set
You need to include the assumptions in the call to refine:
refine(sqrt((x - y)**2), Q.positive(x - y))
x - y
If I remember correctly, the `assuming` context manager also works for
this, but I can't be certain.
On Monday, November 10, 2014 6:30:25 PM UTC-6, Andrew Spielberg wrote:
Hi Aaron,
I really want to get this one in before the release:
https://github.com/sympy/sympy/pull/7824.
On Tuesday, October 28, 2014 12:24:02 PM UTC-5, Aaron Meurer wrote:
We are just about ready to create a release candidate for SymPy 0.7.6.
The only remaining blocking PR to my knowledge is
.
On Thursday, October 23, 2014 1:23:07 PM UTC-5, James Crist wrote:
For the large expressions that we see in `mechanics`, calls to `simplify`
can take an extremely long time. However, for simple expressions,
simplification is desirable. Currently we don't simplify by default inside
any
For the large expressions that we see in `mechanics`, calls to `simplify`
can take an extremely long time. However, for simple expressions,
simplification is desirable. Currently we don't simplify by default inside
any of our library code, as it's impossible to tell whether the expression
can
still be a problem though. This was just a proposal - I'm not adamant
that sympy needs such a feature.
On Thursday, October 23, 2014 2:39:01 PM UTC-5, Joachim Durchholz wrote:
Am 23.10.2014 um 20:23 schrieb James Crist:
However, this isn't the easiest thing to do in Python. The best
like doing that until I get some validation on the concept.
On Thursday, October 23, 2014 3:06:22 PM UTC-5, James Crist wrote:
What's composable in this context?
Easy to write without intruding too much into the actual function.
That would not affect SymPy itself
A second proof of concept PR, this time using a context manager. I actually
like this more, but it has its own issues as well.
https://github.com/sympy/sympy/pull/8297
On Thursday, October 23, 2014 4:14:27 PM UTC-5, James Crist wrote:
Proof of concept PR here https://github.com/sympy/sympy
to confirm, the latest official release is 0.7.5 and does not work
with your code. Is that right? Do you know when the next release will be?
On Friday, September 26, 2014 10:12:23 AM UTC-5, James Crist wrote:
@david:
This is all in sympy master. The codegen stuff has had major work done
, September 25, 2014 7:52:12 PM UTC-5, James Crist wrote:
I'd hazard that it's a limit in the internals of numpy for how they
handle broadcasting, but I can't be certain on that.
However, we can handle this, you just need to frame your problem in a
better way. You're trying to do optimization, so
The `test_kane3` test I think is not a good test in general. It's going to
run slow, and personally I've never had it complete (although my laptop is
slow). It's a fine example of the capabilities of our library, but as a
test - not so good. I doubt the rest of the mechanics team would agree
:
On Fri, Sep 19, 2014 at 1:52 PM, Aaron Meurer asme...@gmail.com wrote:
On Fri, Sep 19, 2014 at 9:20 AM, James Crist cris...@umn.edu wrote:
it looks like in the first example that the expression is returned
directly while in the second case it is not(?)
Ideally, for routines with one
asme...@gmail.com
javascript: wrote:
On Fri, Sep 19, 2014 at 9:20 AM, James Crist cris...@umn.edu
javascript: wrote:
it looks like in the first example that the expression is returned
directly while in the second case it is not(?)
Ideally, for routines with one expr, `routine
I'd hazard that it's a limit in the internals of numpy for how they handle
broadcasting, but I can't be certain on that.
However, we can handle this, you just need to frame your problem in a
better way. You're trying to do optimization, so generally you'd frame your
optimal condition as a
value. I suspect there will be issues with how you define Routine, however,
since it looks like in the first example that the expression is returned
directly while in the second case it is not(?).
On Thursday, September 18, 2014 10:32:01 PM UTC-5, James Crist wrote:
I have a new SymPy type
Oh hey, that's kinda neat.
On one of the slides you mention that by generating equations symbolically
you can change change algorithmic complexity. Can you give an example of
this?
That hasn't happened yet, but is planned. Mostly, it has to do with the
idea that in SymPy we have knowledge
.
We could print out code for the expanded form of (x + a1)*(x + a2)*...*(x +
an), or we could factor it, and reduce the number of operations
significantly.
On Thu, Sep 18, 2014 at 6:03 PM, James Crist crist...@umn.edu wrote:
Oh hey, that's kinda neat.
On one of the slides you mention
And I suppose for matrix expressions, if a user tried to generate code for
x = A^-1*B, we could recognize that and replace it with a matrix solve
routine, rather than explicitly calculating the inverse.
On Thu, Sep 18, 2014 at 6:23 PM, James Crist crist...@umn.edu wrote:
Hmmm, it appears I
do this now, but I'd love to see some research in this area).
Aaron Meurer
On Thu, Sep 18, 2014 at 6:27 PM, James Crist cris...@umn.edu
javascript: wrote:
And I suppose for matrix expressions, if a user tried to generate code
for x = A^-1*B, we could recognize that and replace
I have a new SymPy type that serves to represent a unit of computation
(contains an expression/expressions that is/are being computed). I'd like
to be able to alias queries on the assumptions of the element to
assumptions of the underlying expression it represents. Example:
a, b, c =
.
- Jim
On Wednesday, September 3, 2014 10:49:03 AM UTC-5, Ondřej Čertík wrote:
Hi James,
On Mon, Sep 1, 2014 at 2:37 PM, James Crist cris...@umn.edu javascript:
wrote:
I prefer either to pass -ffast-math flag (setting compiler flags is
already an issue since we need
to indicate
that 10 x's.
Jason
moorepants.info
+01 530-601-9791
On Fri, Aug 29, 2014 at 7:33 AM, Jason Moore moore...@gmail.com
wrote:
Jason
moorepants.info
+01 530-601-9791
On Fri, Aug 29, 2014 at 2:38 AM, James Crist cris...@umn.edu
wrote:
I was planning on going
, James Crist cris...@umn.edu
javascript: wrote:
I was wondering about that. I wasn't sure if the overhead from looping
through the inputs multiple times would outweigh improvements from fast C
loops. Glad that in your case it does.
I've thrown a WIP PR up: https://github.com/sympy/sympy
wrote:
Jason
moorepants.info
+01 530-601-9791
On Fri, Aug 29, 2014 at 2:38 AM, James Crist crist...@umn.edu wrote:
I was planning on going to bed, but ended up working on this instead.
I
have no self control...
Anyway, I've uncovered some things:
1. Addition
For handling Pow? horner(x**11) results in x**11. Or were you recommending
applying horner to an entire expression tree?
On Fri, Aug 29, 2014 at 3:55 PM, Tim Lahey tim.la...@gmail.com wrote:
I recommend that you use the horner function in polys.
On 29 Aug 2014, at 16:48, James Crist wrote
I still need to do some cleanups and add tests, but I finally have this
working and thought I'd share. I'm really happy with this:
In [1]: from sympy import *
In [2]: a, b, c = symbols('a, b, c')
In [3]: expr = (sin(a) + sqrt(b)*c**2)/2
In [4]: from sympy.utilities.autowrap import ufuncify
on this today but it looks like you've by passed
what I had working. Do you have a PR with this?
Jason
moorepants.info
+01 530-601-9791
On Wed, Aug 27, 2014 at 11:11 PM, Matthew Rocklin mrock...@gmail.com
wrote:
Cool
On Wed, Aug 27, 2014 at 8:07 PM, James Crist crist...@umn.edu wrote:
I
tomorrow.
Jason
moorepants.info
+01 530-601-9791
On Wed, Aug 27, 2014 at 11:26 PM, James Crist crist...@umn.edu wrote:
Not yet. I wrote it this morning during an extremely boring meeting, and
haven't had a chance to clean it up. This doesn't solve your problem about
broadcasting a matrix
This is part of my continuing my work on making sympy capable of generating
code for evaluating matrix functions. So far the codeprinters and codegen
is done(ish); all that's left is autowrap.
Questions:
1. Should functions created by autowrap create matrices that would be
in-out parameters
routine.
On Tue, Aug 5, 2014 at 11:46 AM, Aaron Meurer asmeu...@gmail.com wrote:
On Mon, Aug 4, 2014 at 5:44 PM, Tim Lahey tim.la...@gmail.com wrote:
I've answered your questions below.
On 4 Aug 2014, at 18:27, James Crist wrote:
*1. Sympy Matrices are always 2 dimensional, should
I'm working on adding support ofr codegeneration with Matrix objects.
Currently an `indexed` type is supported that results in low-level
contiguous arrays. These are always converted into loops though (and I
don't really understand what they're for). In contrast, the intent here is
to provide
on this problem seems
sensible.
Thanks again,
-Matt
On Mon, Aug 4, 2014 at 4:13 PM, Jason Moore moorepa...@gmail.com wrote:
Jason
moorepants.info
+01 530-601-9791
On Mon, Aug 4, 2014 at 3:27 PM, James Crist crist...@umn.edu wrote:
I'm working on adding support ofr codegeneration with Matrix
for the outer Matrix as is already
shown in the docs?
On Mon, Aug 4, 2014 at 11:34 PM, Tim Lahey tim.la...@gmail.com wrote:
On 5 Aug 2014, at 0:14, James Crist wrote:
@Tim:
They're for representing tensors. Of course, the can be used for a number
of things, including calculating finite
On Friday, July 11, 2014 11:13:28 PM UTC-5, Richard Fateman wrote:
The obvious brute force method would be to use software floats in which
case you could increase the precision and the range of the
numbers involved. I'm assuming the NaNs come from division by zero where
the denominator is
* simplifying that
expression.
This way you are targeting only trouble expressions and not working with
the
whole expression tree.
On Friday, June 27, 2014 9:35:09 PM UTC-5, James Crist wrote:
signsimp didn't seem to help. I'll try to get a gist of the expression
up
tomorrow
On Wed, Jul 2, 2014 at 9:10 PM, James Crist cris...@umn.edu
javascript: wrote:
I wrote this up today. In physics.mechanics we often have to sub
symbols
for
values (or a smaller subset of symbols, i.e. the operating point).
For
the
huge expressions generated, `subs
code.
There's also the strategies submodule that Matthew added which looks
useful, but I couldn't figure out how to use it.
On Thursday, July 3, 2014 11:12:55 AM UTC-5, James Crist wrote:
Checking for these conditions in general would prove extremely tricky.
I've updated the gist with my
I wrote this up today. In physics.mechanics we often have to sub symbols
for values (or a smaller subset of symbols, i.e. the operating point).
For the huge expressions generated, `subs` is extremely slow. Also, it subs
inside derivatives, which is not ideal (we are currently using a hacky
signsimp didn't seem to help. I'll try to get a gist of the expression up
tomorrow, it's so huge I haven't succesfully ran simplify on it. However, I
had the same thing happen with a readable expression. The issue was
something like:
expr = sin(a)/tan(a)
expr.subs(a, 0)
nan
expr =
The code I'm working on in sympy.physics.mechanics often results in large
expressions (100,000 + operations, biggest I've seen was 31,000,000
operations). Once these expressions are obtained, we often need to
substitute in values/symbols (this is the operating point). However, due to
the
more natural to me too.
Should we make a convenience function that does this? I think this use
of jacobian would be lost on most people.
Aaron Meurer
On Sat, Jun 14, 2014 at 6:29 PM, James Crist cris...@umn.edu
javascript: wrote:
It's just the convention I'm most used to. Systems
-5, Aaron Meurer wrote:
That's a clever trick. I should have thought of that.
Is there any reason you let system = A*x - B instead of A*x + B? The
latter seems more natural.
Aaron Meurer
On Sat, Jun 7, 2014 at 12:28 AM, James Crist cris...@umn.edu
javascript: wrote:
I just answered
I just answered this on gitter earlier today, but you can just take the
jacobian of the system to get its matrix form. For example:
In [1]: from sympy import *
In [2]: a, b, c, d = symbols('a, b, c, d')
In [3]: x1, x2, x3, x4 = symbols('x1:5')
In [4]: x = Matrix([x1, x2, x3, x4])
In [5]:
On Wednesday, May 28, 2014 8:42:34 PM UTC-5, moorepants wrote:
Jason
moorepants.info
+01 530-601-9791
On Wed, May 28, 2014 at 12:06 PM, James Crist cris...@umn.edujavascript:
wrote:
I'm working on methods to linearize the equations of motion (EOM)
generated
knowledge on Linearization procedures.(Since I am not a mechanics major, I
do not have much knowledge on the things). I want to be helpful with other
aspects(other than visualizations).
It shall be really helpful for me.
Thanks
Tarun Gaba
On Thu, May 29, 2014 at 8:27 PM, James Crist cris
I'm working on methods to linearize the equations of motion (EOM) generated
in sympy.physics.mechanics. The goal is to have a function `linearize` that
can take in a `KanesMethod`, `LagrangesMethod`, or any other system of
equations (and ideally a matrix of equations, I think that can work
I just submitted a draft to sympy on melange. It said successfully saved,
but I can't see my proposal in my submissions. In case it didn't work,
here's a link to the current draft:
Tried it again, and this time it worked. I look forward to hearing your
comments.
-Jim
On Saturday, March 15, 2014 2:24:57 PM UTC-5, Avichal Dayal wrote:
I submitted my proposal. Hope there are no issues except the formatting
ones. Please review when you have time.
Thank You!
--
You
All,
I have a rough draft of my GSoC proposal up
herehttps://github.com/pydy/pydy/wiki/GSoC-2014-Application:-Jim-Crist-%28Linearization-Routines-for-Equations-of-Motion%29.
It would be great if I could get some constructive criticism on how to
improve it. I also am wondering what people
71 matches
Mail list logo