Hi all -- Since FriCAS can run in (for example) SBCL, and Maxima can be loaded in to SBCL, (running in the Common Lisp :Maxima package), why not have them co-exist? A FriCAS type/category/domain could be Maxima-Expression.
(It would perhaps make sense to have Maxima-Canonical-Rational-Expression, and maybe a few others like Truncated Taylor Series, Poisson series). Alternatively, one could perhaps use Maxima as the main command processor with calls to FriCAS routines as appropriate (e.g. better symbolic integration?) RJF [email protected] On Saturday, February 18, 2017 at 8:42:29 PM UTC-8, Waldek Hebisch wrote: > > Constantine Frangos cited Kurt: > > Am 25.01.2017 um 17:56 schrieb Constantine Frangos: > > > > > > (a) any symbolic arguments appearing in the trigonometric > > > functions, for example, > > > cos(x1)*sin(y)-sin(x1)*cos(y), > > > cos(x3)*sin(z)-sin(x3)*cos(z), etc > > > > That's the point. If you're using t1,t2 this way, look what happens: > > > > (1) -> t1 := cos(x)*sin(y) - cos(y)*sin(x) > > > > (1) cos(x)sin(y) - cos(y)sin(x) > > Type: > Expression(Integer) > > (2) -> t2 := - sin(x)*sin(y) + cos(x)*cos(y) > > > > (2) - sin(x)sin(y) + cos(x)cos(y) > > Type: > Expression(Integer) > > (3) -> expr := tan(q)*tan(w) + t1*cos(x3) + t2*w*cos(a) + r3*t1*t2 + 5 > > > > (3) > > 2 > > tan(q)tan(w) - r3 cos(x)sin(x)sin(y) > > + > > 2 2 > > (r3 cos(y)sin(x) - w cos(a)sin(x) + r3 cos(x) cos(y) + > cos(x)cos(x3)) > > * > > sin(y) > > + > > 2 > > (- r3 cos(x)cos(y) - cos(x3)cos(y))sin(x) + w cos(a)cos(x)cos(y) + > 5 > > Type: > Expression(Integer) > > (4) -> > > > > > > and wrote: > > %I was not aware of this behaviour. However, I believe that fricas > should not > > %automatically expand expressions that the user inputs. If this can be > > %modified then it would be very helpful. > > %Note that another public domain CAS called Maxima does not expand the > above > > %expression. In addition, the user can perform the above simplification > > %by using a built-in Maxima function called trigreduce(). > > %Maybe fricas should consider having such a built-in function. This will > > %only add to the strong points that it has. > > A little additon: FriCAS actually have a function which works > like Maxima trigreduce(), namely expandTrigProducts: > > (11) -> expandTrigProducts(cos(x1)*sin(y)-sin(x1)*cos(y)) > > (11) sin(y - x1) > Type: > Expression(Integer) > (12) -> t1 := cos(x)*sin(y) - cos(y)*sin(x) > > (12) cos(x)sin(y) - cos(y)sin(x) > Type: > Expression(Integer) > (13) -> t2 := - sin(x)*sin(y) + cos(x)*cos(y) > > (13) - sin(x)sin(y) + cos(x)cos(y) > Type: > Expression(Integer) > (14) -> expr := tan(q)*tan(w) + t1*cos(x3) + t2*w*cos(a) + r3*t1*t2 + 5 > > (14) > 2 > tan(q)tan(w) - r3 cos(x)sin(x)sin(y) > + > 2 2 > (r3 cos(y)sin(x) - w cos(a)sin(x) + r3 cos(x) cos(y) + > cos(x)cos(x3)) > * > sin(y) > + > 2 > (- r3 cos(x)cos(y) - cos(x3)cos(y))sin(x) + w cos(a)cos(x)cos(y) + 5 > Type: > Expression(Integer) > (15) -> expandTrigProducts(expr) > > (15) > 2 2 > 2tan(q)tan(w) + (r3 sin(x) + r3 cos(x) )sin(2y) + sin(y + x3 - x) > + > 2 2 > - r3 sin(2x)sin(y) + sin(y - x3 - x) - r3 cos(y) sin(2x) > + > w cos(y + x + a) + w cos(y + x - a) + 10 > / > 2 > Type: > Expression(Integer) > > Let me add that both Maxima trigreduce() and expandTrigProducts > works by _expanding_ products, namely: > > (16) -> expandTrigProducts(sin(x)*cos(y)) > > sin(y + x) - sin(y - x) > (16) ----------------------- > 2 > Type: > Expression(Integer) > (17) -> expandTrigProducts(sin(x)*cos(y)*sin(z)) > > - cos(z + y + x) + cos(z + y - x) - cos(z - y + x) + cos(z - y - > x) > (17) > ------------------------------------------------------------------- > 4 > Type: > Expression(Integer) > > that is _each_ product is replaced, regardless if it leads > to simplification or not. > > -- > Waldek Hebisch > -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.
