MathGroup Archive 2007

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

Search the Archive

Re: Factorise with respect to a variable

  • To: mathgroup at smc.vnet.net
  • Subject: [mg79626] Re: [mg79584] Factorise with respect to a variable
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Tue, 31 Jul 2007 06:15:53 -0400 (EDT)
  • Reply-to: hanlonr at cox.net

expr = (E^(I*(2*chi2 - kappa + 2*chi1*n1 - 
                  kappa*n1 - 2*chi2*n2 + kappa*n2 + 
                  I*x*SuperStar[x] + I*y*SuperStar[y]))*
          Sqrt[1 + n1]*Sqrt[n2]*x^n1*y^n2*
          SuperStar[x]^(1 + n1)*SuperStar[y]^
            (-1 + n2))/Sqrt[n1!*(1 + n1)!*(-1 + n2)!*
           n2!]; 

terms = Simplify[{expr/(expr /. n1 -> 1), (expr /. n1 -> 1)}]

{(E^(I*(2*chi1 - kappa)*(n1 - 1))*
        Sqrt[n1 + 1]*x^(n1 - 1)*
        Sqrt[(n2 - 1)!*n2!]*
        SuperStar[x]^(n1 - 1))/
     Sqrt[n1!*(n1 + 1)!*(n2 - 1)!*
         n2!], 
   (E^(I*(2*chi1 + 2*chi2 - 
                2*kappa - 2*chi2*n2 + 
                kappa*n2 + I*x*SuperStar[
                    x] + I*y*SuperStar[y]))*
        Sqrt[n2]*x*y^n2*SuperStar[x]^2*
        SuperStar[y]^(n2 - 1))/
     Sqrt[(n2 - 1)!*n2!]}

Simplify[expr == (Times @@ terms)]

True

The expressions can be simplified if {n1 > -1, n2 > 0}

expr = FullSimplify[expr, {n1 > -1, n2 > 0}]

(E^(I*(2*chi1*n1 - 2*chi2*
                (n2 - 1) + kappa*(-n1 + n2 - 
                   1) + I*x*SuperStar[x] + 
              I*y*SuperStar[y]))*x^n1*y^n2*
      SuperStar[x]^(n1 + 1)*
      SuperStar[y]^(n2 - 1))/
   (Gamma[n1 + 1]*Gamma[n2])

Simplify[{expr/(expr /. n1 -> 1), (expr /. n1 -> 1)}]

{(E^(I*(2*chi1 - kappa)*(n1 - 1))*
        x^(n1 - 1)*SuperStar[x]^
          (n1 - 1))/Gamma[n1 + 1], 
   (E^(I*(2*chi1 + kappa*(n2 - 2) - 
                2*chi2*(n2 - 1) + 
                I*x*SuperStar[x] + 
                I*y*SuperStar[y]))*x*y^n2*
        SuperStar[x]^2*SuperStar[y]^
          (n2 - 1))/Gamma[n2]}


Bob Hanlon

---- Andrew Moylan <andrew.j.moylan at gmail.com> wrote: 
> Here's an arbitrary expression that depends (non-polynominally) on n1 and
> some other variables:
> 
> expr = (E^(I*(2*chi2 - kappa + 2*chi1*n1 - kappa*n1 - 2*chi2*n2 + 
>                 kappa*n2 + I*x*SuperStar[x] + I*y*SuperStar[y]))*
>     Sqrt[1 + n1]*
>         Sqrt[n2]*x^n1*y^n2*SuperStar[x]^(1 + n1)*
>     SuperStar[y]^(-1 + n2))/
>      Sqrt[n1!*(1 + n1)!*(-1 + n2)!*n2!]
> 
> Is it possible to use Mathematica to factor out the dependence of expr on
> n1? That is, I would like to factorise expr into {expr1,expr2}, such that
> (i) expr1 depends on n1, (ii) expr2 does not depend on n1, and such that
> (given (i) and (ii)) expr1 is as simple as possible.
> 
> Here's a simpler example: When I factorise 1/(2*x*y^2) "with respect to" x,
> I want the result to be {1/x, 1/(2*y^2)}.
> 
> Do you think it's possible to easily get Mathematica to do something like
> this?
> 
> 



  • Prev by Date: Re: RE: Re: Workbench 1.0 -> 1.1 upgrade issues
  • Previous by thread: Re: Factorise with respect to a variable
  • Next by thread: Re: Module inside Module. Conflict between inner Module local variable