Re: [sympy] How Python could improve to better support something like Sympy?

2018-01-16 Thread Richard Fateman
things that Python gets wrong started getting on my way and I > certainly wouldn't like to get things wrong that Python got right, but I > guess I can't avoid it more than getting things wrong that Python got wrong. > > I did look into NumPy a bit, but like Richard Fateman did before you

[sympy] Re: How Python could improve to better support something like Sympy?

2018-01-15 Thread Richard Fateman
It might be useful to list the points of friction that you are aware of in the design of python with respect to use in sympy, to see if people have work-arounds that you might have missed, or to encourage people to point out solutions that exist in alternative languages that already exist.

Re: [sympy] expressing f(x)/g(x) as a polynomial

2018-01-08 Thread Richard Fateman
Presumably det() is using a method which requires exact division / cancellation with polynomials, so it will work if all those floats are converted to rationals and the arithmetic done exactly. The results will typically be numbers with many many digits. There are many papers on different

[sympy] collecting suggestions for a format for "introducing myself"

2017-12-17 Thread Richard Fateman
Instead of just informing us of your name and a question "how can I help?" perhaps such messages could include (a) level of familiarity with python (years of programming, previous projects) (b) mathematical education level (high school / ... / PhD?) (c) particular expertise (physics? biology?

Re: [sympy] Re: Rational function factor cancellation in simplify

2017-10-24 Thread Richard Fateman
What is the rationale (not rational :) ) for simplifying asin(sin(x)) to x ? I suppose one rationale is that you haven't really looked at the consequence and therefore think it is a good idea. But it is a bad idea. Also log(exp(x)) --> x is a bad idea. The reason is, asin and log are

Re: [sympy] Re: Rational function factor cancellation in simplify

2017-10-19 Thread Richard Fateman
apologies for apparently responding to myself. This link may provide a useful, if somewhat long-winded explanation. http://people.bath.ac.uk/masjhd/Slides/CalculemusSchool2002.pdf >> -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe

Re: [sympy] Re: Rational function factor cancellation in simplify

2017-10-19 Thread Richard Fateman
Another way of explaining this is to say that sympy (and all its competitors) implement arithmetic in a field of fractions, in which that cancellation is valid. The perspective of abstract algebra provides a computational framework for polynomials and rational functions. See for example

Re: [sympy] sympy 1.1 performance

2017-07-28 Thread Richard Fateman
Sometimes programs get slower because they are getting smarter. It often happens in the other direction --- especially in symbolic mathematics systems. That is, someone writes a new program that does "the same thing" as an existing program, but much faster. The reality may be that the new

Re: [sympy] how to convert latex expression into sympy expression?

2017-06-22 Thread Richard Fateman
see, for example, https://people.eecs.berkeley.edu/~fateman/papers/mly-psmath.pdf for a discussion. It is really a consideration of "optical character recognition" of math equations, where the characters are mostly perfectly represented, and the spacing is perfectly represented. But what is

[sympy] Re: We starting artificial intelligence project using sympy

2017-05-25 Thread Richard Fateman
What ideas or past work from "artificial intelligence" do you believe will be relevant to your work? On Monday, May 22, 2017 at 9:16:28 AM UTC-7, Tayyip yetiş wrote: > > Hi, > We starting artificial intelligence project using sympy. > MindRun Project is an artificial intelligence application for

Re: [sympy] Re: Minimize number of arithmetic operations

2017-04-15 Thread Richard Fateman
for what it is worth (1) rearranging expressions does not guaranteed that they will evaluate to the same values, given floating-point data. (2) this ad hoc searching for common subexpressions is not going to extract the best way of evaluating (say) polynomials that can be factored, or can be

Re: [sympy] Re: GSoC Idea: Rubi integrator

2017-03-17 Thread Richard Fateman
.. I said you could snarf down huge > piles of "application" code -- at least at some superficial level -- > and then cut in the sympy alternatives as necessary for the > application,. > > which is what Mathics might do, if my understanding of the documentation is correct. I have not tried

Re: [sympy] Re: GSoC Idea: Rubi integrator

2017-03-17 Thread Richard Fateman
TLDR. 1. The difference between an if-then-else tree and "pattern matching" is two-fold. (a) The "pattern matching" is probably referring to a purely rule-driven algorithm, where each time there is a transformation, the rule set is re-applied again. A clever system will only look at the rules

Re: [sympy] Re: GSoC Idea: Rubi integrator

2017-03-10 Thread Richard Fateman
There is a version of Albert Rich's project that uses if-then-else rather than a rule set. Writing a pattern matcher that mimicks Mathematica's pattern matcher would be irrelevant if you used that alternative. On the other hand, mimicking Mathematica might have other uses. There are at least

[sympy] Re: simple question

2016-10-30 Thread Richard Fateman
Hi Marco. I suggest you learn to use the "subject" line for something relevant. -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com.

[sympy] Re: Simplify complex expression

2016-09-05 Thread Richard Fateman
There are 4 values for (-1)^(1/4) and there are 2 values for sqrt(-I). the Maxima program has a command cabs() that returns 1/2 for this expression. Figure out what cabs does, and you are set. :) On Sunday, September 4, 2016 at 9:16:31 AM UTC-7, bsdz wrote: > > Hi > > Can anyone recommend a

Re: [sympy] Re: Left hand limits and Right hand limits

2016-08-14 Thread Richard Fateman
it, it >> can be replaced with 0, which is what SymPy's limit() appears to be doing. >> I am curious how you are ending up with an expression with a DiracDelta >> that you need to take a limit of, though. >> >> Aaron Meurer >> >> On Sat, Aug 13, 2016 at 8:34 P

[sympy] Re: Left hand limits and Right hand limits

2016-08-13 Thread Richard Fateman
Since DiracDelta is a distribution, not a function, and presumably the limit program is oriented toward finding limits of analytic functions, it would be fairly reasonable for the limit program to not work on this kind of expression. The mathematical context in which DiracDelta is understood and

[sympy] Re: random expression generation

2016-07-25 Thread Richard Fateman
This strikes me as a rather weak idea from a genetic algorithms point of view. but you can create expressions by a recursive algorithm (given some chosen maximum length) from the root by picking an operation at each level, knowing the number of operands each takes. On Monday, July 25, 2016

[sympy] Re: Automatic simplification leads to wrong results in domain determination

2016-06-26 Thread Richard Fateman
Maybe you are mischaracterizing what you are doing, but in my view you don't determine the domain and range of a function by looking at its defining expression. That is something that is part of the definition of the function. What is the domain of sin()? Well, it could be the reals, it

Re: [sympy] Re: Testing an expression

2016-06-11 Thread Richard Fateman
(or whatever it is > manualintegrate already uses) > > More general cases, say if p is a sum and the term is expanded, may > require further simplification functions like powsimp() to bring it > into canonical form. > > Aaron Meurer > > > On Thu, Jun 9, 2016 at 5:2

[sympy] Re: is there an algorithm to guess list operation if given two integers

2016-06-10 Thread Richard Fateman
1. You really need to tighten up the specification for what this algorithm is supposed to do. 2. Probably brute force search will do the job, if you are talking about the typical puzzle that I am guessing you mean. On Thursday, June 2, 2016 at 8:22:41 PM UTC-7, meInvent bbird wrote: > > is

[sympy] Re: Testing an expression

2016-06-09 Thread Richard Fateman
). This all works in Maxima; not sure how if it works in sympy. RJF On Wednesday, June 8, 2016 at 7:54:05 PM UTC-7, Richard Fateman wrote: > > I suggest you get rid of all factors not dependent on x by scanning > through each term in a product, if you have a product. > then you ne

[sympy] Re: Testing an expression

2016-06-08 Thread Richard Fateman
I suggest you get rid of all factors not dependent on x by scanning through each term in a product, if you have a product. then you need only find if the expression is R= (e+f*x)^p. compute t A= taylor series expansion around 0 of R and B=taylor series of diff(R,x). Some algebra should get you

Re: [sympy] Re: Derivative without Simplification

2016-06-07 Thread Richard Fateman
I think you are merely trying to find common subexpressions to speed up evaluation. There are lots of ways to do that. The simplest is to precompute sin(t), cos(t), exp(t) or whatever non-elementary functions are involved. Then you can also consider using horner's rule or something like

[sympy] Re: Derivative without Simplification

2016-06-06 Thread Richard Fateman
I don't understand why you need it, but you could write your own differentiation program without simplification in about 1/2 page of code. http://dl.acm.org/citation.cfm?id=307341=796040025=79612797 On Wednesday, June 1, 2016 at 6:34:28 AM UTC-7, Michi S wrote: > > Hello! > > Is there a way to

[sympy] Re: GSOC - Natural Input Parser

2016-03-19 Thread Richard Fateman
I suggest you first study ambiguous grammars and how to parse them. Here's one paper http://www.cs.berkeley.edu/~fateman/papers/ambigmath.pdf but there are others that you can find. It is not a case of "writing a program" but solving the problem. Is fx the same as f*x or f(x)?What about

Re: [sympy] Mathematical equality of objects or expression in SymPy

2016-01-16 Thread Richard Fateman
Lisp answers this question by having a bunch of equality predicates. EQ is true if the objects are identical in the sense of occupying the same memory location. EQUAL tests for equal trees, where the nodes are EQ = is a test for numerical equality 1.0d0 and 1 for example. There are also

[sympy] Re: Learning algorithms used in sympy

2016-01-10 Thread Richard Fateman
I think it is nicer in the original Lisp. The data is simply stuff like ( plus (times x (expt y -1)) 4) for x/y+4. On Wednesday, December 30, 2015 at 12:37:33 PM UTC-8, Upendra Kumar wrote: > > Thanks, this link cleared the picture on what happens behind. > -- You received this

[sympy] Re: factorial(n)*(n+1) rewriting

2015-06-20 Thread Richard Fateman
I thiink this hack is pretty worthless unless you have a better notion of one more than. e.g. factorial( (n-1)*(n+1)) * n^2 is factorial(n^2), right? On Thursday, June 18, 2015 at 2:19:21 AM UTC-7, Gaurav Dhingra wrote: Hi all I was looking on the issue

Re: [sympy] Improvements to how series are represented

2015-02-11 Thread Richard Fateman
I haven't studied all the notes prior to this, but it may be helpful to look at Macsyma/ Maxima. Series can be extended to several variables in different ways, e.g. series in x to order xn with coefs as series in y to order yn etc or to total order that is degree in(x) + degree in (y) +

Re: [sympy] Schoonschip, probably the first CAS

2015-02-06 Thread Richard Fateman
I would not think it was the first CAS... but maybe the first at something.. There were quite a few systems way back then. A big conference with lots of system descriptions in papers was held in 1966. The structure of the Lisp simplifier written by Knut Korsvold (circa 1963) is still in

[sympy] Re: sympy vs. maxima (call for sober arguments?)

2015-01-15 Thread Richard Fateman
Typically the best system to use is the one that your colleagues (in the same application area, or company, or school) are using. In the case of a textbook for electrical engineering graduate students, I would expect them to know Matlab. They might know FORTRAN. They might know Python. They

Re: [sympy] Re: transcendental equation solving

2015-01-06 Thread Richard Fateman
There has been extensive discussion over the years and continuing to today about what should be done when a computer algebra system is asked to solve sometime. The Maxima system mailing list, Mathematica stackexchange, and years of, well, mulling over what to do when (say) there are an

Re: [sympy] A modest proposal for typed expressions

2014-12-20 Thread Richard Fateman
Thanks for the detailed explanation. I hope my further elaboration will be of some use... On Friday, December 19, 2014 8:02:04 PM UTC-8, Aaron Meurer wrote: On Thu, Dec 18, 2014 at 5:47 PM, Richard Fateman fat...@gmail.com javascript: wrote: Please forgive me if this is off track -- I've

Re: [sympy] A modest proposal for typed expressions

2014-12-18 Thread Richard Fateman
Please forgive me if this is off track -- I've never used assumptions in sympy, and don't know much about sympy implementation. But here's a problem that has come up in a number of other computer algebra system that are (in some way) linked to a programming language. If you say something about

Re: [sympy] Sympy assumptions

2014-12-15 Thread Richard Fateman
On Saturday, December 13, 2014 6:08:58 AM UTC-8, Joachim Durchholz wrote: Am 13.12.2014 um 06:27 schrieb Richard Fateman: On Thursday, December 11, 2014 8:16:09 AM UTC-8, Joachim Durchholz wrote: Am 11.12.2014 um 00:40 schrieb Richard Fateman: 1994 paper by Adam Dingle

Re: [sympy] Sympy assumptions

2014-12-12 Thread Richard Fateman
On Thursday, December 11, 2014 8:16:09 AM UTC-8, Joachim Durchholz wrote: Am 11.12.2014 um 00:40 schrieb Richard Fateman: 1994 paper by Adam Dingle and Richard Fateman Branch Cuts in Computer Algebra, (ISSAC '94 proceedings. also search online). That paper assumes that everything

Re: [sympy] Sympy assumptions

2014-12-10 Thread Richard Fateman
1994 paper by Adam Dingle and Richard Fateman Branch Cuts in Computer Algebra, (ISSAC '94 proceedings. also search online). When you say things about sqrt(), does it generalize to cuberoot? If it does not, you are in trouble, or will be down the road. What is the principal value of (1)^(1/6

Re: [sympy] Writing a fast pattern matcher, updates and questions

2014-12-01 Thread Richard Fateman
On Sunday, November 30, 2014 12:30:02 PM UTC-8, Joachim Durchholz wrote: snip... Partial evaluation isn't doable at all. I don't know what you mean by partial evaluation. Difference between lazy and eager evaluation. Is this something you think that Lisp does? Maybe

Re: [sympy] Writing a fast pattern matcher, updates and questions

2014-11-30 Thread Richard Fateman
On Sunday, November 30, 2014 1:52:08 AM UTC-8, Joachim Durchholz wrote: Am 30.11.2014 um 06:53 schrieb Richard Fateman: First-class functions are easy in Python (easier than in C/C++). OK, I thought I read somewhere about some limitations. What you can't do easily is macros. There's

Re: [sympy] Writing a fast pattern matcher, updates and questions

2014-11-29 Thread Richard Fateman
On Friday, November 28, 2014 9:25:01 PM UTC-8, Joachim Durchholz wrote: Am 29.11.2014 um 02:44 schrieb Richard Fateman: On Thursday, November 27, 2014 10:35:34 PM UTC-8, Joachim Durchholz wrote: Awesome. The papers I've read have been almost exclusively from the theorem

Re: [sympy] Writing a fast pattern matcher, updates and questions

2014-11-29 Thread Richard Fateman
On Saturday, November 29, 2014 8:29:56 AM UTC-8, Aaron Meurer wrote: big snip . Another question is, how can you teach the pattern matcher that a function maps to an identity, like cos(a)*x can match x with a = 0, or x**a*y can match y with a = 0? You can do this (trivially)

Re: [sympy] Writing a fast pattern matcher, updates and questions

2014-11-29 Thread Richard Fateman
compiler and matrun.lisp is its runtime support. RJF On Saturday, November 29, 2014 9:58:10 PM UTC-8, Richard Fateman wrote: On Saturday, November 29, 2014 8:29:56 AM UTC-8, Aaron Meurer wrote: big snip . Another question is, how can you teach the pattern matcher that a function

Re: [sympy] Writing a fast pattern matcher, updates and questions

2014-11-28 Thread Richard Fateman
On Thursday, November 27, 2014 7:49:30 PM UTC-8, James Crist wrote: 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?

Re: [sympy] Writing a fast pattern matcher, updates and questions

2014-11-28 Thread Richard Fateman
On Thursday, November 27, 2014 10:35:34 PM UTC-8, Joachim Durchholz wrote: Awesome. The papers I've read have been almost exclusively from the theorem proving world. I think you should be mostly fine working off these. I disagree, unless you are able to find much better papers

[sympy] Re: Mathematica parser error ,bug ?

2014-11-27 Thread Richard Fateman
Does sympy really spell simplify without the L? On Thursday, November 27, 2014 5:29:16 AM UTC-8, Francesco Bonazzi wrote: On Thursday, November 27, 2014 2:28:11 PM UTC+1, Francesco Bonazzi wrote: your_mathematica_expr = '((-2x+5)(4x-1)-4(-x^2+5x+1))/(4x-1)^2' new_math_expr =

Re: [sympy] Writing a fast pattern matcher, updates and questions

2014-11-27 Thread Richard Fateman
There's a long history of pattern matching fast including work by Richard Jenks, (Scratchpad, predecessor of Axiom). The general scheme is to take a collection of patterns and compile them into a tree form so that partial results from pattern 1 can be used to improve speed on pattern 2, etc.

[sympy] Re: Mathematica parser error ,bug ?

2014-11-27 Thread Richard Fateman
answering my own question ... oh it is creating a sympy object, not simplifying. Sorry for the noise. 'RJF On Thursday, November 27, 2014 11:46:39 AM UTC-8, Richard Fateman wrote: Does sympy really spell simplify without the L? -- You received this message because you are subscribed

Re: [sympy] A goof-up in symbolic math software

2014-11-08 Thread Richard Fateman
On Tuesday, November 4, 2014 2:48:02 PM UTC-8, Joachim Durchholz wrote: Am 04.11.2014 um 20:36 schrieb Richard Fateman: On Tuesday, November 4, 2014 1:02:54 AM UTC-8, Joachim Durchholz wrote: Obviously, Red Hat does not exist in your reality. It does; don't

Re: [sympy] A goof-up in symbolic math software

2014-11-04 Thread Richard Fateman
On Monday, November 3, 2014 4:56:29 PM UTC-8, Matthew Brett wrote: Hi, On Mon, Nov 3, 2014 at 2:03 PM, Richard Fateman fat...@gmail.com javascript: wrote: On Monday, November 3, 2014 1:26:18 AM UTC-8, Joachim Durchholz wrote: Am 03.11.2014 um 03:56 schrieb Richard Fateman

Re: [sympy] A goof-up in symbolic math software

2014-11-04 Thread Richard Fateman
On Tuesday, November 4, 2014 1:02:54 AM UTC-8, Joachim Durchholz wrote: Obviously, Red Hat does not exist in your reality. It does; don't they deliver Pizza? Oh, sorry,. yes I heard of them. Nor the people who are doing SymPy, for example. They get paid big bucks?? Or... why are

Re: [sympy] A goof-up in symbolic math software

2014-11-04 Thread Richard Fateman
at 4:59 PM, Sergey B Kirpichev skirp...@gmail.com javascript: wrote: On Mon, Nov 03, 2014 at 02:39:41PM -0800, Richard Fateman wrote: I checked with Gradshteyn and Rhyzik (1960, revised various times later), and they define sum if nm to be zero. Yes, that's a different convention

Re: [sympy] A goof-up in symbolic math software

2014-11-04 Thread Richard Fateman
On Tuesday, November 4, 2014 12:57:08 PM UTC-8, Aaron Meurer wrote: On Tue, Nov 4, 2014 at 1:48 PM, Richard Fateman fat...@gmail.com javascript: wrote: I think your citing of Karr's paper is OK; the more modern notation seems to be sum (i in the set{M} of f(i)) which avoids

Re: [sympy] A goof-up in symbolic math software

2014-11-04 Thread Richard Fateman
On Tuesday, November 4, 2014 1:02:45 PM UTC-8, Aaron Meurer wrote: Your advice is appreciated, but it would be helpful if you actually took the time to look at what SymPy does, instead of just ranting blindly. I read what people write here. I make some assumptions, true. It feels

Re: [sympy] A goof-up in symbolic math software

2014-11-03 Thread Richard Fateman
On Monday, November 3, 2014 1:26:18 AM UTC-8, Joachim Durchholz wrote: Am 03.11.2014 um 03:56 schrieb Richard Fateman: There is a difference in the size of the user base and there is a difference in the sophistication of the code. The Cathedral and the Bazaar essay doesn't work

Re: [sympy] A goof-up in symbolic math software

2014-11-03 Thread Richard Fateman
On Monday, November 3, 2014 4:30:11 AM UTC-8, Sergey Kirpichev wrote: On Sun, Nov 02, 2014 at 06:56:31PM -0800, Richard Fateman wrote: The Cathedral and the Bazaar essay doesn't work if bugs do not become shallow with enough eyes. I'm giving up. Probably, I newer can understand

Re: [sympy] A goof-up in symbolic math software

2014-11-02 Thread Richard Fateman
On Sunday, November 2, 2014 3:06:20 AM UTC-8, Sergey Kirpichev wrote: On Sat, Nov 01, 2014 at 09:22:06PM -0700, Richard Fateman wrote: Why this is impossible for open-source programs? It is not impossible, but I am unaware of (unpaid) maintainers of open-source

Re: [sympy] A goof-up in symbolic math software

2014-11-01 Thread Richard Fateman
On Saturday, November 1, 2014 5:02:30 AM UTC-7, Sergey Kirpichev wrote: On Fri, Oct 31, 2014 at 11:45:19AM -0700, Richard Fateman wrote: For closed-source commercial programs it is possible to report a bug and have an expert resolve the problem accurately and promptly. Why

Re: [sympy] A goof-up in symbolic math software

2014-11-01 Thread Richard Fateman
On Saturday, November 1, 2014 2:00:17 PM UTC-7, Aaron Meurer wrote: On Thu, Oct 30, 2014 at 5:49 PM, Richard Fateman fat...@gmail.com javascript: wrote: On Tuesday, October 28, 2014 9:30:19 AM UTC-7, Aaron Meurer wrote: Being open source is definitely a plus for SymPy here

Re: [sympy] A goof-up in symbolic math software

2014-10-31 Thread Richard Fateman
On Friday, October 31, 2014 10:30:52 AM UTC-7, Sergey Kirpichev wrote: On Friday, October 31, 2014 1:49:23 AM UTC+3, Richard Fateman wrote: If they knew anything about debugging and SymPy, which is not so probable. The point is - it's ultimately improbable for closed-source program

Re: [sympy] Re: Formal methods are not human one

2014-10-31 Thread Richard Fateman
this example... Maybe solving some polynomial of degree 3 can give such complicated formulas that a human would not use. Christophe BAL 2014-10-30 23:53 GMT+01:00 Richard Fateman fat...@gmail.com javascript:: There are even simpler examples. For instance, some systems multiply

Re: [sympy] A goof-up in symbolic math software

2014-10-30 Thread Richard Fateman
On Tuesday, October 28, 2014 9:30:19 AM UTC-7, Aaron Meurer wrote: Being open source is definitely a plus for SymPy here. The authors could have stepped through SymPy with a debugger to help figure out their problem, and submitted a pull request for a fix once they found it. If they

[sympy] Re: Formal methods are not human one

2014-10-30 Thread Richard Fateman
There are even simpler examples. For instance, some systems multiply polynomials by some evaluation/interpolation scheme in finite fields. Or by FFT or by so-called Karatsuba or Cooke-Toom methods or a Kronecker method evaluating a polynomial to a single huge integer... Risch integration is

[sympy] Re: Looking for wrong results

2014-10-30 Thread Richard Fateman
On Wednesday, October 29, 2014 3:38:47 AM UTC-7, Christophe Bal wrote: Hello. I'm writing a french book about SageMathCloud and I'm looking for known wrong results given by Sage or Sympy due to floats calculations, or due to the formal method used. Do you know such things ? My idea is to

Re: [sympy] LaTeX expresentation as input in SymPy

2014-10-26 Thread Richard Fateman
Demo ware by necessity. How can you distinguish (d*y)/ (d*x)from diff(y,x) written as \frac{dy}{dx} ? And it gets worse as notation gets more subtle. sure you can do a+b*c. Why not allow speech input? RJF On Friday, October 24, 2014 2:27:48 PM UTC-7, Aaron Meurer wrote: We don't have

[sympy] Re: Use camera to read equations

2014-10-22 Thread Richard Fateman
Math InputPanel and InftyReader both work OK, but not perfect by any means. I would expect this program to work only on very clean images well focused and within its probably quite limited domain of known notation. That is, excellent demo-ware but probably not ready for prime time. This

Re: [sympy] Re: Evaluate Integral

2014-10-19 Thread Richard Fateman
; this should be one of the more straightforward parts. Good luck RJF On Wed, Oct 15, 2014 at 2:20 PM, Richard Fateman fat...@gmail.com javascript: wrote: On Sunday, October 12, 2014 1:27:27 PM UTC-7, Aaron Meurer wrote: I don't think integrate() tries any simplification. Ideally

Re: [sympy] Re: Evaluate Integral

2014-10-15 Thread Richard Fateman
On Sunday, October 12, 2014 1:27:27 PM UTC-7, Aaron Meurer wrote: I don't think integrate() tries any simplification. Ideally it shouldn't have to. Why not? It seems to me quite the opposite. That is, integration is much easier if the input is first converted to some canonical form

Re: [sympy] mathematica to sympy

2014-10-08 Thread Richard Fateman
There are at least 2 open source parsers for Mathematica code. The trivial stuff -- parsing x Sin[x] intox*sin(x) equivalent could be done by following directions in any intro to compilers book. The rest of the stuff, which requires pattern matching, simplification, and a whole collection

Re: [sympy] Re: Why 1/3 == S(1)/3 is True ?

2014-10-04 Thread Richard Fateman
computational structure in sympy that is closed under cosine()? 2014-10-03 5:43 GMT+02:00 Richard Fateman fat...@gmail.com javascript: : On Thursday, October 2, 2014 11:11:14 AM UTC-7, Christophe Bal wrote: And what about the following code ? The user of Sympy must know that types are different

[sympy] Re: Why 1/3 == S(1)/3 is True ?

2014-10-02 Thread Richard Fateman
Lisp has a variety of equality testing predicates. EQ for same memory location = for numeric equality There's also EQL, EQUAL, CHAR=, STRING=. ... One of the benefits of NOT having infix syntax for relations like = is that it puts these others on a more equal footing, language-wise. I

Re: [sympy] Re: Why 1/3 == S(1)/3 is True ?

2014-10-02 Thread Richard Fateman
On Thursday, October 2, 2014 11:11:14 AM UTC-7, Christophe Bal wrote: And what about the following code ? The user of Sympy must know that types are different and so that the variable are not the same things. A float is not a rational. A float type is a different type from some other

Re: [sympy] Pattern matching and mathematical-awareness

2014-09-04 Thread Richard Fateman
On Tuesday, September 2, 2014 11:17:35 PM UTC-7, Joachim Durchholz wrote: Am 03.09.2014 um 02:07 schrieb Richard Fateman: Sure. Unlikely to be easy to do by simply hacking on trees. Here's a classic pattern: a*x^2+b*x+c.a,b,c are pattern variables. x, in this context

[sympy] Re: Symbolic simplification of large trig expressions

2014-09-02 Thread Richard Fateman
I have not looked at your expression, however it may be that the methods used for so-called Poisson Series in celestial mechanics and mathematically analogous computations will solve your problems in a jiffy. Maxima has Poisson series, which are special canonical forms for sums of sines and

Re: [sympy] Pattern matching and mathematical-awareness

2014-09-02 Thread Richard Fateman
On Monday, September 1, 2014 10:21:25 PM UTC-7, Joachim Durchholz wrote: Am 02.09.2014 um 05:58 schrieb Richard Fateman: you could read about inherited and synthesized attributes (usually in relation to intermediate expression trees in the theory of compiling.) Heh. I don't need

Re: [sympy] Pattern matching and mathematical-awareness

2014-09-02 Thread Richard Fateman
On Tuesday, September 2, 2014 12:23:31 PM UTC-7, Joachim Durchholz wrote: The makers of RUBI insist that no two rules of a rule set can ever apply to the same subexpression. That's draconic, and verifying that would be, erm, interesting. I'm not sure whether that's worth it, but they do

[sympy] Re: Pattern matching and mathematical-awareness

2014-09-01 Thread Richard Fateman
You could read about unification, unification with identity, associativity, etc. You could add solving as a method of matching but probably you don't want to use this routinely. Maxima's matcher does a little of this and most people find it surprising. I think it would be unfortunate if you

Re: [sympy] Pattern matching and mathematical-awareness

2014-09-01 Thread Richard Fateman
I think that to understand why this is unlikely, you could read about inherited and synthesized attributes (usually in relation to intermediate expression trees in the theory of compiling.) RJF On Monday, September 1, 2014 9:54:36 AM UTC-7, Joachim Durchholz wrote: Am 01.09.2014 um 13:28

Re: [sympy] Apart function

2014-08-21 Thread Richard Fateman
You realize that you cannot express roots of polynomials in terms of radicals generally? Maybe you should figure what you are doing with apart(). If it is integration of rational functions, maybe you should find another path. RJF On Thursday, August 21, 2014 1:05:42 PM UTC-7, Mateusz

[sympy] Re: should complex, non-real, objects be comparable?

2014-08-07 Thread Richard Fateman
What would the result from ab if a and b are not comparable by your rule? false? error? abs(a)abs(b)? On Wednesday, August 6, 2014 8:40:04 AM UTC-7, Chris Smith wrote: Python and SymPy both raise an error for something like I 2*I -- is there a good reason to disallow comparison of

Re: [sympy] Draft for a new pattern matcher

2014-07-30 Thread Richard Fateman
I don't follow... if you can reason about a+b, why can't you reason about lambda(a),a+bor some other variation? Unless the lambda().. is changed into binary code, it is still symbolic-ish. Reasoning about binary can, of course, be done, but people usually don't like to do that. RJF

Re: [sympy] Re: Getting `nan` or `oo` after subs when not simplified

2014-07-18 Thread Richard Fateman
On Wednesday, July 16, 2014 8:35:49 PM UTC-7, James Crist wrote: 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

Re: [sympy] Re: Pattern matching

2014-07-18 Thread Richard Fateman
not mean that a partial solution can't be very handy. Computer algebra systems rely on this. RJF On Thu, Jul 17, 2014 at 6:38 PM, Ondřej Čertík ondrej...@gmail.com javascript: wrote: On Thu, Jul 17, 2014 at 7:27 PM, Richard Fateman fat...@gmail.com javascript: wrote: Rubi is apparently

Re: [sympy] Re: Pattern matching

2014-07-17 Thread Richard Fateman
Rubi is apparently structured so that at any time at most one rule will be applicable, and it should be easy to figure out how to exclude everything else. I think that Albert Rich even expressed the notion that Rubi did not actually need to be structured as rules.. --- just If/then/else The

Re: [sympy] Draft for a new pattern matcher

2014-07-11 Thread Richard Fateman
In addition to Mathics, you could look at MockMMA, free of license restrictions, written in Lisp. Also, the syntactic sugar for patterns in Mathematica goes rather further than x_ for a start, there is x__ and x___. Then there are restrictions on the Head[] of the item matched. Then there are

Re: [sympy] Re: Getting `nan` or `oo` after subs when not simplified

2014-07-11 Thread Richard Fateman
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 not actually zero but computes to zero. And the infs come from machine

Re: [sympy] Draft for a new pattern matcher

2014-07-05 Thread Richard Fateman
On Saturday, July 5, 2014 5:10:26 AM UTC-7, F. B. wrote: On Friday, July 4, 2014 4:12:25 PM UTC, Matthew wrote: Only semi-related, but here is a small pattern matching project. It's strictly for non-associative operators and so not appropriate for SymPy. It does function decently

[sympy] Re: Implementation of equation solvers.

2014-07-02 Thread Richard Fateman
On Wednesday, July 2, 2014 6:32:56 AM UTC-7, Harsh Gupta wrote: The last meeting with Matthew implanted a really cool idea about solving equations. Suppose we have an equation f(x) which has finitely many solution a1, a2, a3, ... an. Then we can say that the solutions of equation f(x) =

[sympy] Re: Series expansion of f(x,y)

2014-06-20 Thread Richard Fateman
I haven't tried your example, so I am guessing what you are doing. BUT... You could read about how other computer algebra systems deal with this problem. For example Maxima has two methods for multiple-variable series, recursive-by-variable or total-degree truncation. I think it is ok to

Re: [sympy] Erroneous series expansion of tan(x)

2014-06-08 Thread Richard Fateman
yes, there is a bug. the terms should start.. - 1/(x-pi/2) + (x-pi/2)/3 + On Saturday, June 7, 2014 9:02:19 PM UTC-7, Ondřej Čertík wrote: The series exists, and has the 1/x term in general, but it is missing the shift by pi/2:

Re: [sympy] Re: Removing the UniversalSet

2014-06-08 Thread Richard Fateman
Here are some comments on sets in CAS http://www.cs.berkeley.edu/~fateman/papers/sets.pdf I think that if you want to deal with subsets of the real numbers you should look at the literature from interval arithmetic to see how you can get your underwear in knots, even with such a simple domain

Re: [sympy] Axiom and Bronstein's source code

2014-06-05 Thread Richard Fateman
I came across this discussion when searching for info on FriCAS and sympy together, and found the comments to be worthy of some response. 1. The Axiom languages do not go back to the 1960s. Anything you might say about them blaming defects on historical ignorance of those ancient times is

Re: [sympy] PRolog Equation Solving System

2014-06-04 Thread Richard Fateman
I suppose my objection to the PRESS program is not the organization per se, It could be that knowledge of mathematics can be encoded procedurally or functionally or as pattern matches or as rules. Frankly, I have my own bias, having worked with several of these. What I object to is the mind

Re: [sympy] PRolog Equation Solving System

2014-06-02 Thread Richard Fateman
On Wednesday, May 28, 2014 9:16:46 PM UTC-7, Aaron Meurer wrote: How does it return invalid results? Does it not check if spurious solutions were introduced through multiplying both sides of an equation? yes. Also, if one is inclined to say that computer programs know things, then

Re: [sympy] PRolog Equation Solving System

2014-05-28 Thread Richard Fateman
You could look at it, but I think that, unless it has been changed since I last looked, it has nothing at all to offer vs. an algorithmic approach. And some real problems in that it returns answers that are wrong, sometimes. The authors of the program are assuming that the (human?) recipient

Re: [sympy] SciPy talk

2014-05-16 Thread Richard Fateman
You are right! So sorry! I copied the wrong program into my note. Here is a correct version. (Again, Peter's article is fun to read...) (defun ff(n m) (if (= n m) n (*(ff n (+ m m))(ff (- n m) (+ m m) For this one, (ff 10 1) computes 10! and does the following multiplications. (ff

Re: [sympy] SciPy talk

2014-05-15 Thread Richard Fateman
in the posting. When I try it, I just get regular linear recursion. Presumably there is a typo in my translation or in the original posting. On Saturday, May 3, 2014 4:35:41 PM UTC-7, Richard Fateman wrote: On Tuesday, April 1, 2014 2:58:34 PM UTC-7, Ondřej Čertík wrote: On Mon, Mar 31

Re: [sympy] Easy/newbie question on default simplification behavior

2014-05-15 Thread Richard Fateman
I think the issue is really one of the computational domain, and whether the cancellation is always valid in that domain. In the formal algebraic structure (rational field extended by the indeterminate [x]) the cancellation is valid. The behavior of (x^2-1)/(x-1)is always

Re: [sympy] SciPy talk

2014-05-03 Thread Richard Fateman
On Tuesday, April 1, 2014 2:58:34 PM UTC-7, Ondřej Čertík wrote: On Mon, Mar 31, 2014 at 9:14 PM, Matthew Rocklin mroc...@gmail.comjavascript: wrote: http://www.evanmiller.org/mathematical-hacker.html I reference that blog post pretty often. I fully intend to reference it

  1   2   >