Re: AlgebraicRules
- To: mathgroup at smc.vnet.net
- Subject: [mg127485] Re: AlgebraicRules
- From: Andrzej Kozlowski <akozlowski at gmail.com>
- Date: Sun, 29 Jul 2012 03:03:01 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <20120728063859.B94706847@smc.vnet.net>
Yes, you can use it in exactly the same way but AlgebraicRules is a lot
more compact and does certain things for you. (On the other hand it's
much harder to know what is gong on). Here are two equivalent examples:
Using AlgebraicRules:
Sin[x]^3 + Cos[x]^2 /.
AlgebraicRules[{Sin[x]^2 + Cos[x]^2 == 1,
TrigExpand[Sin[3*x]] == 1/2}]
Sin[x]^2 + (3*Sin[x])/4 + 7/8
Using PolynomialReduce and GroebnerBasis:
Last[
PolynomialReduce[Sin[x]^3 + Cos[x]^2,
GroebnerBasis[{Sin[x]^2 + Cos[x]^2 - 1, -Sin[x]^3 +
3*Sin[x]*Cos[x]^2 - 1/2},
{Cos[x], Sin[x]}], {Cos[x], Sin[x]}]]
-Sin[x]^2 + (3*Sin[x])/4 + 7/8
Note that if you omit GroebnerBasis you will get a different answer:
Last[
PolynomialReduce[
Sin[x]^3 +
Cos[x]^2, {Sin[x]^2 + Cos[x]^2 - 1, -Sin[x]^3 +
3*Sin[x]*Cos[x]^2 - 1/2}, {Cos[x], Sin[x]}]]
Sin[x]^3 - Sin[x]^2 + 1
Under the assumption Sin[3x]==1/2 both answers are equivalent:
FullSimplify[-Sin[x]^2 + (3*Sin[x])/4 + 7/8 ==
Sin[x]^3 - Sin[x]^2 + 1]
2*Sin[3*x] == 1
Andrzej Kozlowski
On 28 Jul 2012, at 08:38, Murray Eisenberg wrote:
> In a very recent post by Fred Simons, he cited his paper "Computer
> algebra in service courses", available as:
>
> http://alexandria.tue.nl/openaccess/Metis217845.pdf
>
> In it, he proves a certain trig identity. He begins by using TrigExpand
> to obtain a certain polynoial, call it "expanded", in Sin[x] and Cos[x].
> Then he uses the function AlgebraicRules:
>
> expanded/.AlgebraicRules[{
> Sin[x]^2 + Cos[x]^2 == 1, TrigExpand[Sin[3x]] == 1/2}]
>
> I only vaguely recall having seen AlgebraicRules back in Version 2.2 but
> have not come across it since.
>
> Although AlgebraicRules persists in the current version of Mathematica,
> the docs say that since Version 3.0, Algebraic Rules has been superseded
> by PolynomialReduce.
>
> Can PolynomialReduce in fact be used _directly_ on an expression that is
> not a polynomial in, say, a single variable x but rather in the pair of
> functions Sin[x] and Cos[x]?
>
> Or must one revert to the artifice of replacing Sin[x] and Cos[x] by new
> variable names, use PolynomialReduce, and finally reverse the
> replacement to get back to the original variable x?
>
> --
> 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:
- AlgebraicRules
- From: Murray Eisenberg <murray@math.umass.edu>
- AlgebraicRules