MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Re: Simplify with NestedLessLess?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg106609] Re: [mg106594] Re: [mg106531] Re: [mg106487] Simplify with NestedLessLess?
  • From: "David Park" <djmpark at comcast.net>
  • Date: Mon, 18 Jan 2010 02:35:39 -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>

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
>>>>>
>>>>>
>>>
>>>
>>
>
>




  • Prev by Date: Re: Simplify with NestedLessLess?
  • Next by Date: Re: Re: Re: Simplify with NestedLessLess?
  • Previous by thread: Re: Simplify with NestedLessLess?
  • Next by thread: Re: Re: Re: Simplify with NestedLessLess?