use PDMats (recently separated out from NumericExtensions)