Mathematica Collecting denominators together with Mathematica

  • Thread starter Thread starter anthony2005
  • Start date Start date
  • Tags Tags
    Mathematica
Click For Summary
SUMMARY

The discussion focuses on simplifying a long sum of rational functions in Mathematica, specifically transforming an expression with multiple denominators into a more manageable form. The user initially struggles with using Factor or Simplify, which results in a single denominator and increased computation time. The solution provided utilizes the Plus and Map functions in conjunction with Together and Select to group terms by their denominators effectively. The final expression successfully combines terms with the same denominator, demonstrating a robust method for handling complex rational sums in Mathematica.

PREREQUISITES
  • Familiarity with Mathematica syntax and functions
  • Understanding of rational functions and their properties
  • Knowledge of the Plus, Map, and Together functions in Mathematica
  • Basic concepts of symbolic computation and expression manipulation
NEXT STEPS
  • Explore advanced Mathematica functions for symbolic computation
  • Learn about the Collect function in Mathematica for expression manipulation
  • Research optimization techniques for large expressions in Mathematica
  • Study the use of Denominator and Numerator functions in Mathematica
USEFUL FOR

Mathematica users, mathematicians, and educators looking to simplify complex rational expressions and enhance their understanding of symbolic computation techniques.

anthony2005
Messages
24
Reaction score
0
Hi all,
I have a very simple issue, but can't get round of it.

I have a long sum of rational functions, which is in the form for example

\frac{n_{1}}{d_{1}}+\frac{n_{2}}{d_{1}}+\frac{n_{3}}{d_{1}}+\frac{n_{4}}{d_{1}}+\frac{n_{5}}{d_{2}}+\frac{n_{6}}{d_{2}}+\frac{n_{7}}{d_{1}\cdot d_{2}}+\frac{n_{8}}{d_{1}\cdot d_{2}}+\frac{n_{9}}{d_{1}\cdot d_{2}}

and I would like to put it in the form

\frac{n_{1}+n_{2}+n_{3}+n_{4}}{d_{1}}+\frac{n_{5}+n_{6}}{d_{2}}+\frac{n_{7}+n_{8}+n_{9}}{d_{1}\cdot d_{2}}

If I use Factor or Simplify it would just put all over one single denominator d_{1}\cdot d_{2}, taking also so much time since my expression is huge.

Any help?
Thanks
 
Physics news on Phys.org
Figuring out how and why this works will be an educational experience.

In[1]:= f=n1/d1+n2/d1+n3/d1+n4/d1+n5/d2+n6/d2+n7/(d1 d2)+n8/(d1 d2)+n9/(d1 d2);

In[2]:= Plus@@Map[Together[Select[f,Function[x, Denominator[x]==#]]]&,Union[Map[ Denominator,List@@f]]]

Out[2]= (n1 + n2 + n3 + n4)/d1 + (n5 + n6)/d2 + (n7 + n8 + n9)/(d1*d2)

Be careful with that, just in case some oddball input breaks it.
 
Wow, it worked. Miracles are hidden in mathematica, but I'll figure out why it worked.
Thanks a lot.
 
I always find ways to use Collect and get it to look right myself.

Collect[f /. {1/(d1*d2) -> 1/d1d2}, {d1, d2, d1d2}] /. d1d2 -> d1 d2

but the way above with mapping is much better and more robust.
 

Similar threads

Replies
0
Views
2K
Replies
6
Views
1K
Replies
1
Views
2K
Replies
3
Views
3K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 21 ·
Replies
21
Views
1K
Replies
1
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K