You can subscribe to this list here.
2014 
_{Jan}

_{Feb}
(232) 
_{Mar}
(323) 
_{Apr}
(383) 
_{May}
(359) 
_{Jun}
(435) 
_{Jul}
(252) 
_{Aug}
(172) 
_{Sep}
(265) 
_{Oct}
(263) 
_{Nov}
(350) 
_{Dec}
(359) 

2015 
_{Jan}
(267) 
_{Feb}
(220) 
_{Mar}
(311) 
_{Apr}
(269) 
_{May}
(388) 
_{Jun}
(384) 
_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 







1

2

3

4

5

6

7
(1) 
8

9
(3) 
10
(3) 
11
(1) 
12
(7) 
13
(8) 
14
(13) 
15
(18) 
16
(13) 
17
(11) 
18
(17) 
19
(25) 
20
(22) 
21
(10) 
22
(2) 
23
(16) 
24
(5) 
25
(11) 
26
(10) 
27
(10) 
28
(26) 

From: Robert Dodier <robert.dodier@gm...>  20140228 23:55:48

On 20140228, Dan <djones_cas@...> wrote: > 0000420 ' . \n T r y ` ? ? s i n > 0000440 ' t o s e e t h e m . \n \n > 0000460 > * > 0000520 t r u e \n > 0000532 The asterisk in the od output means that the intervening lines are just the same as the preceding one. In this case, the line starting at offset 460 (octal) comprises 16 spaces, so there are 2 times 16 more spaces, then the one starting at 520 which contains "true". What I see in these output files is that different versions of Maxima output different stuff  it doesn't have anything to do with Java. Is it a problem capturing the stuff  for example, if you execute maxima veryquiet < foo.mac (without redirecting the output) do you see the output which is supposed to follow the output of describe(sin) ? Do you see all of the output if you execute the input script via maxima veryquiet batch=foo.mac or maxima veryquiet batchstring='load("foo.mac");' or maxima veryquiet batchstring='batch("foo.mac");' (These should all work the same, but it is plausible that they might act differently due to subtle bugs.) HTH Robert Dodier 
From: Jinsong Zhao <jszhao@ye...>  20140228 23:10:59

On 2014/2/28 14:59, Raymond Toy wrote: >>>>>> "Jinsong" == Jinsong Zhao <jszhao@...> writes: > > Jinsong> On 2014/2/28 14:24, Thomas D. Dean wrote: > >> On 02/28/14 13:49, Jinsong Zhao wrote: > >> > >> Look at the numerator and denominator: > >> eq:(sqrt(x+1)  sqrt(x))/(sqrt(x+1)+sqrt(x)); > >> num(eq); > >> denom(eq); > >> > >> They are of the form (a+b)/(ab) > >> (a+b)*(ab) expands to a^2  b^2 > >> multiplying the numerator and denominator by the denominator shows promise: > >> > >> num(eq)*denom(eq); > >> ratsimp(num(eq)*denom(eq)); > >> ratsimp(num(eq)*denom(eq))/(denom(eq)*denom(eq)); > > Jinsong> I thought Maxima could automatically do that... > > There's ratsimp(eq),algebraic; but that gives something different (but > equivalent). > > I think that in general if you want a specific form, you have to do it > yourself. I don't see how maxima can read your mind and produce > exactly what you want in general. > > Ray > yes, you are right. I will try to learn more about how to use to produce what I want. Regards, Jinsong 
From: Raymond Toy <toy.raymond@gm...>  20140228 22:59:45

>>>>> "Jinsong" == Jinsong Zhao <jszhao@...> writes: Jinsong> On 2014/2/28 14:24, Thomas D. Dean wrote: >> On 02/28/14 13:49, Jinsong Zhao wrote: >> >> Look at the numerator and denominator: >> eq:(sqrt(x+1)  sqrt(x))/(sqrt(x+1)+sqrt(x)); >> num(eq); >> denom(eq); >> >> They are of the form (a+b)/(ab) >> (a+b)*(ab) expands to a^2  b^2 >> multiplying the numerator and denominator by the denominator shows promise: >> >> num(eq)*denom(eq); >> ratsimp(num(eq)*denom(eq)); >> ratsimp(num(eq)*denom(eq))/(denom(eq)*denom(eq)); Jinsong> I thought Maxima could automatically do that... There's ratsimp(eq),algebraic; but that gives something different (but equivalent). I think that in general if you want a specific form, you have to do it yourself. I don't see how maxima can read your mind and produce exactly what you want in general. Ray 
From: Jinsong Zhao <jszhao@ye...>  20140228 22:38:42

On 2014/2/28 14:24, Thomas D. Dean wrote: > On 02/28/14 13:49, Jinsong Zhao wrote: > > Look at the numerator and denominator: > eq:(sqrt(x+1)  sqrt(x))/(sqrt(x+1)+sqrt(x)); > num(eq); > denom(eq); > > They are of the form (a+b)/(ab) > (a+b)*(ab) expands to a^2  b^2 > multiplying the numerator and denominator by the denominator shows promise: > > num(eq)*denom(eq); > ratsimp(num(eq)*denom(eq)); > ratsimp(num(eq)*denom(eq))/(denom(eq)*denom(eq)); I thought Maxima could automatically do that... > > > The maxima documentaton online at > > http://maxima.sourceforge.net/documentation.html > > provides some help. > > Tom Dean > Thank you very much! Regards, Jinsong 
From: Dan <djones_cas@ou...>  20140228 22:30:13

Robert Dodier <robert.dodier <at> gmail.com> writes: > > On 20140228, Dan <djones_cas <at> outlook.com> wrote: > > > The output is obtained from > > > > maxima veryquiet<maxt.mac >xxx > > Do I understand correctly that the overall procedure is: > > maxima veryquiet < maxt.mac > xxx > java MyProgram < xxx > > ?? > > If so, that makes it a little easier to debug. Can you create the output > file using each version of Maxima, and post the result of od c xxx ? > Then we will be able to see exactly what characters are different (and > presumably causing readLine to get confused). > > > The goal here is to get the output of 'describe' to > > build a corpus of maxima document. > > If so, perhaps you'll consider writing the program in Lisp or even > Maxima itself  I dunno, maybe: > > for s in [sin, cos, tan, ...] do apply (describe, [s]); > > (apply(describe, ...) is a standard workaround because describe quotes > its arguments so describe(s) attempts to describe a topic named "s".) > > HTH > > Robert Dodier > m1.mac is: build_info(); describe(sin); 1+2; With maxima5.30, 'maxima veryquiet<m1.mac >xxx' produces: Maxima version: "5.30.0" Maxima build date: "20130422 13:48:12" Host type: "i386appledarwin11.4.2" Lisp implementation type: "SBCL" Lisp implementation version: "1.0.55.0abb03f9"  Function: sin (<x>)  Sine. There are also some inexact matches for `sin'. Try `?? sin' to see them. true and 'od c xxx' shows: 0000000 \n M a x i m a v e r s i o n 0000020 : " 5 . 3 0 . 0 " \n M a x i m 0000040 a b u i l d d a t e : " 2 0000060 0 1 3  0 4  2 2 1 3 : 4 8 : 0000100 1 2 " \n H o s t t y p e : " 0000120 i 3 8 6  a p p l e  d a r w i 0000140 n 1 1 . 4 . 2 " \n L i s p i m 0000160 p l e m e n t a t i o n t y p 0000200 e : " S B C L " \n L i s p i 0000220 m p l e m e n t a t i o n v e 0000240 r s i o n : " 1 . 0 . 5 5 . 0 0000260  a b b 0 3 f 9 " \n \n   F 0000300 u n c t i o n : s i n ( < x 0000320 > ) \n  S i n e . \n 0000340 \n \n T h e r e a r e a l 0000360 s o s o m e i n e x a c t 0000400 m a t c h e s f o r ` s i n 0000420 ' . \n T r y ` ? ? s i n 0000440 ' t o s e e t h e m . \n \n 0000460 * 0000520 t r u e \n 0000532 Noticed the '*' under 0000460. With maxima5.25, 'maxima veryquiet<m1.mac >xxx' produces: Maxima version: 5.25.1 Maxima build date: 9:14 9/5/2011 Host type: i686appledarwin10.8.0 Lisp implementation type: SBCL Lisp implementation version: 1.0.47  Function: sin (<x>)  Sine. There are also some inexact matches for `sin'. Try `?? sin' to see them. true 3 and 'od c xxx' shows: 0000000 \n M a x i m a v e r s i o n : 0000020 5 . 2 5 . 1 \n M a x i m a b 0000040 u i l d d a t e : 9 : 1 4 0000060 9 / 5 / 2 0 1 1 \n H o s t t y 0000100 p e : i 6 8 6  a p p l e  d 0000120 a r w i n 1 0 . 8 . 0 \n L i s p 0000140 i m p l e m e n t a t i o n 0000160 t y p e : S B C L \n L i s p 0000200 i m p l e m e n t a t i o n v 0000220 e r s i o n : 1 . 0 . 4 7 \n \n 0000240 \n \n   F u n c t i o n : 0000260 s i n ( < x > ) \n 0000300  S i n e . \n \n \n T h e r 0000320 e a r e a l s o s o m e 0000340 i n e x a c t m a t c h e s 0000360 f o r ` s i n ' . \n T r y 0000400 ` ? ? s i n ' t o s e e 0000420 t h e m . \n \n 0000440 0000460 t r u 0000500 e \n 0000520 0000540 3 \n 0000553 Per your suggestion, I tried m2.mac below: build_info(); apply(describe, [sin]); 1+2; on, maxima5.26, 'maxima veryquiet <m2.mac >yyy' produces: Maxima version: "5.30.0" Maxima build date: "20130422 13:48:12" Host type: "i386appledarwin11.4.2" Lisp implementation type: "SBCL" Lisp implementation version: "1.0.55.0abb03f9"  Function: sin (<x>)  Sine. There are also some inexact matches for `sin'. Try `?? sin' to see them. true Notice output contains no result of '1+2'. 'od c yyy' produces: 0000000 \n M a x i m a v e r s i o n 0000020 : " 5 . 3 0 . 0 " \n M a x i m 0000040 a b u i l d d a t e : " 2 0000060 0 1 3  0 4  2 2 1 3 : 4 8 : 0000100 1 2 " \n H o s t t y p e : " 0000120 i 3 8 6  a p p l e  d a r w i 0000140 n 1 1 . 4 . 2 " \n L i s p i m 0000160 p l e m e n t a t i o n t y p 0000200 e : " S B C L " \n L i s p i 0000220 m p l e m e n t a t i o n v e 0000240 r s i o n : " 1 . 0 . 5 5 . 0 0000260  a b b 0 3 f 9 " \n \n   F 0000300 u n c t i o n : s i n ( < x 0000320 > ) \n  S i n e . \n 0000340 \n \n T h e r e a r e a l 0000360 s o s o m e i n e x a c t 0000400 m a t c h e s f o r ` s i n 0000420 ' . \n T r y ` ? ? s i n 0000440 ' t o s e e t h e m . \n \n 0000460 * 0000520 t r u e \n 0000532 the '*' (under 0000460) is sticking out here again. I hope this helps. If more output is needed, please let me know. 
From: Thomas D. Dean <tomdean@wa...>  20140228 22:24:13

On 02/28/14 13:49, Jinsong Zhao wrote: Look at the numerator and denominator: eq:(sqrt(x+1)  sqrt(x))/(sqrt(x+1)+sqrt(x)); num(eq); denom(eq); They are of the form (a+b)/(ab) (a+b)*(ab) expands to a^2  b^2 multiplying the numerator and denominator by the denominator shows promise: num(eq)*denom(eq); ratsimp(num(eq)*denom(eq)); ratsimp(num(eq)*denom(eq))/(denom(eq)*denom(eq)); The maxima documentaton online at http://maxima.sourceforge.net/documentation.html provides some help. Tom Dean 
From: Jinsong Zhao <jszhao@ye...>  20140228 21:49:43

Hi there, Another expression, (sqrt(x+1)  sqrt(x))/(sqrt(x+1)+sqrt(x)) that I hope to simplify to 1/(sqrt(x+1)+sqrt(x))^2 How to work out it? By the way, would you please to point me some documents that can guide me to use Maxima in a more effective way? Thank you very much! Regards, Jinsong 
From: Thomas D. Dean <tomdean@wa...>  20140228 21:16:52

On 02/28/14 08:19, Jaime Villate wrote: I had another version. (%i1) build_info(); (%o1) Maxima version: "5.29.1" Maxima build date: "20130315 16:15:36" Host type: "x86_64unknownlinuxgnu" Lisp implementation type: "GNU Common Lisp (GCL)" Lisp implementation version: "GCL 2.6.7" (%i2) integrate(1/sqrt(1/3s/3),s,0,1); 1 / [ 1 (%o2) I  ds ] 1 s / sqrt(  ) 0 3 3 (%i3) integrate(1/sqrt((1s)/3),s,0,1); (%o3) 2 sqrt(3) Tom Dean 
From: Thomas D. Dean <tomdean@wa...>  20140228 21:12:12

On 02/28/14 08:19, Jaime Villate wrote: (%i2) build_info(); (%o2) Maxima version: "5.30.0" Maxima build date: "20140116 21:05:25" Host type: "x86_64unknownlinuxgnu" Lisp implementation type: "GNU Common Lisp (GCL)" Lisp implementation version: "GCL 2.6.7" (%i3) integrate(1/sqrt(1/3s/3),s,0,1); 1 / [ 1 (%o3) I  ds ] 1 s / sqrt(  ) 0 3 3 (%i4) integrate(1/sqrt((1s)/3),s,0,1); (%o4) 2 sqrt(3) Tom Dean 
From: Jan Hendrik Mueller <jan.mueller@ma...>  20140228 20:39:01

here you are: Am 28.02.2014 um 20:03 schrieb Mario Rodriguez <biomates@...>: > On Fri, 28 Feb 2014 14:04:54 +0100 > Jan Hendrik Mueller <jan.mueller@...> wrote: > >> Hi Mario, >> thanks, that solves the problem! >> If I add „set xyplane at 0“ a negative part of the zaxis is displayed. Is there a way to avoid this? Code below! >> Thanks for help!! >> Jan >> >> load(draw)$ >> wxdraw3d( >> user_preamble = "set view ,,,2 ; set xyplane at 0", >> xrange=[0,5],yrange=[0,5],zrange=[0,10], >> grid=true, >> color=red, >> parametric_surface(s,0,t,s,0,4,t,0,6) >> ); >> >> > > Jan, > > When I run your code the z axis starts just at (0,0,0) as expected, both with wxdraw2d and draw2d. > > Can you send a screenshot to me, please? > >  > Mario 
From: Barton Willis <willisb@un...>  20140228 19:35:51

> Now, I just hope to simplify > log(sqrt(x + 1) + sqrt(x)) + log(sqrt(x + 1)  sqrt(x)) >It should be equal to 2*asinh(sqrt(x)), but I can not work out it in Maxima Try something like this. In some (large) hunk of the complex plane, I think that log(w) = asinh((w^21)/(2*w)). Thus (%i1) algebraic : true; (%o1) true (%i2)  log(sqrt(x + 1) + sqrt(x)) + log(sqrt(x + 1)  sqrt(x)); (%o2) log(sqrt(x+1)sqrt(x))log(sqrt(x+1)+sqrt(x)) (%i3) subst(log = lambda([w], asinh((w^21)/(2*w))),%); (%o3) asinh(((sqrt(x+1)sqrt(x))^21)/(2*(sqrt(x+1)sqrt(x))))asinh(((sqrt(x+1)+sqrt(x))^21)/(2*(sqrt(x+1)+sqrt(x)))) (%i4) ratsimp(%); (%o4) 2*asinh(sqrt(x)) Substituting a lambda form for a function has been called my favorite trick. It is. Barton 
From: Robert Dodier <robert.dodier@gm...>  20140228 19:20:17

On 20140228, Jaime Villate <villate@...> wrote: > The following commands used to work in previous versions (I've checked > them in 5.21): > > solve(sqrt(x^2+3/2) = 3/2); > integrate(1/sqrt(1/3s/3),s,0,1); > > But now they both fail in version 5.32, unless they are written as: > > solve(sqrt((2*x^2+3)/2) = 3/2); > integrate(1/sqrt((1s)/3),s,0,1); My first guess is that this has to do with simplification of radicals. Can you pinpoint the suspicious commit? perhaps via git bisect? Presumably there was some other problem which was resolved by the commit .... best Robert Dodier 
From: Robert Dodier <robert.dodier@gm...>  20140228 19:16:17

On 20140228, Dan <djones_cas@...> wrote: > The output is obtained from > > maxima veryquiet<maxt.mac >xxx Do I understand correctly that the overall procedure is: maxima veryquiet < maxt.mac > xxx java MyProgram < xxx ?? If so, that makes it a little easier to debug. Can you create the output file using each version of Maxima, and post the result of od c xxx ? Then we will be able to see exactly what characters are different (and presumably causing readLine to get confused). > The goal here is to get the output of 'describe' to > build a corpus of maxima document. If so, perhaps you'll consider writing the program in Lisp or even Maxima itself  I dunno, maybe: for s in [sin, cos, tan, ...] do apply (describe, [s]); (apply(describe, ...) is a standard workaround because describe quotes its arguments so describe(s) attempts to describe a topic named "s".) HTH Robert Dodier 
From: Jinsong Zhao <jszhao@ye...>  20140228 19:04:10

On 2014/2/28 10:41, dan wrote: > Dan <djones_cas <at> outlook.com> writes: > > diff(2*asinh(sqrt(x)),x) is: > > 1 >   > sqrt(x) sqrt(x + 1) > > not > > sqrt(x)*sqrt(x+1) > > D.J > I made the problem to be complex in the original post. I should make it more clear. Now, I just hope to simplify  log(sqrt(x + 1) + sqrt(x)) + log(sqrt(x + 1)  sqrt(x)) I try: (%i24)  log(sqrt(x + 1) + sqrt(x)) + log(sqrt(x + 1)  sqrt(x)); (%o24) log(sqrt(x + 1)  sqrt(x))  log(sqrt(x + 1) + sqrt(x)) (%i25) logcontract(%); sqrt(x + 1)  sqrt(x) (%o25) log() sqrt(x + 1) + sqrt(x) It should be equal to 2*asinh(sqrt(x)), but I can not work out it in Maxima. Regards, Jinsong 
From: Mario Rodriguez <biomates@te...>  20140228 19:03:27

On Fri, 28 Feb 2014 14:04:54 +0100 Jan Hendrik Mueller <jan.mueller@...> wrote: > Hi Mario, > thanks, that solves the problem! > If I add „set xyplane at 0“ a negative part of the zaxis is displayed. Is there a way to avoid this? Code below! > Thanks for help!! > Jan > > load(draw)$ > wxdraw3d( > user_preamble = "set view ,,,2 ; set xyplane at 0", > xrange=[0,5],yrange=[0,5],zrange=[0,10], > grid=true, > color=red, > parametric_surface(s,0,t,s,0,4,t,0,6) > ); > > Jan, When I run your code the z axis starts just at (0,0,0) as expected, both with wxdraw2d and draw2d. Can you send a screenshot to me, please?  Mario 
From: Jinsong Zhao <jszhao@ye...>  20140228 18:52:43

On 2014/2/28 10:31, Dan wrote: > Jinsong Zhao <jszhao <at> yeah.net> writes: > >> >> Hi there, >> >> I am newcomer to Maxima. I tried the following expression >> >> (%i42) integrate(sqrt(x) * sqrt(x + 1), x), radcan; >> >> I got the result: >> >> (%o42) ( log(sqrt(x + 1) + sqrt(x)) + log(sqrt(x + 1)  sqrt(x)) >> + sqrt(x) sqrt(x + 1) (4 x + 2))/8 >> >> It seems that >>  log(sqrt(x + 1) + sqrt(x)) + log(sqrt(x + 1)  sqrt(x)) >> could be simplified to >> 2 * asinh(sqrt(x)) >> >> But I don't know how in Maxima. >> > > > diff(2*sqrt(x)*sqrt(x+1),x) is : > > 1 >   > sqrt(x) sqrt(x + 1) > > not > > sqrt(x)*sqrt(x+1) > (%i3) log(sqrt(x+1)+sqrt(x))+log(sqrt(x + 1)sqrt(x)),logcontract; sqrt(x + 1)  sqrt(x) (%o3) log() sqrt(x + 1) + sqrt(x) %o3 can be simplify to  2 log(sqrt(x + 1) + sqrt(x)) = 2 ashin(sqrt(x)) But I don't know how to work out it in Maxima. Regards, Jinsong 
From: dan <djones_cas@ou...>  20140228 18:42:09

Dan <djones_cas <at> outlook.com> writes: > diff(2*sqrt(x)*sqrt(x+1),x) is : > > 1 >   > sqrt(x) sqrt(x + 1) > > not > > sqrt(x)*sqrt(x+1) > >  > Flowbased realtime traffic analytics software. Cisco certified tool. > Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer > Customize your own dashboards, set traffic alerts and generate reports. > Network behavioral analysis & security monitoring. Allinone tool. > http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk > Sorry, Correction to my previous reply: diff(2*asinh(sqrt(x)),x) is: 1   sqrt(x) sqrt(x + 1) not sqrt(x)*sqrt(x+1) D.J 
From: Dan <djones_cas@ou...>  20140228 18:32:13

Jinsong Zhao <jszhao <at> yeah.net> writes: > > Hi there, > > I am newcomer to Maxima. I tried the following expression > > (%i42) integrate(sqrt(x) * sqrt(x + 1), x), radcan; > > I got the result: > > (%o42) ( log(sqrt(x + 1) + sqrt(x)) + log(sqrt(x + 1)  sqrt(x)) > + sqrt(x) sqrt(x + 1) (4 x + 2))/8 > > It seems that >  log(sqrt(x + 1) + sqrt(x)) + log(sqrt(x + 1)  sqrt(x)) > could be simplified to > 2 * asinh(sqrt(x)) > > But I don't know how in Maxima. > diff(2*sqrt(x)*sqrt(x+1),x) is : 1   sqrt(x) sqrt(x + 1) not sqrt(x)*sqrt(x+1) 
From: Richard Fateman <fateman@be...>  20140228 16:50:50

This is probably NOT what you want, which is to learn about rules. But I was thinking that the if the processing is of actual computational interest, it can be done so much faster (different order of processing) I should think about just writing it down. I wrote a simple version in lisp, and it is included below. It works for any number of (singleletter) names and uses alphabetical order. I have perhaps made some other unwarranted assumptions, and I assume that Maxima will simplify some remaining items, and sort the results. but see code. I have not tested this much. (run '((mnctimes) $a $b $b $a $c )) returns ... ((mplus) ((mtimes) 1 ((mnctimes simp) $b)) ((mtimes) 1 ((mnctimes simp) $c $b $b $a $a)) ((mtimes) 1 ((mnctimes simp) $a)) ((mtimes) 1 ((mnctimes simp) $c $b $a)) ((mtimes) 2 ((mnctimes simp) $b $b $a)) ((mtimes) 2 ((mnctimes simp) $b $a $a))) i.e. abbac > b+cbbaa + a + cba+2bba+2baa. #Zeitlinie@... asks Let's say I have two atoms a and b, they can be noncommutatively multiplied, and should satisfy the rule a.b = b.a + 1 now it is (far too) simple to tellsimp(a.b,b.a+1); But this will only apply the rule to a.b The generic case of any product, with any number and order of a and b, is not expanded according to a.b = b.a + 1. How would one do this? ... Actually I'd be very surprised if this would have never been implemented by 'someone', because it is a stripped down version of something that manybody physicist like to do when they 'normal' order bosons (in my case its just single boson). # # Fairly easy and hugely hugely faster to do this without patterns. 1. Convert from a.b.c... to array or string "abc..." 2. Consider 2 hash tables indexed by strings. processing and done. 3. Strings in which the characters are in the proper order are in the table "done" with a count of how many times they were inserted. The empty string is in order. 4. Strings in the processing table are tested: a. If s in proper order, it is removed and the entry in the done table is incremented. If no entry, it is inserted with count 1. b. for each string s in processing, let n be the location of the first pair out of order, s[n] and s[n+1]. i. Insert in the processing table the string s with s[n],s[n+1] reversed. ii. Also insert the string with s[n..n+1] removed. That is, shorter by 2. iii. Finally, remove the string s from the table. 5. If all strings removed from processing table, go through the done table and convert to form you would like. Let the Maxima simplifier simplify 1*b to b etc. # (defun mnc2string(r) ;; assume a.b.c.a.b . Single chars seems to be OK? ;; ((mnctimes simp) $a $b $c ...) (let ((len (length (cdr r))) (inits (mapcar #'(lambda(c)(aref (symbolname c) 1)) (cdr r )))) (makearray len :elementtype 'character :initialcontents inits))) ;; (mnc2string '((mnctimes) $a $b $foo $a $g)) ;; returns "abfag" (defun string2mnc(s) (let ((result nil)) (map nil #'(lambda(c) (push (intern(concatenate 'string '(#\$)(list c))) result)) s) (cons '(mnctimes simp)(nreverse result)))) ;;(string2mnc "abcd") returns ((mnctimes simp) $a $b $c $d) ;; (unorder s) returns integer n if s[n] and s[n+1] are out of order. ;; nil if everything is in order. (defun unorder(s) (let ((h (length s))) (cond ((= h 0) nil) ;; empty string is in order (t (do ((i 0 (1+ i)) (j 1 (1+ j))) ((= j h) nil) (if (charlessp (aref s i)(aref s j))(return i))))))) ;;(unorder "cbab") is 2 ;; (unorder "cba") is nil (defun removepair(s n) ;; remove items n, n+1 from string s of length <n+1 (concatenate 'string (subseq s 0 n) (subseq s (+ 2 n) ))) ;; (removepair "abcdefg" 2) returns "abefg". Note, string index starts at 0 (defun reversepair(s n) ;; remove items n, n+1 from string s of length <n+1 (concatenate 'string (subseq s 0 n) (list (aref s (+ 1 n))(aref s n)) (subseq s (+ 2 n) ))) ;; (reversepair "abcdefg" 2) returns "abdcefg" ;; e.g. (run '((mnctimes) $a $b $c)) ;; assume initial case is one term? (defun run (m) (let ((processing (makehashtable :test 'equalp)) (done (makehashtable :test 'equalp)) (start (mnc2string m)) (res nil)) (setf (gethash start processing ) 1) ;; repeat until processing hash table is empty (while (> (hashtablecount processing) 0) (maphash #'(lambda(key val) (let ((n (unorder key))) (cond ((null n) (setf (gethash key done) (+ val (gethash key done 0))) (remhash key processing)) (t (let ((rem (removepair key n)) (rev (reversepair key n))) (setf (gethash rem processing) (1+(gethash rem processing 0))) (setf (gethash rev processing) (1+(gethash rev processing 0))) (remhash key processing)))))) processing)) (maphash #'(lambda (key val) (push (list '(mtimes) val (string2mnc key)) res)) done) (cons '(mplus) res))) 
From: Dan <djones_cas@ou...>  20140228 16:25:17

Robert Dodier <robert.dodier <at> gmail.com> writes: > > Dan, I'm a little confused. Wouldn't you expect readLine to block > until there is more text to read? > > Perhaps it would help to back up a little  can you describe the > larger goal you're driving at here? > > best, > > Robert Dodier > Robert, The more complete program is: ... for ( ; ; ) { String aline = input.readLine(); if (aline == null) { break; } … } with preMaxima2.6 OS X, the 'input.readLine()' will read the last line of '?' or 'describe' and loops around to read again and gets a 'null' and break out of the loop. Last night, I tried the following script file (mast.mac) with maxima5.30 OS X: build_info(); describe(sin); 1+2; describe(cos); the result out is: Maxima version: "5.30.0" Maxima build date: "20130422 13:48:12" Host type: "i386appledarwin11.4.2" Lisp implementation type: "SBCL" Lisp implementation version: "1.0.55.0abb03f9"  Function: sin (<x>)  Sine. There are also some inexact matches for `sin'. Try `?? sin' to see them. true The output is obtained from maxima veryquiet<maxt.mac >xxx at the OS X command prompt, no java is involved here. As you can see, there is no output of '1+2' and 'describe(cos)' after 'describe(sin)'. Running maxt.mac under maxima5.25 produces full result. The goal here is to get the output of 'describe' to build a corpus of maxima document. 
From: Jaime Villate <villate@fe...>  20140228 16:20:05

Hi, The following commands used to work in previous versions (I've checked them in 5.21): solve(sqrt(x^2+3/2) = 3/2); integrate(1/sqrt(1/3s/3),s,0,1); But now they both fail in version 5.32, unless they are written as: solve(sqrt((2*x^2+3)/2) = 3/2); integrate(1/sqrt((1s)/3),s,0,1); Regards, Jaime 
From: Volker van Nek <volkervannek@gm...>  20140228 14:01:27

readLine() is only able to finish if there is a (platform dependent) line terminator. As a workaround you can use the various read() Methods of a BufferedReader and with ready() or available() you can ensure that there is something to read. HTH Volker van Nek Am 28.02.2014 04:08, schrieb Robert Dodier: > Dan, I'm a little confused. Wouldn't you expect readLine to block > until there is more text to read? > > Perhaps it would help to back up a little  can you describe the > larger goal you're driving at here? > > best, > > Robert Dodier > >  Forwarded message  > From: dan jones <djones_cas@...> > Date: Thu, Feb 27, 2014 at 1:31 PM > Subject: RE: [Maximadiscuss] EOL issue > To: Robert Dodier <robert.dodier@...> > > > Thanks for the hint. The program (written in java) blocks on: > > String aline=input.readLine(); > > The program did read all the 'visible' output of '?' and 'describe' > before blocking. > > I will download Maxima5.30 OS X version to my Mac again and post the > result of 'od c'. > > Thanks again. > > D.J > >  > Flowbased realtime traffic analytics software. Cisco certified tool. > Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer > Customize your own dashboards, set traffic alerts and generate reports. > Network behavioral analysis & security monitoring. Allinone tool. > http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk > _______________________________________________ > Maximadiscuss mailing list > Maximadiscuss@... > https://lists.sourceforge.net/lists/listinfo/maximadiscuss > 
From: Jan Hendrik Mueller <jan.mueller@ma...>  20140228 13:18:08

Hi Mario, thanks, that solves the problem! If I add „set xyplane at 0“ a negative part of the zaxis is displayed. Is there a way to avoid this? Code below! Thanks for help!! Jan load(draw)$ wxdraw3d( user_preamble = "set view ,,,2 ; set xyplane at 0", xrange=[0,5],yrange=[0,5],zrange=[0,10], grid=true, color=red, parametric_surface(s,0,t,s,0,4,t,0,6) ); Am 27.02.2014 um 21:35 schrieb Mario Rodriguez <biomates@...>: > > El 27/02/14 16:41, Jan Hendrik Mueller escribió: >> Hi list, >> I tried to scale (stretch) the zaxis of a wxdraw3d plot to draw parametric curves. >> proportional_axis=xyz or user_preamble="set size ratio 1" are the only options which change its default scale. But I want to handle it a bit more flexible... >> I am using maxima 5.28.0 and wxmaxima 12.08.0 >> Thanks for help! >> Jan > > > Make use of 'view' in user_preamble: > > wxdraw( > dimensions=[400,800], > > gr3d( > explicit(x^2+y^2,x,1,1,y,1,1), > user_preamble="set view ,,0.35,5 "), > > gr3d( > explicit(x^2+y^2,x,1,1,y,1,1), > user_preamble="set view ,,,0.2 " ))$ > > > Draw sets the first and second arguments, and maintains the third (plot > scale) and fourth (z scale) always equal to 1. > > The Gnuplot manual gives more information on the arguments to be passed > to view. > > >  > Marioi > >  > Flowbased realtime traffic analytics software. Cisco certified tool. > Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer > Customize your own dashboards, set traffic alerts and generate reports. > Network behavioral analysis & security monitoring. Allinone tool. > http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk > _______________________________________________ > Maximadiscuss mailing list > Maximadiscuss@... > https://lists.sourceforge.net/lists/listinfo/maximadiscuss 
From: Jinsong Zhao <jszhao@ye...>  20140228 05:09:12

Hi there, I am newcomer to Maxima. I tried the following expression (%i42) integrate(sqrt(x) * sqrt(x + 1), x), radcan; I got the result: (%o42) ( log(sqrt(x + 1) + sqrt(x)) + log(sqrt(x + 1)  sqrt(x)) + sqrt(x) sqrt(x + 1) (4 x + 2))/8 It seems that  log(sqrt(x + 1) + sqrt(x)) + log(sqrt(x + 1)  sqrt(x)) could be simplified to 2 * asinh(sqrt(x)) But I don't know how in Maxima. Any help? Thanks a lot. Regards, Jinsong 
From: Robert Dodier <robert.dodier@gm...>  20140228 03:08:13

Dan, I'm a little confused. Wouldn't you expect readLine to block until there is more text to read? Perhaps it would help to back up a little  can you describe the larger goal you're driving at here? best, Robert Dodier  Forwarded message  From: dan jones <djones_cas@...> Date: Thu, Feb 27, 2014 at 1:31 PM Subject: RE: [Maximadiscuss] EOL issue To: Robert Dodier <robert.dodier@...> Thanks for the hint. The program (written in java) blocks on: String aline=input.readLine(); The program did read all the 'visible' output of '?' and 'describe' before blocking. I will download Maxima5.30 OS X version to my Mac again and post the result of 'od c'. Thanks again. D.J 