reduce-algebra-developers — Discussion of development, administration and support for Reduce

You can subscribe to this list here.

 2009 2010 2011 2012 2013 2014 2015 2016 2017 Jan (2) Feb (5) Mar Apr May (2) Jun (8) Jul (4) Aug Sep Oct (2) Nov (6) Dec Jan (1) Feb (1) Mar (3) Apr (2) May (2) Jun (2) Jul (18) Aug (13) Sep (7) Oct Nov Dec (2) Jan Feb (11) Mar Apr (4) May Jun (1) Jul (18) Aug (16) Sep (12) Oct (12) Nov (19) Dec (42) Jan (16) Feb (3) Mar (8) Apr (14) May (30) Jun (5) Jul (7) Aug (3) Sep (10) Oct (4) Nov (10) Dec (1) Jan (14) Feb (8) Mar (5) Apr (3) May (9) Jun (19) Jul Aug (27) Sep (5) Oct (18) Nov (12) Dec (8) Jan (5) Feb (8) Mar (20) Apr (22) May (28) Jun (9) Jul (6) Aug (46) Sep (40) Oct (15) Nov (8) Dec (34) Jan (20) Feb (15) Mar (18) Apr (20) May (3) Jun (13) Jul (10) Aug (19) Sep (8) Oct (31) Nov (26) Dec (13) Jan (13) Feb (4) Mar (14) Apr (28) May (19) Jun (7) Jul (1) Aug Sep (19) Oct (5) Nov (4) Dec (9) Jan (4) Feb (30) Mar Apr (5) May (1) Jun (1) Jul (3) Aug Sep Oct Nov Dec
S M T W T F S

1

2

3

4

5

6

7

8

9

10

11
(1)
12
(3)
13

14

15
(2)
16
(2)
17

18

19
(3)
20

21
(2)
22
(2)
23

24

25

26
(1)
27
(2)
28

29

30

31

Showing 2 results of 2

 Re: [Reduce-algebra-developers] Multiplying lists and a predicate function for lists From: Rainer Schöpf - 2011-07-15 19:51:28 ```On Tue, 12 Jul 2011 at 18:13 +0100, Arthur Norman wrote: > On Tue, 12 Jul 2011, Ted Kosan wrote: > > > Is it possible to multiply all of the members in a list by a value in > > a manner which is similar to this example from MathPiper?: > > > > In> 3 * {a,b,c} > > Result: {3*a,3*b,3*c} > > > > > > 1: a := {x,y,z}; > > a := {x,y,z} > > 2: for each p in a collect 3*p; > > {3*x,3*y,3*z} > > 3: > > One could imagine trying to find where the "Illegal operatio on lists" is > produced and turn > V op {A,B,C} > into > {V op A, V op B, V op C} > and similarly if the list and item were the other way around. With care so > that > {a,b}*{c,d} > gave > {{a,b)*c, {a,b}*d} > and hence > {{a*c, b*c}, {a*d, b*d}} > if that would be the right way round... It is trickier than that. Try this: 1: a:={x,y,z}; a := {x,y,z} 2: 3*a+3; ***** Illegal operation on lists 3: 3+3*a; ***** a invalid as scalar The problem here that the expression analysis (in getrtype) is incomplete, so that the expression 3*a+3 is recognized as one containing a list, but 3+3*a is not. (More precisely, for addition and subtraction, the first operand determines the type, where as for products and quotients, it looks through all the operands until it finds a nontrivial type. I'm at a loss to explain why this is the case.) > > Also, is there a predicate function like NUMBERP that determines if an > > expression is a list and that can be used in algebraic mode? The > > IsList function is used in MathPiper for this and here is an example > > of it being used for reference: > > > > In> IsList(a) > > Result: False > > > > In> IsList(4) > > Result: False > > > > In> IsList(2*a) > > Result: False > > > > In> IsList({a,b,c}) > > Result: True > > > > Looking at packages/rlisp/list.red to see how "first" etc are implemeted > for lists providing a listp function should be easy... This can be done with the arglength and part operators. part(x,0) returns the toplevel operator of expression x. One needs to guard against atomic expressions, so that algebraic procedure islist l; arglength l > -1 and part(l,0)=list; is a suitable definition. (Note that the name listp cannot be used; there exists a symbolic procedure of the same name already.) > Also that file would be where one hacked in support for other operations > over lists... I might feel the need to think for a bit about whether > anything could be broken by installing those things but they may be > safe... you can look at list.red and see what you thing! More generally, one should have various boolean operators for testing type, at least for those types than can be declared, like matrix, vector, etc. Rainer ```
 [Reduce-algebra-developers] Turing off automatic simplification. From: Ted Kosan - 2011-07-15 18:18:18 ```This past May I submitted the following question to the Reduce forum which was about turning off automatic simplification: http://sourceforge.net/projects/reduce-algebra/forums/forum/899364/topic/4499010 The revalp code that Tony submitted provides a partial solution, but a full solution would allow functions like NUM, DEN, and SUB to be used on the expression so that it can be analysed and manipulated. At one point I thought that I could add this feature myself, but I found that I will have to study Rlisp further before I have the skills needed to do it properly. I am asking for this capability on behalf of the GeoGebra project (http://GeoGebra.org) because they are in the process of adopting the Java version of Reduce as the CAS computation engine for GeoGebra. By the way, GeoGebra has millions of users worldwide and its level of adoption continues to increase. They are very excited about the idea of using the commercial-quality Reduce CAS as the computation engine for GeoGebra and their plan is to ship Reduce with the new GeoGebra 4.0 in August. I have asked Simon Weitzhofer, who is a GeoGebra developer, to join this email list so that he can provide more information on the no-simplification feature that they need for GeoGebra. I am hoping that this feature can be added to Reduce without too much difficulty. Thanks, Ted ```

Showing 2 results of 2

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks