Are there any plans for a new release?
Thank you for showing this possibility: using conc and {} is also a useful "trick". B.t.w. in the documentation for each is documented with join, but join seems to be just a REDUCE synonym for conc. Is that the Lisp "conc"?
thank you, that works. I have checked the documentation (http://www.reduce-algebra.com/manual/manual.pdf) again, but I do not feel that I have overlooked something ... Using t instead of 1 also works and looks more consistent to me (sorry, if I seem picky, but I want to understand ...). Is there a way in REDUCE to compose functions in a way similiar to this: procedure divable(p,d); if remainder(p,d) = 0 then t else nil; extractlist({x,y}, divable(~p,x)); with expected output {x}? (The above code...
I am still fighting with the basics of REDUCE. From a list of polynomials I want to extract those that are divisible by a given polynomial. I have tried the following: procedure ismultx(p); if remainder(p,x) = 0 then 1 else 0; load_package assist; extractlist({x,y}, ismultx); But this returns the whole list {x,y}, although ismultx(y) gives 0. Is there a simpler way than writing my own procedure extractmultiples(polylist,poly)?
Basically that would do it. For plotting one would have to generate points and pass them to the plot command, if I got that correctly. But I was looking for a way of (programmatically) generating a function/procedure mapping the x-value to the y-value. In python one could do something like this (using strings here for simplicity instead of symbolic expressions like provided by sympy): def genPieceFunc(pdf:list): def pieceFunc(x): for upper,expr in pdf: if x < upper: return eval(expr, {'x':x}) return...
Ok, I managed to implement a first version of a convolution procedure pw_conv for piecewise functions represented as list as proposed above. The standard uniform distribution is represented as {{0,0},{1,1},{INFINITY,0}} (a trailing {INFINITY,0} could be omitted). The successive convolutions with itself give the expected results {{0,0},{1,x},{2,2-x}}, ... (see attached code + screenshot). Now I am stuck on how to convert this representation to a procedure for numerical evaluation and plotting. Is...
Here is the screenshot:
Ok, I managed to implement a first version of a convolution procedure pw_conv for piecewise functions represented as proposed above. The standard uniform distribution is represented as {{0,0},{1,1},{INFINITY,0}} (a trailing {INFINITY,0} could be omitted). The successive convolutions with itself give the expected results {{0,0},{1,x},{2,2-x}}, ... (see attached code + screenshot). Now I am stuck on how to convert this representation to a procedure for numerical evaluation and plotting. Is it possible...
Thank you for looking into this. I am using the CSL version, revision 5368, from June this year. See attached screen shot. Wolfgang
A minor thing: after declaring order x,t the output of x-t remains x-t. But f(x-t) (having declared operator f) still becomes f(-t+x). Is this by intention?
I guess it is not possible to use any of the existing possibilities to model piecewise functions (let {... => e1 when ...} or procedure ...; if ... then e1 ...) because the limits of the scope of validity of the single expressions cannot be retrieved, but they are necessary to compute the integration limits. So the way to go seems to be to model a piecewise function f as a list of pairs like {{l1,e1},{l2,e2}, ...} with the intention of let {f(~x) => e1 when x <= l1, f(~x) => e2 when l1 < x <= l2,...
I guess it is not possible to use any of the existing possibilities to model piecewise functions (let {... => e1 when ...} or procedure ...; if ... then e1 ...) because the limits of the scope of validity of the single expressions cannot be retrieved, but they are necessary to compute the integration limits. So the way to go seems to be to model a piecewise function f as a list of pairs like {{l1,e1},{l2,e2}, ...} with the intention of let {f(~x) => e1 when x <= l1, f(~x) => e2 when l1 < x <= l2,...
Given two piecewise polynomial functions, how could one compute the (symbolic representation of the) function generated by the convolution of these functions in REDUCE? E.g. I want to get the (piecewise polynomial) probability density function of X1+X2 given the probability density functions of X1,X2, which are piecewise polynomial.
excellent - thank you!
The existential and universal quantifier are not displayed correctly on my Windows computer using the CSL GUI. Anything I can do about this? (see attached image)
I just found this old thread: https://sourceforge.net/p/reduce-algebra/discussion/899364/thread/2955191e/ rlsimpl does not simplify the original output, but rlcad does! Btw: running rlcad on the original proposition with quantifiers takes "very long" (> 90s), whereas combining rlcad and rlqe like rlcad(rlqe prop) , i.e. running rlcad on the output of rlqe, only takes ~200 ms.
Quantifier eliminiation over the reals using redlog gave me the following output: a - 4 <= 0 and (a**2 - 4*a <= 0 and (a - 1 = 0 or a + 8 = 0) or a**2 - 4*a >= 0 and (a - 1 = 0 or a + 8 = 0)) This is equivalent to a - 1 = 0 or a + 8 = 0 Can reduce perform such simplifications?
Good analysis, thank you. We are currently working with the last version that did not show this problem (see above). We will wait for a new release for upgrading.
mkdir on file-repo crashes since svn1130, pysvn 1.9.11