Possibly a very amateur question, so I'll apologise in advance. I'm reasonably new.
I'm trying to write a Dot equivalent of ExpandDenominator, i.e something that will have the capacity to write something like:
DotExpDen[1/(a+b)^2] = a.a + 2a.b + b.b
When using ExpandDenominator/.Times->Dot, it will correct the second cross-term but retain a2 and b2.
I'm hoping to look at the internal workings of ExpandDenominator, and I'm sure this might be useful in the future for a variety of problems I'd encounter.
Is there a method to look at how Mathematica has implemented this in the back-end(?), like looking at a publicly available package?
I could probably do it in a Module of some kind, but I'm just looking for a general technique and perhaps look at their method and definitions.
Thanks in advance.
ExpandDenominatoris a kernel function that does not have a definition in the same sense as a function you write yourself. It is likely not implemented in the Wolfram Language internally. – Szabolcs Nov 29 '18 at 15:32$InstallationDirectory, e.g. most of the parallel tools sources are readable. – Szabolcs Nov 29 '18 at 15:42