Re: Re: Re: simplify a trig expression
- To: mathgroup at smc.vnet.net
- Subject: [mg65470] Re: [mg65449] Re: [mg65436] Re: [mg65415] simplify a trig expression
- From: Murray Eisenberg <murray at math.umass.edu>
- Date: Mon, 3 Apr 2006 06:59:37 -0400 (EDT)
- Organization: Mathematics & Statistics, Univ. of Mass./Amherst
- References: <200603311109.GAA15029@smc.vnet.net> <200604011038.FAA07301@smc.vnet.net> <200604020900.FAA01612@smc.vnet.net> <11D40ADD-9EC9-4DCE-B685-1CA00605B9B2@mimuw.edu.pl>
- Reply-to: murray at math.umass.edu
- Sender: owner-wri-mathgroup at wolfram.com
Actually, what I was trying to do is this: To obtain in Mathematica,
the answers to a ten-question integration exam that would be of the form
students would obtain with standard paper-and-pencil techniques. And
the purpose of that was to to provide to the graders, whom I supervise,
answers that are unquestionably correct -- and, again, in that form.
Andrzej Kozlowski wrote:
> First, let me state a fundamental objection to the whole enterprise. I
> am of the opinion that there is on the whole very little point in
> putting a lot of effort into forcing computer algebra programs return
> the answers you already know to be correct. The purpose of such programs
> is to simplify expressions that are too complicated too analyse by hand
> so as to make them simple enough to handle by hand. The "handling by
> hand" part is precisely what computer programs are not very good at and
> usually it takes longer to make them do so then just typing in the
> answer. Of course once you already know the answer it is usually very
> easy to verify that it equal the one given by Mathematica. For example,
> in your situation the best approach, in my opinion would be simply this:
>
>
> FullSimplify[D[Integrate[Sin[x]/(1 - Cos[x]), x] -
> Log[1 - Cos[x]], x]]
>
>
> 0
>
> As far as I can see this is all you would even need to do in practice.
> The rest is just playing with CAS. But if you like playing then by using
> FullSimplify with suitable TransformationFunctions and
> ComplexityFunction you can usually transform anything into anything
> else. So in this case you can do, for example,
>
>
> f[(n_)*Log[a_]] := Log[a^n];
> f[Cos[x_]^2] := (1/2)*(Cos[2*x] + 1);
> f[Sin[2*(x_)]^2] := (1/2)*(1 - Cos[x]);
>
>
>
> FullSimplify[Integrate[Sin[x]/(1 - Cos[x]), x],
> TransformationFunctions -> {Automatic, f},
> ComplexityFunction ->
> (LeafCount[#1] + 50*Count[#1, x/2, {0, Infinity}] +
> Count[#1, _Power, {0, Infinity}, Heads -> True] & )]
>
>
> Log[(1/2)*(1 - Cos[x])]
>
> It is slightly amusing to analyse exactly why this works, but I
> amusement is about all of value I can see in this aproach.
>
> Andrzej Kozlowski
>
> On 2 Apr 2006, at 11:00, Murray Eisenberg wrote:
>
>> OK, now how about the following--another case where Mathematica gives a
>> more complicated looking answer than the typical paper-and-pencil direct
>> substitution would provide?
>>
>> Mathematica gives:
>>
>> Integrate[Sin[x]/(1 - Cos[x]), x]
>> 2*Log[Sin[x/2]]
>>
>> I'd like an answer in the form of Log[1-Cos[x]] (plus a constant, to
>> actually equal the above). The best I've been able to do so far is:
>>
>> (Integrate[Sin[x]/(1 - Cos[x]), x]
>> // Simplify[# /. a_*Log[b_]:>Log[b^a]] &
>> //MapAt[TrigReduce, #, 1]&) /. (Log[c_ b_]->Log[b]+Log[c])
>> -Log[2] + Log[1 - Cos[x]]
>>
>> Is there some easier way?
>>
>> Andrzej Kozlowski wrote:
>>> This is one of those cases where FullSimplify will not work because
>>> it lacks a suitable transformation function. In this particular case
>>> the transformation function is of the form:
>>>
>>> f[n_*Log[a_]] := Log[a^n]
>>>
>>> Of course this is only valid with various assumptions on n and a, but
>>> I won't bother with this here. Anyway, observe that:
>>>
>>>
>>> FullSimplify[Integrate[Cos[x]/(Sin[x] + 1), x],
>>> TransformationFunctions -> {Automatic, f}]
>>>
>>>
>>> Log[Sin[x] + 1]
>>>
>>> Note also that Simplify will not work even when you add f.
>>>
>>> I am not sure if there are good reasons for adding a version of f
>>> (taking account of suitable assumptions) to the default
>>> transformation functions of FullSimplify. It may however be a good
>>> idea to have another possible value for the option
>>> TransformationFunctions besides only Automatic and user defined ones.
>>> In fact I have suggested in the past one or two other useful
>>> TransformationFunctions; perhaps it might be a good idea to define
>>> more and collect them into a single option value or maybe several.
>>>
>>> Andrzej Kozlowski
>>>
>>>
>>>
>>>
>>>
>>>
>>> On 31 Mar 2006, at 13:09, Murray Eisenberg wrote:
>>>
>>>> A direct substitution (with paper and pencil) gives that the
>>>> integral of
>>>> Cos[x]/(Sin[x] + 1) is Log[Sin[x] + 1]. This is valid provided
>>>> Sin[x]
>>>> is not -1.
>>>>
>>>> Mathematica gives:
>>>>
>>>> Integrate[Cos[x]/(Sin[x] + 1), x]
>>>> 2 Log[Cos[x/2] + Sin[x/2]]
>>>>
>>>> Is there some simple way to coerce the latter Mathematica-supplied
>>>> result into the paper-and-pencil answer?
>>>>
>>>> The closest I could get is:
>>>>
>>>> Log[TrigExpand[Expand[(Cos[x/2] + Sin[x/2])^2]]] /.
>>>> {Sin[x/2] -> Sqrt[(1 - Cos[x])/2],
>>>> Cos[x/2] -> Sqrt[(1 + Cos[x])/2]}
>>>> Log[1 + Sqrt[1 - Cos[x]]*Sqrt[1 + Cos[x]]]
>>>>
>>>> Am I not seeing some easier TrigExpand or TrigReduce method?
>>>>
>>>> --Murray Eisenberg murray at math.umass.edu
>>>> Mathematics & Statistics Dept.
>>>> Lederle Graduate Research Tower phone 413 549-1020 (H)
>>>> University of Massachusetts 413 545-2859 (W)
>>>> 710 North Pleasant Street fax 413 545-1801
>>>> Amherst, MA 01003-9305
>>>>
>>>
>>>
>>
>> --Murray Eisenberg murray at math.umass.edu
>> Mathematics & Statistics Dept.
>> Lederle Graduate Research Tower phone 413 549-1020 (H)
>> University of Massachusetts 413 545-2859 (W)
>> 710 North Pleasant Street fax 413 545-1801
>> Amherst, MA 01003-9305
>>
>
>
--
Murray Eisenberg murray at math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower phone 413 549-1020 (H)
University of Massachusetts 413 545-2859 (W)
710 North Pleasant Street fax 413 545-1801
Amherst, MA 01003-9305
- References:
- Re: simplify a trig expression
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: Re: simplify a trig expression
- From: Murray Eisenberg <murray@math.umass.edu>
- Re: simplify a trig expression