Post Reply 
[Request] Control of algebraic expressions CAS
06-08-2016, 01:50 PM (This post was last modified: 06-08-2016 02:33 PM by compsystems.)
Post: #3
RE: [Request] Control of algebraic expressions CAS
expressions rewrite alters the domains of expressions in many cases, rewrite the expressions is difficult to identify entry

fabulous if you can include a flag, so that the entries are not evaluated, at least in xcas

for example I want to know what the numerator and denominator of the following expression 'x^3/x^2', to make a symbolic derivation step as didactic project from my university, unfortunately this is evaluated as X =(

the following code will never be executed, the CAS hpprime is good, but does not allow me to do I want, with simple improvements could be the best CAS on calculators, the hp48/50 calculator retains the inputs to run obj-> that is similar to PART function (see PART FUNCTION on HP48/50) http://www.hpmuseum.org/forum/thread-6377.html)

if (operator=="/") then
Return (part2*diff_table(part1,var)-part1*diff_table(part2,var))/(part2^2);
end;

∂(x^3/x^2,x) -> ((x^2*∂(x^3,x))-(x^3*∂(x^2,x)))/x^2^2 -> 1

Code:
    
// version 0.2 Jun 6 2016 by COMPSYSTEMS COPYLEFT inv(©)
#cas
diff_table(xpr,var):=
BEGIN
    LOCAL nparts, operator, part1, part2;
    LOCAL xprSameVar;
    //CASE 1: if the expression is a variable name or identifier
    if (type(xpr)==DOM_IDENT) then
        // CASE 2: if the expression is equal to the variable, example diff(x,x)=1, otherwise diff(x,y)=0
        return when(xpr==var,1,0);
    end;
    // number of parts of the expression
    nparts:=part(xpr);
    //operator
    operator:=part(xpr,0);

if (operator=="/") then
  Return (part2*diff_table(part1,var)-part1*diff_table(part2,var))/(part2^2);
    end;

...
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: [Request] Control of algebraic expressions CAS - compsystems - 06-08-2016 01:50 PM



User(s) browsing this thread: 1 Guest(s)