We are writing a rational number as a/(pb(pc-1)). If our number is a/pb then there is no valid value of c and the function returns c = 0. Setting the option NoZeroC => true forces the third entry of the output list to be nonzero, even if that means increasing the first entry.
i1 : decomposeFraction( 3, 4/27)
o1 = {4, 3, 0}
o1 : List
|
i2 : decomposeFraction( 3, 4/27, NoZeroC => true )
o2 = {8, 3, 1}
o2 : List
|
i3 : 4/27 == 8/( 3^3 * ( 3 - 1 ) ) o3 = true |