## Re: [Reduce-algebra-developers] new at reduce

 Re: [Reduce-algebra-developers] new at reduce From: Rainer Schöpf - 2013-11-15 07:35:40 ```Only small corrections have been done to the limit module since its author, Stan Kameny, passed away. A lot of the code relies on being able to expand the expression in question into a power series around the limit point. This doesn't work for essential singularities. Indeed, the three limits here don't exist in the complex domain. For limits around infinity, the code tries to substitute x -> 1/x^2 to transform to point 0. For x/(e^x + 1), this gives 1/(e^(1/x^2)*x^2+x^2) which is difficult to handle using L'Hopital's rule. Obviously, this needs a major review. Rainer On Thu, 14 Nov 2013 at 21:17 -0000, Arthur Norman wrote: > I observe that > limit(1/(e^x + 1), x, infinity) => 0 > limit(x/(e^x + 1), x, infinity) => unsimplified > limit(x/e^x, x, infinity) => 0 > so there is a jolly project for somebody to trace through and see what it > is doing there! I rather wonder if it is because e^x only goes to > +infinity if you approach x=infinity eg along the positive real axis - > otherwise you have an essential singularity there. And possibly the code > that copes (sometimes) with essential singularities is being really > cautious...???? > I need to sleep right now rather than to dive into the code and see just > what it is up to. > Arthur > > On Thu, 14 Nov 2013, Bard Ermentrout wrote: > > > I have been playing with reduce now for a bit and I was puzzled by the > > inability of the limit function to get this limit and don't know if this is > > a bug or not: > > limit((x^2+5*x)/(exp(x)+x),x,infinity); > > > > while it gets > > > > > > limit((x^2+5*x)/(exp(x)),x,infinity); > > fine > > > > It must have very specific rules - certainly repeated application of > > L'hopitals rule would work here > > > > Bard Ermentout > > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > _______________________________________________ > Reduce-algebra-developers mailing list > Reduce-algebra-developers@... > https://lists.sourceforge.net/lists/listinfo/reduce-algebra-developers > Rainer Schöpf```

 [Reduce-algebra-developers] new at reduce From: Bard Ermentrout - 2013-11-14 03:48:35 Attachments: Message as HTML ```I am not sure if this is the right place to send questions and I am sorry if it is not. How do I declare, say x and y to be real so that say, conj(x+i*y)=x-i*y? And how do I declare m to be an integer so int(sin(m*x),x,0,2*pi) =0 -- Bard ```
 Re: [Reduce-algebra-developers] new at reduce From: Arthur Norman - 2013-11-14 07:42:36 ```On Wed, 13 Nov 2013, Bard Ermentrout wrote: > I am not sure if this is the right place to send questions and I am sorry > if it is not. Yes this is a good place to ask... > How do I declare, say x and y to be real so that say, conj(x+i*y)=x-i*y? > And how do I declare m to be an integer so int(sin(m*x),x,0,2*pi) =0 > Part of your question may be addressed if I transcribe comments from the code in packages/poly/compopr.red, which may say more than the manual does! % The following code attempts to improve the way that the complex % operators CONJ, REPART and IMPART handle values that are implicitly % real, namely composed "reality-preserving" functions of explicitly % real numbers, implicitly real symbolic constants and variables that % the user has declared using the REALVALUED command defined below. % All arithmetic operations, direct trig functions and the exponential % function are "reality-preserving", but inverse trig functions and the % logarithm are "reality-preserving" only for real arguments in a % restricted range. This relates to piecewise-defined functions! This % code is believed to make the right decision about implicit reality in % straightforward cases, and otherwise errs on the side of caution and % makes no assumption at all, as does the standard REDUCE 3.4 code. It % performs only very limited numerical evaluation, which should be very % fast. It never performs any approximate numerical evaluation, or any % sophisticated analysis, both of which would be much slower and/or % complicated. The current strategy is believed to represent a % reasonable compromise, and will normally give the user what they % expect without undue overhead. symbolic procedure realvalued u; % Command to allow the user to declare functions or variables to be % implicitly real valued. <>; symbolic procedure notrealvalued u; % Undo realvalued declaration. % Cannot recover "complexity", so no need for rmsubs(). for each v in u do if not idp v then typerr(v,"id") else remflag(list v, 'realvalued); flag('(realvaluedp),'boolean); % Make realvaluedp available in % algebraic mode. ============ So a statement realvalued x, y; will tend to help, as in Reduce (Free CSL version), 04-Nov-13 ... 1: conj(x + i*y); - impart(x)*i - impart(y) + repart(x) - repart(y)*i 2: realvalued x, y; 3: conj(x + i*y); - i*y + x Arthur ```
 Re: [Reduce-algebra-developers] new at reduce From: Bard Ermentrout - 2013-11-14 20:35:36 Attachments: Message as HTML ```I have been playing with reduce now for a bit and I was puzzled by the inability of the limit function to get this limit and don't know if this is a bug or not: limit((x^2+5*x)/(exp(x)+x),x,infinity); while it gets limit((x^2+5*x)/(exp(x)),x,infinity); fine It must have very specific rules - certainly repeated application of L'hopitals rule would work here Bard Ermentout On Wed, Nov 13, 2013 at 10:48 PM, Bard Ermentrout wrote: > I am not sure if this is the right place to send questions and I am sorry > if it is not. > How do I declare, say x and y to be real so that say, conj(x+i*y)=x-i*y? > And how do I declare m to be an integer so int(sin(m*x),x,0,2*pi) =0 > > > > -- > Bard > -- Bard ```
 Re: [Reduce-algebra-developers] new at reduce From: Arthur Norman - 2013-11-14 21:17:52 ```I observe that limit(1/(e^x + 1), x, infinity) => 0 limit(x/(e^x + 1), x, infinity) => unsimplified limit(x/e^x, x, infinity) => 0 so there is a jolly project for somebody to trace through and see what it is doing there! I rather wonder if it is because e^x only goes to +infinity if you approach x=infinity eg along the positive real axis - otherwise you have an essential singularity there. And possibly the code that copes (sometimes) with essential singularities is being really cautious...???? I need to sleep right now rather than to dive into the code and see just what it is up to. Arthur On Thu, 14 Nov 2013, Bard Ermentrout wrote: > I have been playing with reduce now for a bit and I was puzzled by the > inability of the limit function to get this limit and don't know if this is > a bug or not: > limit((x^2+5*x)/(exp(x)+x),x,infinity); > > while it gets > > > limit((x^2+5*x)/(exp(x)),x,infinity); > fine > > It must have very specific rules - certainly repeated application of > L'hopitals rule would work here > > Bard Ermentout > ```
 Re: [Reduce-algebra-developers] new at reduce From: Rainer Schöpf - 2013-11-15 07:35:40 ```Only small corrections have been done to the limit module since its author, Stan Kameny, passed away. A lot of the code relies on being able to expand the expression in question into a power series around the limit point. This doesn't work for essential singularities. Indeed, the three limits here don't exist in the complex domain. For limits around infinity, the code tries to substitute x -> 1/x^2 to transform to point 0. For x/(e^x + 1), this gives 1/(e^(1/x^2)*x^2+x^2) which is difficult to handle using L'Hopital's rule. Obviously, this needs a major review. Rainer On Thu, 14 Nov 2013 at 21:17 -0000, Arthur Norman wrote: > I observe that > limit(1/(e^x + 1), x, infinity) => 0 > limit(x/(e^x + 1), x, infinity) => unsimplified > limit(x/e^x, x, infinity) => 0 > so there is a jolly project for somebody to trace through and see what it > is doing there! I rather wonder if it is because e^x only goes to > +infinity if you approach x=infinity eg along the positive real axis - > otherwise you have an essential singularity there. And possibly the code > that copes (sometimes) with essential singularities is being really > cautious...???? > I need to sleep right now rather than to dive into the code and see just > what it is up to. > Arthur > > On Thu, 14 Nov 2013, Bard Ermentrout wrote: > > > I have been playing with reduce now for a bit and I was puzzled by the > > inability of the limit function to get this limit and don't know if this is > > a bug or not: > > limit((x^2+5*x)/(exp(x)+x),x,infinity); > > > > while it gets > > > > > > limit((x^2+5*x)/(exp(x)),x,infinity); > > fine > > > > It must have very specific rules - certainly repeated application of > > L'hopitals rule would work here > > > > Bard Ermentout > > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > _______________________________________________ > Reduce-algebra-developers mailing list > Reduce-algebra-developers@... > https://lists.sourceforge.net/lists/listinfo/reduce-algebra-developers > Rainer Schöpf```
 Re: [Reduce-algebra-developers] new at reduce From: Tony Roberts - 2013-11-14 23:35:11 ```-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, nice to know about realvalued command, I would have liked to use it last year. Is there any effort under way to update the Reduce manual to reflect the developments being made? I am only aware of the 2004 manual. Or is the team looking for someone to do it? Tony On 14/11/13 6:12 PM, Arthur Norman wrote: > On Wed, 13 Nov 2013, Bard Ermentrout wrote: >> I am not sure if this is the right place to send questions and I >> am sorry if it is not. > Yes this is a good place to ask... > >> How do I declare, say x and y to be real so that say, >> conj(x+i*y)=x-i*y? And how do I declare m to be an integer so >> int(sin(m*x),x,0,2*pi) =0 >> > > Part of your question may be addressed if I transcribe comments > from the code in packages/poly/compopr.red, which may say more than > the manual does! > > % The following code attempts to improve the way that the complex % > operators CONJ, REPART and IMPART handle values that are > implicitly % real, namely composed "reality-preserving" functions > of explicitly % real numbers, implicitly real symbolic constants > and variables that % the user has declared using the REALVALUED > command defined below. > > % All arithmetic operations, direct trig functions and the > exponential % function are "reality-preserving", but inverse trig > functions and the % logarithm are "reality-preserving" only for > real arguments in a % restricted range. This relates to > piecewise-defined functions! This % code is believed to make the > right decision about implicit reality in % straightforward cases, > and otherwise errs on the side of caution and % makes no assumption > at all, as does the standard REDUCE 3.4 code. It % performs only > very limited numerical evaluation, which should be very % fast. It > never performs any approximate numerical evaluation, or any % > sophisticated analysis, both of which would be much slower and/or % > complicated. The current strategy is believed to represent a % > reasonable compromise, and will normally give the user what they % > expect without undue overhead. > > symbolic procedure realvalued u; % Command to allow the user to > declare functions or variables to be % implicitly real valued. > < v in u do if not idp v then typerr(v,"id") else flag(list > v,'realvalued)>>; > > symbolic procedure notrealvalued u; % Undo realvalued declaration. > % Cannot recover "complexity", so no need for rmsubs(). for each v > in u do if not idp v then typerr(v,"id") else remflag(list v, > 'realvalued); > > flag('(realvaluedp),'boolean); % Make realvaluedp available in % > algebraic mode. > > ============ So a statement realvalued x, y; will tend to help, as > in > > Reduce (Free CSL version), 04-Nov-13 ... > > 1: conj(x + i*y); > > - impart(x)*i - impart(y) + repart(x) - repart(y)*i > > 2: realvalued x, y; > > 3: conj(x + i*y); > > > - i*y + x > > > > > > Arthur > > > ------------------------------------------------------------------------------ > > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API > Access Free app hosting. Or install the open source package on any > LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha > Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > > _______________________________________________ > Reduce-algebra-developers mailing list > Reduce-algebra-developers@... > https://lists.sourceforge.net/lists/listinfo/reduce-algebra-developers > > . > - -- - --------------------------------------------------------------------- Professor A.J. Roberts School of Mathematical Sciences phone: +61 8 8313 3035 University of Adelaide fax: +61 8 8313 3696 South Australia 5005. mailto:anthony.roberts@... http://www.maths.adelaide.edu.au/anthony.roberts/ ==.0000001000000100000110001000011010001111110010111011101000010000== -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlKFWwkACgkQ7TX8dTbro1si5gCffKG/hRpqN/0SVrkxB4YNaAs+ mo8An2c/cF/9ZwBXY5c4V0lvtsqXhh6Y =2vWv -----END PGP SIGNATURE----- ```
 Re: [Reduce-algebra-developers] new at reduce From: Rainer Schöpf - 2013-11-15 06:35:52 ```Hi, the manual is being updated; the current version is part of the SVN repository (in the doc/manual subtree). I guess I could put the HTML version of that on the web page. Rainer On Fri, 15 Nov 2013 at 09:51 +1030, Tony Roberts wrote: > Hi, > > nice to know about realvalued command, I would have liked to use it > last year. > > Is there any effort under way to update the Reduce manual to reflect > the developments being made? I am only aware of the 2004 manual. Or > is the team looking for someone to do it? > > Tony > > On 14/11/13 6:12 PM, Arthur Norman wrote: > > On Wed, 13 Nov 2013, Bard Ermentrout wrote: > >> I am not sure if this is the right place to send questions and I > >> am sorry if it is not. > > Yes this is a good place to ask... > > > >> How do I declare, say x and y to be real so that say, > >> conj(x+i*y)=x-i*y? And how do I declare m to be an integer so > >> int(sin(m*x),x,0,2*pi) =0 > >> > > > > Part of your question may be addressed if I transcribe comments > > from the code in packages/poly/compopr.red, which may say more than > > the manual does! > > > > % The following code attempts to improve the way that the complex % > > operators CONJ, REPART and IMPART handle values that are > > implicitly % real, namely composed "reality-preserving" functions > > of explicitly % real numbers, implicitly real symbolic constants > > and variables that % the user has declared using the REALVALUED > > command defined below. > > > > % All arithmetic operations, direct trig functions and the > > exponential % function are "reality-preserving", but inverse trig > > functions and the % logarithm are "reality-preserving" only for > > real arguments in a % restricted range. This relates to > > piecewise-defined functions! This % code is believed to make the > > right decision about implicit reality in % straightforward cases, > > and otherwise errs on the side of caution and % makes no assumption > > at all, as does the standard REDUCE 3.4 code. It % performs only > > very limited numerical evaluation, which should be very % fast. It > > never performs any approximate numerical evaluation, or any % > > sophisticated analysis, both of which would be much slower and/or % > > complicated. The current strategy is believed to represent a % > > reasonable compromise, and will normally give the user what they % > > expect without undue overhead. > > > > symbolic procedure realvalued u; % Command to allow the user to > > declare functions or variables to be % implicitly real valued. > > < > v in u do if not idp v then typerr(v,"id") else flag(list > > v,'realvalued)>>; > > > > symbolic procedure notrealvalued u; % Undo realvalued declaration. > > % Cannot recover "complexity", so no need for rmsubs(). for each v > > in u do if not idp v then typerr(v,"id") else remflag(list v, > > 'realvalued); > > > > flag('(realvaluedp),'boolean); % Make realvaluedp available in % > > algebraic mode. > > > > ============ So a statement realvalued x, y; will tend to help, as > > in > > > > Reduce (Free CSL version), 04-Nov-13 ... > > > > 1: conj(x + i*y); > > > > - impart(x)*i - impart(y) + repart(x) - repart(y)*i > > > > 2: realvalued x, y; > > > > 3: conj(x + i*y); > > > > > > - i*y + x > > > > > > > > > > > > Arthur > > > > > > ------------------------------------------------------------------------------ > > > > > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API > > Access Free app hosting. Or install the open source package on any > > LAMP server. Sign up and see examples for AngularJS, jQuery, Sencha > > Touch and Native! > > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > > > > > _______________________________________________ > > Reduce-algebra-developers mailing list > > Reduce-algebra-developers@... > > https://lists.sourceforge.net/lists/listinfo/reduce-algebra-developers > > > > > . > > > > -- > --------------------------------------------------------------------- > Professor A.J. Roberts > School of Mathematical Sciences phone: +61 8 8313 3035 > University of Adelaide fax: +61 8 8313 3696 > South Australia 5005. mailto:anthony.roberts@... > http://www.maths.adelaide.edu.au/anthony.roberts/ > ==.0000001000000100000110001000011010001111110010111011101000010000== > > [ PGP Signature check FAILED - Fr 15. Nov 07:29:29 CET 2013 ] > Rainer Schöpf```
 Re: [Reduce-algebra-developers] new at reduce From: Tony Roberts - 2013-11-15 19:33:23 ```-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, ah good, found it. Although when I created the manual I see that "realvalued" is not included, it seems only to be in a file "aprop.tex" which is nowhere included into the manual. Also the marvellous "in_tex" command does not seem to be documented at all in the manual. Tony PS If anyone else also likes, I generate a nice size for reading on screen (instead of printing) by the header \ifcase2 \or\documentclass[11pt,a4paper]{book} \or\documentclass[11pt,a5paper]{book} \usepackage[a5paper,margin=10.7mm]{geometry} \fi It has almost exactly the same line breaks On 15/11/13 5:05 PM, Rainer Schöpf wrote: > Hi, > > the manual is being updated; the current version is part of the SVN > repository (in the doc/manual subtree). > > I guess I could put the HTML version of that on the web page. > > Rainer > > > On Fri, 15 Nov 2013 at 09:51 +1030, Tony Roberts wrote: > >> Hi, >> >> nice to know about realvalued command, I would have liked to use >> it last year. >> >> Is there any effort under way to update the Reduce manual to >> reflect the developments being made? I am only aware of the 2004 >> manual. Or is the team looking for someone to do it? >> >> Tony >> >> On 14/11/13 6:12 PM, Arthur Norman wrote: >>> On Wed, 13 Nov 2013, Bard Ermentrout wrote: >>>> I am not sure if this is the right place to send questions >>>> and I am sorry if it is not. >>> Yes this is a good place to ask... >>> >>>> How do I declare, say x and y to be real so that say, >>>> conj(x+i*y)=x-i*y? And how do I declare m to be an integer >>>> so int(sin(m*x),x,0,2*pi) =0 >>>> >>> >>> Part of your question may be addressed if I transcribe >>> comments from the code in packages/poly/compopr.red, which may >>> say more than the manual does! >>> >>> % The following code attempts to improve the way that the >>> complex % operators CONJ, REPART and IMPART handle values that >>> are implicitly % real, namely composed "reality-preserving" >>> functions of explicitly % real numbers, implicitly real >>> symbolic constants and variables that % the user has declared >>> using the REALVALUED command defined below. >>> >>> % All arithmetic operations, direct trig functions and the >>> exponential % function are "reality-preserving", but inverse >>> trig functions and the % logarithm are "reality-preserving" >>> only for real arguments in a % restricted range. This relates >>> to piecewise-defined functions! This % code is believed to make >>> the right decision about implicit reality in % straightforward >>> cases, and otherwise errs on the side of caution and % makes no >>> assumption at all, as does the standard REDUCE 3.4 code. It % >>> performs only very limited numerical evaluation, which should >>> be very % fast. It never performs any approximate numerical >>> evaluation, or any % sophisticated analysis, both of which >>> would be much slower and/or % complicated. The current strategy >>> is believed to represent a % reasonable compromise, and will >>> normally give the user what they % expect without undue >>> overhead. >>> >>> symbolic procedure realvalued u; % Command to allow the user >>> to declare functions or variables to be % implicitly real >>> valued. <>> re-evaluated. for each v in u do if not idp v then >>> typerr(v,"id") else flag(list v,'realvalued)>>; >>> >>> symbolic procedure notrealvalued u; % Undo realvalued >>> declaration. % Cannot recover "complexity", so no need for >>> rmsubs(). for each v in u do if not idp v then typerr(v,"id") >>> else remflag(list v, 'realvalued); >>> >>> flag('(realvaluedp),'boolean); % Make realvaluedp available in >>> % algebraic mode. >>> >>> ============ So a statement realvalued x, y; will tend to help, >>> as in >>> >>> Reduce (Free CSL version), 04-Nov-13 ... >>> >>> 1: conj(x + i*y); >>> >>> - impart(x)*i - impart(y) + repart(x) - repart(y)*i >>> >>> 2: realvalued x, y; >>> >>> 3: conj(x + i*y); >>> >>> >>> - i*y + x >>> >>> >>> >>> >>> >>> Arthur >>> >>> >>> ------------------------------------------------------------------------------ > >>> >> >>> >> DreamFactory - Open Source REST & JSON Services for HTML5 & >> Native Apps >>> OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API >>> Access Free app hosting. Or install the open source package on >>> any LAMP server. Sign up and see examples for AngularJS, >>> jQuery, Sencha Touch and Native! >>> http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > >>> >> >>> >> _______________________________________________ >>> Reduce-algebra-developers mailing list >>> Reduce-algebra-developers@... >>> https://lists.sourceforge.net/lists/listinfo/reduce-algebra-developers > >>> >> >>> >> . >>> >> >> -- >> --------------------------------------------------------------------- > >> > Professor A.J. Roberts >> School of Mathematical Sciences phone: +61 8 8313 3035 >> University of Adelaide fax: +61 8 8313 3696 South >> Australia 5005. >> mailto:anthony.roberts@... >> http://www.maths.adelaide.edu.au/anthony.roberts/ >> ==.0000001000000100000110001000011010001111110010111011101000010000== > >> > >> [ PGP Signature check FAILED - Fr 15. Nov 07:29:29 CET 2013 ] >> > > Rainer Schöpf - -- - --------------------------------------------------------------------- Professor A.J. Roberts School of Mathematical Sciences phone: +61 8 8313 3035 University of Adelaide fax: +61 8 8313 3696 South Australia 5005. mailto:anthony.roberts@... http://www.maths.adelaide.edu.au/anthony.roberts/ ==.0000001000000100000110001000011010001111110010111011101000010000== -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAlKGdvIACgkQ7TX8dTbro1s59wCeN/HpcnsczoARZGHzcnSpvWoj 0YoAnRINFZ8PR4L89Tkkn/ncl6kHTGOk =VDpY -----END PGP SIGNATURE----- ```
 Re: [Reduce-algebra-developers] new at reduce From: Rainer Schöpf - 2013-11-16 06:55:02 ```Hello, are you still looking at the old svn tree? Sourceforge moved everything to a new layout, but didn't remove the old one. Current is https://svn.code.sf.net/p/reduce-algebra/code/trunk Rainer > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi, > > ah good, found it. > > Although when I created the manual I see that "realvalued" is not > included, it seems only to be in a file "aprop.tex" which is nowhere > included into the manual. Also the marvellous "in_tex" command does > not seem to be documented at all in the manual. > > Tony > > PS If anyone else also likes, I generate a nice size for reading on > screen (instead of printing) by the header > \ifcase2 > \or\documentclass[11pt,a4paper]{book} > \or\documentclass[11pt,a5paper]{book} > \usepackage[a5paper,margin=10.7mm]{geometry} > \fi > It has almost exactly the same line breaks > > > On 15/11/13 5:05 PM, Rainer Sch??f wrote: > > Hi, > > > > the manual is being updated; the current version is part of the SVN > > repository (in the doc/manual subtree). > > > > I guess I could put the HTML version of that on the web page. > > > > Rainer > > > > > > On Fri, 15 Nov 2013 at 09:51 +1030, Tony Roberts wrote: > > > >> Hi, > >> > >> nice to know about realvalued command, I would have liked to use > >> it last year. > >> > >> Is there any effort under way to update the Reduce manual to > >> reflect the developments being made? I am only aware of the 2004 > >> manual. Or is the team looking for someone to do it? > >> > >> Tony > >> > >> On 14/11/13 6:12 PM, Arthur Norman wrote: > >>> On Wed, 13 Nov 2013, Bard Ermentrout wrote: > >>>> I am not sure if this is the right place to send questions > >>>> and I am sorry if it is not. > >>> Yes this is a good place to ask... > >>> > >>>> How do I declare, say x and y to be real so that say, > >>>> conj(x+i*y)=x-i*y? And how do I declare m to be an integer > >>>> so int(sin(m*x),x,0,2*pi) =0 > >>>> > >>> > >>> Part of your question may be addressed if I transcribe > >>> comments from the code in packages/poly/compopr.red, which may > >>> say more than the manual does! > >>> > >>> % The following code attempts to improve the way that the > >>> complex % operators CONJ, REPART and IMPART handle values that > >>> are implicitly % real, namely composed "reality-preserving" > >>> functions of explicitly % real numbers, implicitly real > >>> symbolic constants and variables that % the user has declared > >>> using the REALVALUED command defined below. > >>> > >>> % All arithmetic operations, direct trig functions and the > >>> exponential % function are "reality-preserving", but inverse > >>> trig functions and the % logarithm are "reality-preserving" > >>> only for real arguments in a % restricted range. This relates > >>> to piecewise-defined functions! This % code is believed to make > >>> the right decision about implicit reality in % straightforward > >>> cases, and otherwise errs on the side of caution and % makes no > >>> assumption at all, as does the standard REDUCE 3.4 code. It % > >>> performs only very limited numerical evaluation, which should > >>> be very % fast. It never performs any approximate numerical > >>> evaluation, or any % sophisticated analysis, both of which > >>> would be much slower and/or % complicated. The current strategy > >>> is believed to represent a % reasonable compromise, and will > >>> normally give the user what they % expect without undue > >>> overhead. > >>> > >>> symbolic procedure realvalued u; % Command to allow the user > >>> to declare functions or variables to be % implicitly real > >>> valued. < >>> re-evaluated. for each v in u do if not idp v then > >>> typerr(v,"id") else flag(list v,'realvalued)>>; > >>> > >>> symbolic procedure notrealvalued u; % Undo realvalued > >>> declaration. % Cannot recover "complexity", so no need for > >>> rmsubs(). for each v in u do if not idp v then typerr(v,"id") > >>> else remflag(list v, 'realvalued); > >>> > >>> flag('(realvaluedp),'boolean); % Make realvaluedp available in > >>> % algebraic mode. > >>> > >>> ============ So a statement realvalued x, y; will tend to help, > >>> as in > >>> > >>> Reduce (Free CSL version), 04-Nov-13 ... > >>> > >>> 1: conj(x + i*y); > >>> > >>> - impart(x)*i - impart(y) + repart(x) - repart(y)*i > >>> > >>> 2: realvalued x, y; > >>> > >>> 3: conj(x + i*y); > >>> > >>> > >>> - i*y + x > >>> > >>> > >>> > >>> > >>> > >>> Arthur > >>> > >>> > >>> > ------------------------------------------------------------------------------ > > > >>> > >> > >>> > >> DreamFactory - Open Source REST & JSON Services for HTML5 & > >> Native Apps > >>> OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API > >>> Access Free app hosting. Or install the open source package on > >>> any LAMP server. Sign up and see examples for AngularJS, > >>> jQuery, Sencha Touch and Native! > >>> > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > > > >>> > >> > >>> > >> _______________________________________________ > >>> Reduce-algebra-developers mailing list > >>> Reduce-algebra-developers@... > >>> > https://lists.sourceforge.net/lists/listinfo/reduce-algebra-developers > > > >>> > >> > >>> > >> . > >>> > >> > >> -- > >> --------------------------------------------------------------------- > > > >> > > Professor A.J. Roberts > >> School of Mathematical Sciences phone: +61 8 8313 3035 > >> University of Adelaide fax: +61 8 8313 3696 South > >> Australia 5005. > >> mailto:anthony.roberts@... > >> http://www.maths.adelaide.edu.au/anthony.roberts/ > >> ==.0000001000000100000110001000011010001111110010111011101000010000== > > > >> > > > >> [ PGP Signature check FAILED - Fr 15. Nov 07:29:29 CET 2013 ] > >> > > > > Rainer Sch??f > > - -- > - --------------------------------------------------------------------- > Professor A.J. Roberts > School of Mathematical Sciences phone: +61 8 8313 3035 > University of Adelaide fax: +61 8 8313 3696 > South Australia 5005. mailto:anthony.roberts@... > http://www.maths.adelaide.edu.au/anthony.roberts/ > ==.0000001000000100000110001000011010001111110010111011101000010000== > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (Darwin) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAlKGdvIACgkQ7TX8dTbro1s59wCeN/HpcnsczoARZGHzcnSpvWoj > 0YoAnRINFZ8PR4L89Tkkn/ncl6kHTGOk > =VDpY > -----END PGP SIGNATURE----- > Rainer Schöpf```