I know this is an 'old' thread, but since I'm new here, thought I'd add my two coppers.
I use Chris Christensen Ice on Ice, and After the Bath with my mop of a Giant Schnauzer... but....
In a pinch you can use Downy. Yes, Downy. Dilute it just enough so that it will get in the mat, and then use either a mat rake, or ONE blade of a pair of grooming scissors (don't have to ruin your shears, just hold them open.) Take the blade of the shears, and slide it under the mat, against the skin, careful if you are using sharp shears... and then 'saw' thru the mat with your scissors. Then use pin brushes and wide toothed combs to pick out the mats. They should be 'cut' into more manageable sizes, and can be shaved out if necessary, but leaving enough hair to cover the gaps. When brushing for tangles (not undercoat removal), brushing when the hair/mat is wet, or at least damp is the best for the coat to reduce breakage and frizzies.
As for the Downy. I was a pet groomer for many years, and it was one of the tricks of the trade for mats, heavy undercoats, and silky, drop coated breeds. I never saw or heard of (from owners) any dog having a reaction to using it, even dogs with Cocker Crud or Schnauzer Scales. You just have to make sure it it rinsed properly, then after rinsing, rinse again just to be sure. We always used just good old original scented, original concentrate Downy.
Aside from helping with mats and to get the undercoat out, it left them smelling 'sunshine fresh' and 'static free.'