Finding bounds of the domain of a Piecewise function

*To*: mathgroup at smc.vnet.net*Subject*: [mg72866] Finding bounds of the domain of a Piecewise function*From*: "." <ggroup at sarj.ca>*Date*: Tue, 23 Jan 2007 04:55:15 -0500 (EST)

Hi All, I have a routine that builds up a complicated Piecewise function, f[x]. All the pieces in the piecewise are restricted to some finite range (the ranges for each piece may be very different). I want to find the absolute extreme x values which will give me a non-zero f[x]. So have something along the lines of: f[x_]:=Piecewise[{ {f1[x], a <= x <= b}, {f2[x], c <= x <= d}, {f3[x], e <= x <= g} }] We can assume that a < b, c < d and e < g (all bounds are real and have a numeric value). We can also assume that the ranges are non-overlapping (it seems PiecewiseExpand takes care of that). However, we can *not* assume that the segments are sorted by the x range. Note also that the real problem will have many more segments than just 3. For the purposes of discussion, assume that Max[b,d,g] == b. I want to find a robust and reasonably fast way of extracting b. One idea is: Max[ Reap[ f[x][[1,All,2]]/.{r_?NumericQ :> Sow[r]} ][[2]] ] However, this seems like a bit of a hack (it is very much limited to the details of this particular problem). Is there a better way which doesn't require quite so many assumptions? Thanks!