Re: Re: Re: Simplify with NestedLessLess?
- To: mathgroup at smc.vnet.net
- Subject: [mg106603] Re: [mg106594] Re: [mg106531] Re: [mg106487] Simplify with NestedLessLess?
- From: Dave Bird <dbird at ieee.org>
- Date: Mon, 18 Jan 2010 02:34:32 -0500 (EST)
- References: <201001141049.FAA19892@smc.vnet.net> <4B4F39E7.1070002@wolfram.com> <4B4FAC81.7000108@ieee.org> <4B4FB26F.7050702@wolfram.com> <201001150821.DAA29881@smc.vnet.net> <op.u6k8eysrtgfoz2@bobbys-imac.local> <120224.1263732054539.JavaMail.root@n11> <002e01ca9797$f613f780$e23be680$@net>
- Reply-to: dbird at ieee.org
I tried this on: examp=-288 C^2 Cf^2 L2^2 Rg^5 Vd^4 Vg^2-288 C^2 Cf^2 L2^2 Rg^5 Vd^3 Vg^3-72 C^2 Cf^2 L2^2 Rg^5 Vd^2 Vg^4+\[Sqrt]((-288 C^2 Cf^2 L2^2 Rg^5 Vd^4 Vg^2-288 C^2 Cf^2 L2^2 Rg^5 Vd^3 Vg^3-72 C^2 Cf^2 L2^2 Rg^5 Vd^2 Vg^4+144 C Cf^3 L2^2 Rg^5 Vd^4 Vg^2+72 C Cf^3 L2^2 Rg^5 Vd^3 Vg^3-2 Cf^3 L2^3 Rg^3 Vg^6)^2+4 (12 C Cf L2 Rg^4 Vd^2 (Vd+Vg) (C Vg+2 Cf Vd)-Cf^2 L2^2 Rg^2 Vg^4)^3)+144 C Cf^3 L2^2 Rg^5 Vd^4 Vg^2+72 C Cf^3 L2^2 Rg^5 Vd^3 Vg^3-2 Cf^3 L2^3 Rg^3 Vg^6 It ran for about two hours before I aborted it. I suspect the reason is because there is no form (C+Cf) that results. If we use the following as a starter on the above examp, it yields some excellent candidates for elimination. Collect[ExpandAll[examp /. C -> Cf*eps], Cf, Simplify] Out[106]= -72 Cf^4 eps L2^2 Rg^5 Vd^2 Vg^2 (2 Vd+Vg) ((2 eps-1) Vd+eps Vg)-2 Cf^3 L2^3 Rg^3 Vg^6+12 \[Sqrt](Cf^7 eps L2^3 Rg^8 Vd^2 (48 Cf^2 eps^2 Rg^4 Vd^4 (Vd+Vg)^3 (eps Vg+2 Vd)^3+12 Cf eps L2 Rg^2 Vd^2 Vg^4 (8 (6 eps^2-6 eps+1) Vd^4+4 (24 eps^2-19 eps+1) Vd^3 Vg+(71 eps^2-44 eps-1) Vd^2 Vg^2+2 eps^2 Vg^4+2 eps (11 eps-5) Vd Vg^3)+L2^2 Vg^8 ((8 eps-2) Vd^2+9 eps Vd Vg+3 eps Vg^2))) How can we parameterize the terms where powers of eps are compared to \[PlusMinus] 1 or 2 or whatever? I now think operator control/interpretation is vital since some apriori knowledge of the degree of magnitude is necessary. In other words, it may or may not be acceptable in a given case to eliminate for example (71 eps^2-44 eps-1)->-1 Thanks, Dave David Park wrote: > I think I'm beginning to see what you want to do. You want to factor terms > that can be factored into the form factor(C+Cf) and retain all other terms. > Then you can spot these terms and make suitable simplifications. > > Here is a somewhat more complicated expression, just to give a more general > test example. > > expr = (-Cf^2 L2^2 Rg^2 Vg^4 + > 3 (4 C Rg^2 Vd^2 + 4 Cf Rg^2 Vd^2 + 2 C Rg^2 Vd Vg))/( > 1 - Sqrt[4 C Rg^2 Vd^2 + 4 Cf Rg^2 Vd^2 + 2 C Rg^2 Vd Vg + extra]); > ExpandAll[expr] //. > a_ C + a_ Cf + terms_. -> a HoldForm[(C + Cf)] + terms // Simplify > % /. C + Cf -> C // ReleaseHold > > (Rg^2 (-6 C Vd Vg+Cf^2 L2^2 Vg^4-12 Vd^2 (C+Cf)))/(-1+Sqrt[extra+2 C Rg^2 Vd > Vg+4 Rg^2 Vd^2 (C+Cf)]) > > (Rg^2 (-12 C Vd^2-6 C Vd Vg+Cf^2 L2^2 Vg^4))/(-1+Sqrt[extra+4 C Rg^2 Vd^2+2 > C Rg^2 Vd Vg]) > > We expanded everything, used a factoring rule, putting C+Cf in a HoldForm to > protect it, and then used Simplify. You could then replace C+Cf with C. > > > David Park > djmpark at comcast.net > http://home.comcast.net/~djmpark/ > > > > From: Dave Bird [mailto:dbird at ieee.org] > > > Interesting! But, I don't think I am correctly communicating what I'm > after yet. (Although, I admit that I am struggling some to keep up with > you guys in your Mathematica replies due to my inexperience.) > > The original expression that I put up for illustration is: > > -Cf^2 L2^2 Rg^2 Vg^4+3 (4 C Rg^2 Vd^2+4 Cf Rg^2 Vd^2+2 C Rg^2 Vd Vg) > > We compare 4 C Rg^2 Vd^2 to 4 Cf Rg^2 Vd^2 because the two terms share > common coefficients so that they "reduce" to (4 Rg^2 Vd^2+4 Rg^2 Vd^2) > (C+Cf) . Thus it becomes obvious that C may be discarded w.r.t. Cf. > > Please forgive if I have missed the correct application of your > suggestion, and thanks for the interest. > > Dave > > DrMajorBob wrote: > >> Series[-Cf^2 L2^2 Rg^2 Vg^4 + >> 3 (4 C Rg^2 Vd^2 + 4 Cf Rg^2 Vd^2 + 2 C Rg^2 Vd Vg), {C, 0, >> 5}] // Simplify >> >> SeriesData[C, 0, { >> Cf Rg^2 (12 Vd^2 - Cf L2^2 Vg^4), 6 Rg^2 Vd (2 Vd + Vg)}, 0, 6, 1] >> >> Bobby >> >> On Fri, 15 Jan 2010 02:21:09 -0600, Dave Bird <dbird at ieee.org> wrote: >> >> >>> Not infinitesimals. I'm working in analog circuit design/analysis. I >>> have a 3 pole symbolic circuit response (third order) which is not >>> easily separable. I can use Mathematica to find the three roots of the >>> response. But, the roots are, of course, very messy. I know that certain >>> elements in the circuit are orders of magnitude larger than other like >>> elements - capacitors in this case. For example, one small section of >>> one root is >>> >>> -Cf^2 L2^2 Rg^2 Vg^4+3 (4 C Rg^2 Vd^2+4 Cf Rg^2 Vd^2+2 C Rg^2 Vd Vg) >>> >>> I know that C<<Cf. By careful inspection, I can see that the first term >>> in the parens will drop out compared to the second term in the parens. I >>> would like Mathematica to do this without my having to examine it so >>> closely since there are many other like situations. >>> >>> This kind of situation occurs in many other engineering situations. >>> >>> Hope this helps clarify. >>> >>> Thanks for the interest. >>> >>> Dave >>> >>> >>> >>> >>> Daniel Lichtblau wrote: >>> >>>> Dave Bird wrote: >>>> >>>>> Thanks Daniel for the observation. I forgot to add that both a, and b >>>>> are real positive. That, of course would have to be added to the >>>>> assumptions. >>>>> >>>>> Dave >>>>> >>>> It's still not obvious what you are wanting to do. I have the idea you >>>> are working in some sense with infinitesmals. If so, I doubt Simplify >>>> would be the best tool for removing them; it really can only do that >>>> if it is told, in some way, to replace them with zero. How might one >>>> instruct Simplify to figure that out? >>>> >>>> Daniel >>>> >>>> >>>> >>>>> Daniel Lichtblau wrote: >>>>> >>>>>> dbird wrote: >>>>>> >>>>>>> Please excuse if this has been answered before, but I can't find it. >>>>>>> >>>>>>> Is there some way to do a Simplify with assumptions using a >>>>>>> NestedLessLess or something similar? For example: >>>>>>> >>>>>>> d=a+b >>>>>>> Simplify[d,NestedLessLess[a,b]] >>>>>>> >>>>>>> Answer is: >>>>>>> a+b >>>>>>> >>>>>>> Answer should be: >>>>>>> b >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Dave >>>>>>> >>>>>> I fail to see why the result should be b. >>>>>> >>>>>> Daniel Lichtblau >>>>>> Wolfram Research >>>>>> >>>>>> >>>>>> >>>> >> > > > >
- References:
- Simplify with NestedLessLess?
- From: dbird <dbird@ieee.org>
- Re: Simplify with NestedLessLess?
- From: Dave Bird <dbird@ieee.org>
- Simplify with NestedLessLess?