> If you can provide more examples of what you need, I could probably put
> up patches wrapping that functionality fairly easily/quickly.
>
> As a first step, I suppose you need the nops, and ops functions of
> maple. These will be on the top of my todo list.
For inspiration in sympy we currently
Yes, the nops and the ops functions are quite important.
Using ops I can work around quite a lot of missing
functionality because I've done it before in Maple.
I'll know more as I see what ginac/pynac can do.
Thanks,
Tim.
On Aug 26, 2008, at 3:28 AM, Burcin Erocal wrote:
If you can provide
Thanks,
I'll take a look. I'm going to be busy for a few days putting together
a revised CV so I can apply for a sessional position but I'll return
to this right afterwards.
Cheers,
Tim.
On Aug 26, 2008, at 3:22 AM, William Stein wrote:
OK, good. Again, please keep in mind that this is lite
On Tue, 26 Aug 2008 03:10:26 -0400
Tim Lahey <[EMAIL PROTECTED]> wrote:
>
> On Aug 26, 2008, at 1:55 AM, William Stein wrote:
>
> > Do complain if you can't. Also, let meknow if you have trouble
> > installing
> > pynac -- it's very new (1 day old!) so installation might not "just
> > wor
On Tue, Aug 26, 2008 at 12:10 AM, Tim Lahey <[EMAIL PROTECTED]> wrote:
>
> On Aug 26, 2008, at 1:55 AM, William Stein wrote:
>
>> Do complain if you can't. Also, let meknow if you have trouble
>> installing
>> pynac -- it's very new (1 day old!) so installation might not "just work"
>> yet
>> on
On Aug 26, 2008, at 1:55 AM, William Stein wrote:
Do complain if you can't. Also, let meknow if you have trouble
installing
pynac -- it's very new (1 day old!) so installation might not "just
work" yet
on all Sage-supported platforms.
-- William
I managed to install pynac fine on my M
On Mon, Aug 25, 2008 at 10:48 PM, Tim Lahey <[EMAIL PROTECTED]> wrote:
>
> On Aug 26, 2008, at 1:43 AM, William Stein wrote:
>
>>
>> On Mon, Aug 25, 2008 at 10:28 PM, Tim Lahey <[EMAIL PROTECTED]> wrote:
>
>>> It's the "programatically" part that makes it a bit more difficult.
>>> so imagine doing
On Aug 26, 2008, at 1:43 AM, William Stein wrote:
On Mon, Aug 25, 2008 at 10:28 PM, Tim Lahey <[EMAIL PROTECTED]>
wrote:
It's the "programatically" part that makes it a bit more difficult.
so imagine doing this with foo1 through foon and y1 through yn. So,
I need to create y1 through yn a
On Mon, Aug 25, 2008 at 10:28 PM, Tim Lahey <[EMAIL PROTECTED]> wrote:
>
> On Aug 26, 2008, at 1:14 AM, William Stein wrote:
>
>> Sounds good. Unfortunately I don't understand precisely what
>> you're asking for. Do you want to do this?
>>
>> sage: x = var('x', ns=1)
>> sage: from sage.symbolic.
On Aug 26, 2008, at 1:14 AM, William Stein wrote:
Sounds good. Unfortunately I don't understand precisely what
you're asking for. Do you want to do this?
sage: x = var('x', ns=1)
sage: from sage.symbolic.function import function
sage: foo = function('foo',1)
sage: expr = foo(x)^2 + foo(x)-1
On Aug 26, 2008, at 1:24 AM, Robert Dodier wrote:
FWIW Maxima likes to see dy/dx in formulations of
differential equations instead of dy(x)/dx so I think maybe
this problem of whether y is a variable or a function doesn't
really come into play; Maxima can always handle y as a
variable. You cou
Tim Lahey wrote:
> \frac{d}{d t}\left(\frac{\partial L}{\partial \dot{q_i}}\right)
> = \left(\frac{\partial L}{\partial q_i}\right)
>
> where i=1,...,n and L(q_i,\dot{q_i},t). Note that q_i
> is a function of at least t. This is the Euler-Lagrange
> equation. It's the basis for most advanced dyna
You have done a great job highlighting some of the things that are
easy in mathematica and hard in sage. I don't see any answer to your
points in the comments below. I suspect that a fairly serious rewrite
of symbolic expressions will be necessary at some point to help this
situation, but I don'
On Mon, Aug 25, 2008 at 9:59 PM, Tim Lahey <[EMAIL PROTECTED]> wrote:
>
> On Aug 26, 2008, at 12:37 AM, William Stein wrote:
>
>> Well I really hope that you implement a bunch of stuff for inclusion in
>> Sage!
>> So far we have very very very few developers working on symbolic
>> differential equ
On Aug 26, 2008, at 12:37 AM, William Stein wrote:
Well I really hope that you implement a bunch of stuff for inclusion
in Sage!
So far we have very very very few developers working on symbolic
differential equations stuff in Sage. (I.e., none, as far as I know.)
Besides the code I already
On Mon, Aug 25, 2008 at 9:34 PM, Tim Lahey <[EMAIL PROTECTED]> wrote:
>
> On Aug 26, 2008, at 12:23 AM, William Stein wrote:
>>
>> I only meant it as a definition to help clarify the discussion, not
>> as an algorithm. Many thanks for your additional clarification.
>>
>> William
>>
>
> Oh, I misu
On Aug 26, 2008, at 12:23 AM, William Stein wrote:
I only meant it as a definition to help clarify the discussion, not
as an algorithm. Many thanks for your additional clarification.
William
Oh, I misunderstood. If Sage can't take the derivative with respect
to a function, I wouldn't be su
On Mon, Aug 25, 2008 at 8:58 PM, Tim Lahey <[EMAIL PROTECTED]> wrote:
> On Aug 25, 2008, at 11:45 PM, William Stein wrote:
>
>>
>> The chain rule from calculus says that if f(x) = g(h(x)) then
>>
>> df/dx = (dg/dh) * (dh/dx).
>>
>> Dividing both sides by dh/dx we see that
>>
>>
On Aug 25, 2008, at 11:45 PM, William Stein wrote:
The chain rule from calculus says that if f(x) = g(h(x)) then
df/dx = (dg/dh) * (dh/dx).
Dividing both sides by dh/dx we see that
dg / dh = (df /dx) / (dh/dx).
I thus suspect that when you say "differentiate g(h(x))
On Mon, Aug 25, 2008 at 8:40 PM, Tim Lahey <[EMAIL PROTECTED]> wrote:
> Robert,
>
> That's not what I'm looking for (I think).
> The following equation is what I normally deal with
> using LaTeX notation,
>
> \frac{d}{d t}\left(\frac{\partial L}{\partial \dot{q_i}}\right)
> = \left(\frac{\partial
Robert,
That's not what I'm looking for (I think).
The following equation is what I normally deal with
using LaTeX notation,
\frac{d}{d t}\left(\frac{\partial L}{\partial \dot{q_i}}\right)
= \left(\frac{\partial L}{\partial q_i}\right)
where i=1,...,n and L(q_i,\dot{q_i},t). Note that q_i
is a
On Aug 25, 2008, at 8:28 PM, William Stein wrote:
> On Mon, Aug 25, 2008 at 8:25 PM, Robert Bradshaw
> <[EMAIL PROTECTED]> wrote:
>>
>> On Aug 25, 2008, at 8:05 PM, Robert Dodier wrote:
>>
>>> Tim Lahey wrote:
>>>
I presume that Sage can't take a derivative with respect to a
function
>>
On Mon, Aug 25, 2008 at 8:25 PM, Robert Bradshaw
<[EMAIL PROTECTED]> wrote:
>
> On Aug 25, 2008, at 8:05 PM, Robert Dodier wrote:
>
>> Tim Lahey wrote:
>>
>>> I presume that Sage can't take a derivative with respect to a
>>> function
>>> (Maple can't which is why this code is written this way).
>>
On Aug 25, 2008, at 10:32 PM, Robert Dodier wrote:
Dunno if it really matters, but I couldn't resist the opportunity to
translate the function in question to Maxima ...
euler_lagrange (Lagrangian, variables) := block
([num_list, qv_name, vel_var, qv_subs, qv_unsubs, Lagrange_subs1,
Lagran
On Aug 25, 2008, at 8:05 PM, Robert Dodier wrote:
> Tim Lahey wrote:
>
>> I presume that Sage can't take a derivative with respect to a
>> function
>> (Maple can't which is why this code is written this way).
>
> By the way, what do you mean by that? What is the operation that
> you would like
Robert,
Taking the derivative with respect to a function is
something like
diff(L,u(x,t));
and also
diff(L,diff(u(x,t),t));
where L may contain terms with u(x,t) and diff(u(x,t),t).
So, u(x,t) is a function, not just a symbolic variable.
These terms pop up in the Euler-Lagrange equation whic
Tim Lahey wrote:
> I presume that Sage can't take a derivative with respect to a function
> (Maple can't which is why this code is written this way).
By the way, what do you mean by that? What is the operation that
you would like to do, but fails? Thanks for the info.
Robert Dodier
--~--~-
Tim Lahey wrote:
> 3. Somewhat related to #1, is the ability to make new variables/
> function names from old ones. For example, when in the Calculus of
> Variations, I'll create the variation function with a name based on
> the function to be varied (e.g., v(x,y,z,t) to \delta v(x,y,z,t)).
> I a
On Aug 22, 10:43 am, Harald Schilly <[EMAIL PROTECTED]> wrote:
> >>> data = [-1,2,3]
> >>> gt0 = lambda x: x>0 and x or 0
> >>> map(gt0, data)
>
> [0, 2, 3]
>
> in python - or more geeky
>
> >>> map(lambda x: x>0 and x or 0, data)
I'm sorry for derailing the thread a little bit, but this is actua
On Sat, Aug 23, 2008 at 7:19 AM, rjf <[EMAIL PROTECTED]> wrote:
>
>
> 1. There is a public mathematica language parser (version 3.0
> mathematica) that I wrote in common lisp.
> WRI knows about it, inquired about it, made various claims. I
> disputed them. They went away. This apparently
> has l
On Fri, Aug 22, 2008 at 10:19 PM, rjf <[EMAIL PROTECTED]> wrote:
>
>
> 1. There is a public mathematica language parser (version 3.0
> mathematica) that I wrote in common lisp.
> WRI knows about it, inquired about it, made various claims. I
> disputed them. They went away. This apparently
> has
1. There is a public mathematica language parser (version 3.0
mathematica) that I wrote in common lisp.
WRI knows about it, inquired about it, made various claims. I
disputed them. They went away. This apparently
has legal standing to the effect that they gave up so they must not
feel it is in
On Aug 22, 6:33 pm, David Philp <[EMAIL PROTECTED]> wrote:
> map(lambda x: x>0 and x or 0, data)
> > [0, 2, 3]
>
> Can someone translate that "lambda x: x>0 and x or 0" into William's
> "the words in your head" please?
I suspect this is coming from someone who learned python before it
acqui
On 23/08/2008, at 3:43 AM, Harald Schilly wrote:
> For me, python is a different playground than mma and unless there
> isn't a real reason i don't like to import mma syntax - or any other.
I would much prefer to learn the proper python way of doing things
than try to retrofit python to make
On 23/08/2008, at 1:04 AM, Robert Dodier wrote:
> The Mma operators /. #& -> etc are just doing things that might
> just as well be represented as ordinary functions.
> Wouldn't it be much clearer, and much less hackish, to just make
> them functions and stay entirely within Python?
Not function
On Aug 22, 5:04 pm, Robert Dodier <[EMAIL PROTECTED]> wrote:
> William Stein wrote:
> > sage: data = [-1, 2, 3]
> > sage: data = ma_eval('data /. x_?(# < 0 &) -> 0')
> > sage: data
> > [0, 2, 3]
> Wouldn't it be much clearer, and much less hackish, to just make
> them functions and stay
>If someone proposes an implementation I can try and shoot it down or
>improve it. But I don't know sage well enough to know whether there
>is an obvious way to do it all. My guess is that this is a natural
>task for Lisp and the wrong task for Python.
Having worked in both python and lis
> > On Thu, Aug 21, 2008 at 11:28 PM, David Philp
> > <[EMAIL PROTECTED]> wrote:
>
> All the explanations that "sage can do that" have involved python
> lists, because I used names and examples like 'data = {1, 2, 3}'. But
> the power of ReplaceAll (the /. operator) is that it places no
>
William Stein wrote:
> That said, I could certainly see a place in sage for something
> like this:
>
> sage: data = [-1, 2, 3]
> sage: data = ma_eval('data /. x_?(# < 0 &) -> 0')
> sage: data
> [0, 2, 3]
>
> where ma_eval is a function that evaluates a mathematica-style
> expression in th
On 22/08/2008, at 5:27 PM, William Stein wrote:
>
> On Thu, Aug 21, 2008 at 11:28 PM, David Philp
> <[EMAIL PROTECTED]> wrote:
>
>> I hope one can't own such things but I don't want a legal fight.
>
> If I were afraid, then Sage would be nowhere today.
I just don't think Mathematica reimplemen
On Aug 22, 1:41 am, David Philp <[EMAIL PROTECTED]> wrote:
> [MMA syntax] ... I love the fact that it
> doesn't wear down the little fingers on your right hand.
Well, me not on a german keyboard: [, ] and @ need the right alt-key
([] are at 8 and 9) and I think it's better to stick with pythons
> Couldn't stop myself from showing how that would work in Maple,
>
> data:=[-1,2,3]:
> evalindets(data,negative,0);
>
> [0, 2, 3]
Or in more, maybe, readable form,
applyrule(x::negative=0,data);
[0, 2, 3]
Alec
--~--~-~--~--
>> I would be scared of getting sued into oblivion. I would have a
>> lawyer look at the Mathematica EULA before even thinking about it.
>> "WRI is the holder of ... including without limitation... structure,
>> sequence, organization, "look and feel", programming language and
>> compilation of c
On Thu, Aug 21, 2008 at 11:28 PM, David Philp <[EMAIL PROTECTED]> wrote:
>
>
> On 22/08/2008, at 3:34 PM, William Stein wrote:
>
>>
>> On Thu, Aug 21, 2008 at 9:41 PM, Arnaud Bergeron
>> <[EMAIL PROTECTED]> wrote:
>>>
>> data /. x_?(# < 0 &) -> 0 (this is perhaps not the killer example)
>
>>> sage: data = [-1, 2, 3]
>>> sage: [(0 if d < 0 else d) for d in data]
> sage: data = ma_eval('data /. x_?(# < 0 &) -> 0')
Couldn't stop myself from showing how that would work in Maple,
data:=[-1,2,3]:
evalindets(data,negative,0);
[0, 2, 3]
Alec
--~--~
On 22/08/2008, at 3:34 PM, William Stein wrote:
>
> On Thu, Aug 21, 2008 at 9:41 PM, Arnaud Bergeron
> <[EMAIL PROTECTED]> wrote:
>>
> data /. x_?(# < 0 &) -> 0 (this is perhaps not the killer example)
What does that do?
>>>
>>> /. is the pattern replacement operator, _ is a plac
On Thu, Aug 21, 2008 at 9:41 PM, Arnaud Bergeron <[EMAIL PROTECTED]> wrote:
>
>>> > data /. x_?(# < 0 &) -> 0 (this is perhaps not the killer example)
>>>
>>> What does that do?
>>
>> /. is the pattern replacement operator, _ is a placeholder pattern
>> that matches anything, x_ gives this placeho
>> > data /. x_?(# < 0 &) -> 0 (this is perhaps not the killer example)
>>
>> What does that do?
>
> /. is the pattern replacement operator, _ is a placeholder pattern
> that matches anything, x_ gives this placeholder a name so you can use
> it later, ? filters the matches (in this case, everythi
On Aug 21, 7:50 pm, "William Stein" <[EMAIL PROTECTED]> wrote:
> On Thu, Aug 21, 2008 at 4:41 PM, David Philp <[EMAIL PROTECTED]> wrote:
>
> > I don't know how much of the below is possible or available in Sage.
> > But I miss they syntax from Mathematica. I love the fact that it
> > doesn't wear
>> [EMAIL PROTECTED] (elegant, clear, no matching of brackets)
>
> What does that do?
Sorry! I didn't want to go into detail unless people didn't already
know it.
Same as f[data]. Benefit is that you can chain it up really clearly.
[EMAIL PROTECTED]@[EMAIL PROTECTED] is better than f[g[h[x
On 22/08/2008, at 11:10 AM, Ondrej Certik wrote:
> what are the chances that maxima could be made fast, so that people
> intuitively feel it's as fast as mathematica for the problems they
> solve
It may already have been said, but a large part of the reason it feels
slow is that AFAICT maxima
On Fri, Aug 22, 2008 at 1:57 AM, William Stein <[EMAIL PROTECTED]> wrote:
>
> On Thu, Aug 21, 2008 at 11:23 AM, William Stein <[EMAIL PROTECTED]> wrote:
>> On Thu, Aug 21, 2008 at 11:18 AM, Ondrej Certik <[EMAIL PROTECTED]> wrote:
>>> +1, however, how about speed? Are you able to make maxima as fa
On Thu, Aug 21, 2008 at 11:23 AM, William Stein <[EMAIL PROTECTED]> wrote:
> On Thu, Aug 21, 2008 at 11:18 AM, Ondrej Certik <[EMAIL PROTECTED]> wrote:
>> +1, however, how about speed? Are you able to make maxima as fast as
>> ginac? And faster, because (unless I am mistaken) Mathematica is even
>
On Thu, Aug 21, 2008 at 4:41 PM, David Philp <[EMAIL PROTECTED]> wrote:
>
>
> On 22/08/2008, at 5:18 AM, William Stein wrote:
>
>> Please ask questions, make comments, and keep this thread going!
>
> I don't know how much of the below is possible or available in Sage.
> But I miss they syntax from
On 22/08/2008, at 5:18 AM, William Stein wrote:
> Please ask questions, make comments, and keep this thread going!
I don't know how much of the below is possible or available in Sage.
But I miss they syntax from Mathematica. I love the fact that it
doesn't wear down the little fingers on
On Thu, Aug 21, 2008 at 1:13 PM, root <[EMAIL PROTECTED]> wrote:
>
>>MATHEMATICA:
>>Timing[a = Expand[(x^Sin[x] +y^Cos[y] - z^(x+y))^100];]
>> {0.180212, Null}
>>
>>SAGE:
>>sage: time a = expand((x^sin(x) + y^cos(y) - z^(x+y))^100)
>>CPU times: user 0.15 s, sys: 0.00 s, total: 0.15 s
>>
>
>MATHEMATICA:
>Timing[a = Expand[(x^Sin[x] +y^Cos[y] - z^(x+y))^100];]
> {0.180212, Null}
>
>SAGE:
>sage: time a = expand((x^sin(x) + y^cos(y) - z^(x+y))^100)
>CPU times: user 0.15 s, sys: 0.00 s, total: 0.15 s
>
Does this include the time to format and print the output?
Tim
--~--~-
On Thu, Aug 21, 2008 at 11:18 AM, Ondrej Certik <[EMAIL PROTECTED]> wrote:
>
> On Thu, Aug 21, 2008 at 7:39 PM, Robert Dodier <[EMAIL PROTECTED]> wrote:
>>
>> On Aug 20, 11:18 pm, Tim Lahey <[EMAIL PROTECTED]> wrote:
>>
>>> 1. Commands to parse expressions.
>>
>> Maxima has various expression-hack
On Aug 21, 2008, at 2:23 PM, William Stein wrote:
>>
> I'm really sick of this. "Fast" is meaningless without specific
> benchmarks,
> and then only certain ones should matter. Here's a list to get
> going:
>
> http://wiki.sagemath.org/symbench
>
> It would be nice to have
On Thu, Aug 21, 2008 at 11:18 AM, Ondrej Certik <[EMAIL PROTECTED]> wrote:
>
> On Thu, Aug 21, 2008 at 7:39 PM, Robert Dodier <[EMAIL PROTECTED]> wrote:
>>
>> On Aug 20, 11:18 pm, Tim Lahey <[EMAIL PROTECTED]> wrote:
>>
>>> 1. Commands to parse expressions.
>>
>> Maxima has various expression-hack
On Thu, Aug 21, 2008 at 7:39 PM, Robert Dodier <[EMAIL PROTECTED]> wrote:
>
> On Aug 20, 11:18 pm, Tim Lahey <[EMAIL PROTECTED]> wrote:
>
>> 1. Commands to parse expressions.
>
> Maxima has various expression-hacking functions.
> Most objects are expressions.
>
>> 2. Like M. Hampton, I miss implic
On Aug 20, 11:18 pm, Tim Lahey <[EMAIL PROTECTED]> wrote:
> 1. Commands to parse expressions.
Maxima has various expression-hacking functions.
Most objects are expressions.
> 2. Like M. Hampton, I miss implicit variables.
Maxima makes default assumptions about variables,
and doesn't require th
On Aug 21, 2008, at 11:16 AM, William Stein wrote:
>
> By "missing implicit variables", does Tim mean that he really doesn't
> like having to type var('x') and just wants x to be magically defined
> to be symbolic the first time it is used?
Yes, that's ideally what I'd like. I can live with havi
On Thu, Aug 21, 2008 at 2:21 AM, Harald Schilly
<[EMAIL PROTECTED]> wrote:
>
> On Aug 21, 7:18 am, Tim Lahey <[EMAIL PROTECTED]> wrote:
>
>> 2. Like M. Hampton, I miss implicit variables. ...
>
> One thing I came across is, that symbolic expressions with predefined
> variables (i.e. they are not v
On Aug 21, 7:18 am, Tim Lahey <[EMAIL PROTECTED]> wrote:
> 2. Like M. Hampton, I miss implicit variables. ...
One thing I came across is, that symbolic expressions with predefined
variables (i.e. they are not variables) confuse someone when used in
functions.
for example
x = 5
solve([x^2==3], x)
On Thu, Aug 21, 2008 at 7:18 AM, Tim Lahey <[EMAIL PROTECTED]> wrote:
>
> Since M. Hampton mentioned some of the things he missed in Sage, I
> thought I'd talk about the things that prevent me from using Sage for
> many things.
>
> 1. Commands to parse expressions. I regularly pull apart expressio
66 matches
Mail list logo