R/BMkappaDefaultTypes.R

Defines functions PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Scala PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Scalar PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__S PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__D PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagon PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__D PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Scalar PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__S PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarD PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__S PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagona PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarD PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Scala PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDi PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Sc PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDi PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diago PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagon PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagona PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__D PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_With PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagona PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diago PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Di PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithN PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Upper PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa_ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kapp PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitte PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_k PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperT PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_k PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_ka PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Glo PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__U PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_ka PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperT PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__U PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_ka PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTr PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__U PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangul PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTr PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Upper PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa_ PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTri PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Up PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangula PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTri

# This file was auto-generated through a call to PCMGenerateModelTypes()
# Do not edit by hand.


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__Diagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Fixed_Global_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Fixed", "_Global"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Fixed_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__AllEqual_Global_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model) c("BMkappa", "BM", "GaussianPCM", "PCM", "_Transformable")

#' @export
PCMSpecify.BMkappa__Omitted_X0__NonNegative_Omitted_kappa__ScalarDiagonal_WithNonNegativeDiagonal_Fixed_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
kappa = structure(0.0, class = c("ScalarParameter", "_NonNegative", "_Omitted"),
description = c("proportionality parameter")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Fixed"),
description = c("Upper triangular factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("Upper triangular factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "kappa", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}
FabioLugar/PCMkappa documentation built on Nov. 29, 2022, 2:18 a.m.