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}
(403) 
_{Jul}
(172) 
_{Aug}
(399) 
_{Sep}
(364) 
_{Oct}
(269) 
_{Nov}
(357) 
_{Dec}
(468) 
2016 
_{Jan}
(618) 
_{Feb}
(592) 
_{Mar}
(625) 
_{Apr}
(516) 
_{May}
(375) 
_{Jun}
(155) 
_{Jul}
(346) 
_{Aug}
(262) 
_{Sep}
(317) 
_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 







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





From: Nijso Beishuizen <nijso@ho...>  20140325 23:28:53

Thank you all for your interest. I have decided to set up a git project and will distribute the code under GPL v2. I'll probably have time to finish the git setup this weekend. Best, Nyso On Mon, 20140324 at 16:30 +0000, Robert Dodier wrote: > On 20140323, Nijso Beishuizen <nijso@...> wrote: > > > Dear list, please see below. If someone is interested in kovacicODE.mac > > (around 34kb), just let me know. > > If you will distribute it under terms of the GNU GPL or a compatible > license, let's talk about distributing it with Maxima. Establishing > a Github project (maybe as an umbrella for any such stuff you write) > would make it easy to look at the code & discuss changes or whatnot. > > best, > > Robert Dodier > > >  > Learn Graph Databases  Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > _______________________________________________ > Maximadiscuss mailing list > Maximadiscuss@... > https://lists.sourceforge.net/lists/listinfo/maximadiscuss > 
From: Stavros Macrakis <macrakis@al...>  20140325 15:51:19

Oops, I should have looked at your code more carefully.... On Tue, Mar 25, 2014 at 10:26 AM, Richard Fateman <fateman@...>wrote: > On 3/25/2014 5:12 AM, Stavros Macrakis wrote: > > Using setf like this means that you don't preserve Maxima assignment > semantics. It won't work for pop(a[2]) (a perfectly reasonable thing to > do), > > I think it *does* work for > a[2]:[]; > push2(xx,a[2]); > a[2]; > pop2(a[2]); > a[2]; > > It's not using setf to do the maxima msetq. It is modifying the putative > stack in place. which the > assignment would do anyway, I think. > > > > There are some peculiar features,e.g. pop2 from an empty stack yields > false. > push2(a,a+b) yields b+a+a. > > > > and it will circumvent the special semantics and checking of setting > fpprec etc. (a less reasonable thing to do, but should get an error). > > Uh, pushing fpprec? push2(fpprec, stack) works. push2(xx,fpprec) is > nonsense and should > give an error  Error in CDR. > > So I think these programs are somewhat sturdier than they might seem to > you, though > rather slim on type checking. Maybe push2 and pop2 should check that the > stack isa list, and > maybe give an error on popping an empty stack. > > > > s > > > On Mon, Mar 24, 2014 at 8:39 PM, Richard Fateman <fateman@...>wrote: > >> I think this might be used for push and pop.. >> >> (defmacro $push2(r p) ;; maxima push on a list >> `(let* ((s (meval (quote ,p)))) >> (setf (cdr s) (cons (meval (quote ,r)) (cdr s))) >> s)) >> >> (defun $pop2(s) ;; maxima push on a list >> (let ((ans (cadr s))) >> (setf (cdr s) (cddr s)) >> ans)) >> >> >> ;; I suggest the file containing this lisp be compiled before loading. >> >> ................. >> This seems to be at least 8X faster on push. It also reduces garbage >> collection >> time, eventually. It destructively alters the stack. I am not sure >> about needing the >> meval calls. >> >> RJF >> >> >> >> > > >  > Learn Graph Databases  Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > _______________________________________________ > Maximadiscuss mailing list > Maximadiscuss@... > https://lists.sourceforge.net/lists/listinfo/maximadiscuss > > 
From: Pankaj Sejwal <pankajsejwal@gm...>  20140325 15:20:15

> >>>> > >>>>>>>>>> > > Secondly, in my opinion you can directly use float as, > In :: B:map(rat,A)$ > In :: > matrix([0.70710678118655]) > >>>>>>>> forgot to mention : In :: float(B) Out :: matrix([0.70710678118655]) Pankaj 
From: Przemek Klosowski <przemek.klosowski@ni...>  20140325 14:56:47

On 03/25/2014 06:37 AM, Helmut Jarausch wrote: > A:matrix([1/sqrt(2)]); > ev(A,numer); > algebraic:true$ keepfloat:true$ > ev(A,numer); > B:map(rat,A); > ev(B,numer); /* does not work  why */ > > Why can I not display the numerical approximation of B anymore > except using something like > genmatrix(lambda([i,j],ev(B[i,j],numer)),length(B),length(B)) ? Strangely, B,float; results in [ sqrt(2) ] /R/ [  ] [ 2 ] but radcan(B),float; gives [ .7071067811865476 ] I am guessing that radcan(B) results in an expression 1/sqrt(2) rather than an /R/ form, but can you folks explain the difference to me? 
From: Richard Fateman <fateman@be...>  20140325 14:27:03

On 3/25/2014 5:12 AM, Stavros Macrakis wrote: > Using setf like this means that you don't preserve Maxima assignment > semantics. It won't work for pop(a[2]) (a perfectly reasonable thing > to do), I think it _does_ work for a[2]:[]; push2(xx,a[2]); a[2]; pop2(a[2]); a[2]; It's not using setf to do the maxima msetq. It is modifying the putative stack in place. which the assignment would do anyway, I think. There are some peculiar features,e.g. pop2 from an empty stack yields false. push2(a,a+b) yields b+a+a. > and it will circumvent the special semantics and checking of setting > fpprec etc. (a less reasonable thing to do, but should get an error). Uh, pushing fpprec? push2(fpprec, stack) works. push2(xx,fpprec) is nonsense and should give an error  Error in CDR. So I think these programs are somewhat sturdier than they might seem to you, though rather slim on type checking. Maybe push2 and pop2 should check that the stack isa list, and maybe give an error on popping an empty stack. > > s > > > On Mon, Mar 24, 2014 at 8:39 PM, Richard Fateman <fateman@... > <mailto:fateman@...>> wrote: > > I think this might be used for push and pop.. > > (defmacro $push2(r p) ;; maxima push on a list > `(let* ((s (meval (quote ,p)))) > (setf (cdr s) (cons (meval (quote ,r)) (cdr s))) > s)) > > (defun $pop2(s) ;; maxima push on a list > (let ((ans (cadr s))) > (setf (cdr s) (cddr s)) > ans)) > > > ;; I suggest the file containing this lisp be compiled before > loading. > > ................. > This seems to be at least 8X faster on push. It also reduces > garbage collection > time, eventually. It destructively alters the stack. I am not > sure about needing the > meval calls. > > RJF > > > 
From: Pankaj Sejwal <pankajsejwal@gm...>  20140325 13:31:41

> > > A:matrix([1/sqrt(2)]); > > > ev(A,numer); > > > algebraic:true$ keepfloat:true$ > > > ev(A,numer); > > > B:map(rat,A); > > > ev(B,numer); /* does not work  why */ > > Why can I not display the numerical approximation of B anymore > except using something like > genmatrix(lambda([i,j],ev(B[i,j],numer)),length(B),length(B)) ? >  > Well going through the documentation, it says rat(0) is not the same as 0. > Functions like float and numer are spread over the whole list automatically > but in case of rat, it appears after rationalizing, it is not able to > consider it as list any more. Hence it doesn't go to arguments. > Documentation also says that numer is applicable to only some of the function's args, though the list of functions has not been specified. In : mm:matrix([a,b,c,d,sqrt(3)]); out :: matrix([a,b,c,d,sqrt(3)]) In :: ev(mm,numer); Out :: matrix([a,b,c,d,1.732050807568877]) /*spread over list*/ In :: ev(rat(mm),float); Out ::/R/ matrix([a,b,c,d,37220045/21489003]) In my opinion this /R/ prepended to result, is the problem. There must be some simple way to collect arguments out of it, but for know may be this manual way can help, In :: float(apply("/",args(ev(B,float)[1,1]))); Out :: 0.70710678118655. Secondly, in my opinion you can directly use float as, In :: B:map(rat,A)$ In :: matrix([0.70710678118655]) which means float is able to recognize its arguments of B while numer is not. In :: numer(B); Out :: apply: found numer evaluates to false where a function was expected. Hope it helps.  Regards, Pankaj Sejwal _______________________________________________ "The more I read, the more I acquire, the more certain I am that I know nothing."  Voltaire <http://www.goodreads.com/author/show/5754446.Voltaire>; 
From: Stavros Macrakis <macrakis@al...>  20140325 12:12:32

Using setf like this means that you don't preserve Maxima assignment semantics. It won't work for pop(a[2]) (a perfectly reasonable thing to do), and it will circumvent the special semantics and checking of setting fpprec etc. (a less reasonable thing to do, but should get an error). s On Mon, Mar 24, 2014 at 8:39 PM, Richard Fateman <fateman@...>wrote: > I think this might be used for push and pop.. > > (defmacro $push2(r p) ;; maxima push on a list > `(let* ((s (meval (quote ,p)))) > (setf (cdr s) (cons (meval (quote ,r)) (cdr s))) > s)) > > (defun $pop2(s) ;; maxima push on a list > (let ((ans (cadr s))) > (setf (cdr s) (cddr s)) > ans)) > > > ;; I suggest the file containing this lisp be compiled before loading. > > ................. > This seems to be at least 8X faster on push. It also reduces garbage > collection > time, eventually. It destructively alters the stack. I am not sure about > needing the > meval calls. > > RJF > > > > > On 3/24/2014 11:48 AM, Rupert Swarbrick wrote: > > Barton Willis <willisb@...> <willisb@...> writes: > > Should push and pop be promoted to Maxima's core? A kill(all) removes the > definitions of push and pop. When pop is undefined, my tw code loops infinitely :( > > Hmm. Have you checked runtimes for push and pop? When I was messing > around with diag.mac (I think), I decided not to use push because > something like > > block([foo: []], > for x in list do foo: cons(x, foo)) > > was noticeably faster than > > block([foo: []], > for x in list do push(x, foo)). > > I haven't tried it since (and maybe I've misremembered!). Will try to > play around and get some measurements some time this week. > > Rupert > > > >  > Learn Graph Databases  Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today!http://p.sf.net/sfu/13534_NeoTech > > > > _______________________________________________ > Maximadiscuss mailing listMaximadiscuss@...nethttps://lists.sourceforge.net/lists/listinfo/maximadiscuss > > > > >  > Learn Graph Databases  Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > _______________________________________________ > Maximadiscuss mailing list > Maximadiscuss@... > https://lists.sourceforge.net/lists/listinfo/maximadiscuss > > 
From: Helmut Jarausch <jarausch@ig...>  20140325 10:37:33

Hi, please uncover this secrete of Maxima: to get root free denominators I am doing the following (here a trivial example) A:matrix([1/sqrt(2)]); ev(A,numer); algebraic:true$ keepfloat:true$ ev(A,numer); B:map(rat,A); ev(B,numer); /* does not work  why */ Why can I not display the numerical approximation of B anymore except using something like genmatrix(lambda([i,j],ev(B[i,j],numer)),length(B),length(B)) ? Many thanks for uncovering this secrete to me, Helmut 
From: Barton Willis <willisb@un...>  20140325 00:58:23

Our current push and pop are, I think, excessively general. Tr something like l : matrix([1,2]), push(x,l); I would suggest signaling an error for a nonlist. Pushing on a nary ( say addition) is just too likely a source for errors. ________________________________________ From: Richard Fateman [fateman@...] Sent: Monday, March 24, 2014 19:39 To: Rupert Swarbrick; maximadiscuss@... Subject: Re: [Maximadiscuss] Push and pop I think this might be used for push and pop.. (defmacro $push2(r p) ;; maxima push on a list `(let* ((s (meval (quote ,p)))) (setf (cdr s) (cons (meval (quote ,r)) (cdr s))) s)) (defun $pop2(s) ;; maxima push on a list (let ((ans (cadr s))) (setf (cdr s) (cddr s)) ans)) ;; I suggest the file containing this lisp be compiled before loading. ................. This seems to be at least 8X faster on push. It also reduces garbage collection time, eventually. It destructively alters the stack. I am not sure about needing the meval calls. RJF On 3/24/2014 11:48 AM, Rupert Swarbrick wrote: Barton Willis <willisb@...><mailto:willisb@...> writes: Should push and pop be promoted to Maxima's core? A kill(all) removes the definitions of push and pop. When pop is undefined, my tw code loops infinitely :( Hmm. Have you checked runtimes for push and pop? When I was messing around with diag.mac (I think), I decided not to use push because something like block([foo: []], for x in list do foo: cons(x, foo)) was noticeably faster than block([foo: []], for x in list do push(x, foo)). I haven't tried it since (and maybe I've misremembered!). Will try to play around and get some measurements some time this week. Rupert  Learn Graph Databases  Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech _______________________________________________ Maximadiscuss mailing list Maximadiscuss@...<mailto:Maximadiscuss@...> https://lists.sourceforge.net/lists/listinfo/maximadiscuss 
From: Richard Fateman <fateman@be...>  20140325 00:39:53

I think this might be used for push and pop.. (defmacro $push2(r p) ;; maxima push on a list `(let* ((s (meval (quote ,p)))) (setf (cdr s) (cons (meval (quote ,r)) (cdr s))) s)) (defun $pop2(s) ;; maxima push on a list (let ((ans (cadr s))) (setf (cdr s) (cddr s)) ans)) ;; I suggest the file containing this lisp be compiled before loading. ................. This seems to be at least 8X faster on push. It also reduces garbage collection time, eventually. It destructively alters the stack. I am not sure about needing the meval calls. RJF On 3/24/2014 11:48 AM, Rupert Swarbrick wrote: > Barton Willis <willisb@...> writes: >> Should push and pop be promoted to Maxima's core? A kill(all) removes the >> definitions of push and pop. When pop is undefined, my tw code loops infinitely :( > Hmm. Have you checked runtimes for push and pop? When I was messing > around with diag.mac (I think), I decided not to use push because > something like > > block([foo: []], > for x in list do foo: cons(x, foo)) > > was noticeably faster than > > block([foo: []], > for x in list do push(x, foo)). > > I haven't tried it since (and maybe I've misremembered!). Will try to > play around and get some measurements some time this week. > > Rupert > > >  > Learn Graph Databases  Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > > > _______________________________________________ > Maximadiscuss mailing list > Maximadiscuss@... > https://lists.sourceforge.net/lists/listinfo/maximadiscuss 