02:50 -!- Prax01D(n=Prax01D@149.99.85.213) has joined #maxima 06:39 -!- stw(n=stw@e176143062.adsl.alicedsl.de) has joined #maxima 08:17 -!- szymon_(n=szymon@bzh125.neoplus.adsl.tpnet.pl) has joined #maxima 08:32 -!- Prax01D(n=Prax01D@tor58-7-82-102.dynamic.rogerstelecom.net) has joined #maxima 09:49 -!- lisppaste4(n=lisppast@common-lisp.net) has joined #maxima 10:08 -!- faroe(n=faroe@port487.ds1-od.adsl.cybercity.dk) has joined #maxima 12:30 -!- gabkdlly(n=gabriel@dslb-088-073-140-011.pools.arcor-ip.net) has joined #maxima 14:08 -!- eggauah(n=daniel@201.82.9.163) has joined #maxima 14:38 -!- Prax01D(n=Prax01D@tor58-4-74-38.dynamic.rogerstelecom.net) has joined #maxima 15:37 -!- szymon(n=szymon@bzi42.neoplus.adsl.tpnet.pl) has joined #maxima 16:42 -!- gabkdlly(n=gabriel@dslb-088-073-053-173.pools.arcor-ip.net) has joined #maxima 20:32 -!- Prax01D(n=Prax01D@149.99.85.63) has joined #maxima 20:36 -!- davidm123(n=davidm12@host-24-149-183-81.patmedia.net) has joined #maxima 20:39 is there a way to operate on only a subexpression? for example, if I want to factor only the denominator of an expression. 20:39 the following factors the entire expression: factor( (1/(2*x) + 1/(2*y)) / (1/(2*z) + 1/(2*w)) ); 20:39 I can use "part", but that eliminates the numerator: factor( part( (1/(2*x) + 1/(2*y)) / (1/(2*z) + 1/(2*w)), 2) ); 20:43 I can preserve the numerator by reconstructing the expression %i1 as follows: part(%i1,1) / factor(part(%i1,2)); 20:44 but in general, I'd prefer not to rewrite the algebra for reconstructing that. That example with division is simple, but other expressions would be more complicated. 20:45 What I want to do is something like as following (using pseudo-code): factor( (1/(2*x) + 1/(2*y)) / (1/(2*z) + 1/(2*w)) , part, 2 ); 20:46 so that factor returns the full original expression but only operated on the given subexpression (the denominator) 20:46 hmm 20:47 sort of like what you do in Mathcad: select the subexpression and click "Factor". 20:48 i still haven't managed to get source level debugging work 21:38 well, this seems to be one approach... 21:38 matchdeclare(A,lfreeof([x]))$ 21:38 defrule(r1,A,factor(A))$ 21:39 apply1( (1/(2*x) + 1/(2*y)) / (1/(2*z) + 1/(2*w)), r1 ); 21:39 or something like that.