[Date Index]
[Thread Index]
[Author Index]
Re: Re: Simplify with NestedLessLess?
*To*: mathgroup at smc.vnet.net
*Subject*: [mg106583] Re: [mg106531] Re: [mg106487] Simplify with NestedLessLess?
*From*: Dave Bird <dbird at ieee.org>
*Date*: Sun, 17 Jan 2010 07:11:17 -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> <4B5215AE.6020402@ieee.org> <op.u6niq5nhtgfoz2@bobbys-imac.local>
*Reply-to*: dbird at ieee.org
I have found a process which almost works. Still requires visual
inspection, and I suspect will not always work because it depends
strongly on the workings of Simplify. My comments in []s.
In[4]:= examp=-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)
Out[4]= 3 (4 C Rg^2 Vd^2+2 C Rg^2 Vd Vg+4 Cf Rg^2 Vd^2)-Cf^2 L2^2 Rg^2 Vg^4
In[37]:= examp/.C->Cf*eps
Out[37]= 3 (4 Cf eps Rg^2 Vd^2+2 Cf eps Rg^2 Vd Vg+4 Cf Rg^2 Vd^2)-Cf^2
L2^2 Rg^2 Vg^4
In[38]:= Simplify[%]
Out[38]= Cf Rg^2 (-Cf L2^2 Vg^4+12 (eps+1) Vd^2+6 eps Vd Vg)
[term (eps+1) depends on Simplify, term in general case can be somewhat
different requiring inspection for next step.]
In[39]:= %/.(eps+1)->1
Out[39]= Cf Rg^2 (-Cf L2^2 Vg^4+6 eps Vd Vg+12 Vd^2)
In[40]:= Simplify[%/.eps->C/Cf]
Out[40]= -Rg^2 (-6 C Vd Vg+Cf^2 L2^2 Vg^4-12 Cf Vd^2)
In general the term (eps+1) can be (<number> eps +-<another number>) or,
in general the <number> or <another number> could be some symbol
requiring operator knowledge to proceed further. An automatic, fixed
algorithm might have to implicitly require limits on the max value of
<number> and the minimum value of <another number>. Or, the algorithm
could specify some range of meaning for C<<Cf. I suppose this is why the
NestedLessLess has not been implemented in Mathematica as an assumption.
Dave
DrMajorBob wrote:
> You said C<<Cf, so let's say C = delta CF, where delta is small. We
> compute a series around delta=0 and, after giving it a look, we set
> delta = 0.
>
> expr =
> Normal@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 -> delta Cf, {delta, 0, 6}]
> firstTry = expr /. delta -> 0
>
> 12 Cf Rg^2 Vd^2 - Cf^2 L2^2 Rg^2 Vg^4 +
> delta (12 Cf Rg^2 Vd^2 + 6 Cf Rg^2 Vd Vg)
>
> 12 Cf Rg^2 Vd^2 - Cf^2 L2^2 Rg^2 Vg^4
>
> In a more complicated situation (if a few Series terms were
> unconvincing), we might use Limit, instead:
>
> 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) /. C -> delta Cf
> secondTry = Limit[expr, delta -> 0]
>
> -Cf^2 L2^2 Rg^2 Vg^4 +
> 3 (4 Cf Rg^2 Vd^2 + 4 Cf delta Rg^2 Vd^2 + 2 Cf delta Rg^2 Vd Vg)
>
> Cf Rg^2 (12 Vd^2 - Cf L2^2 Vg^4)
>
> In this case, both answers are the same:
>
> firstTry == secondTry // Simplify
>
> True
>
> Bobby
>
> On Sat, 16 Jan 2010 13:38:22 -0600, Dave Bird <dbird at ieee.org> wrote:
>
>> 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: SymbolicPolynomialMod**
Next by Date:
**Re: Re: Simplify with NestedLessLess?**
Previous by thread:
**Re: Re: Simplify with NestedLessLess?**
Next by thread:
**Re: Simplify with NestedLessLess?**
| |