R/AutoGeneratedModelTypes.R

Defines functions PCMSpecify.White__Omitted_X0__ScalarDiagonal_WithNonNegativeDiag PCMParentClasses.White__Omitted_X0__ScalarDiagonal_WithNonNegati PCMSpecify.White__AllEqual_Global_X0__ScalarDiagonal_WithNonNega PCMParentClasses.White__AllEqual_Global_X0__ScalarDiagonal_WithN PCMSpecify.White__Fixed_Global_X0__ScalarDiagonal_WithNonNegativ PCMParentClasses.White__Fixed_Global_X0__ScalarDiagonal_WithNonN PCMSpecify.White__Global_X0__ScalarDiagonal_WithNonNegativeDiago PCMParentClasses.White__Global_X0__ScalarDiagonal_WithNonNegativ PCMSpecify.White__Omitted_X0__Diagonal_WithNonNegativeDiagonal_G PCMParentClasses.White__Omitted_X0__Diagonal_WithNonNegativeDiag PCMSpecify.White__AllEqual_Global_X0__Diagonal_WithNonNegativeDi PCMParentClasses.White__AllEqual_Global_X0__Diagonal_WithNonNega PCMSpecify.White__Fixed_Global_X0__Diagonal_WithNonNegativeDiago PCMParentClasses.White__Fixed_Global_X0__Diagonal_WithNonNegativ PCMSpecify.White__Global_X0__Diagonal_WithNonNegativeDiagonal_Gl PCMParentClasses.White__Global_X0__Diagonal_WithNonNegativeDiago PCMSpecify.White__Omitted_X0__UpperTriangularWithDiagonal_WithNo PCMParentClasses.White__Omitted_X0__UpperTriangularWithDiagonal_ PCMSpecify.White__AllEqual_Global_X0__UpperTriangularWithDiagona PCMParentClasses.White__AllEqual_Global_X0__UpperTriangularWithD PCMSpecify.White__Fixed_Global_X0__UpperTriangularWithDiagonal_W PCMParentClasses.White__Fixed_Global_X0__UpperTriangularWithDiag PCMSpecify.White__Global_X0__UpperTriangularWithDiagonal_WithNon PCMParentClasses.White__Global_X0__UpperTriangularWithDiagonal_W PCMSpecify.White__Omitted_X0__ScalarDiagonal_WithNonNegativeDiag PCMParentClasses.White__Omitted_X0__ScalarDiagonal_WithNonNegati PCMSpecify.White__AllEqual_Global_X0__ScalarDiagonal_WithNonNega PCMParentClasses.White__AllEqual_Global_X0__ScalarDiagonal_WithN PCMSpecify.White__Fixed_Global_X0__ScalarDiagonal_WithNonNegativ PCMParentClasses.White__Fixed_Global_X0__ScalarDiagonal_WithNonN PCMSpecify.White__Global_X0__ScalarDiagonal_WithNonNegativeDiago PCMParentClasses.White__Global_X0__ScalarDiagonal_WithNonNegativ PCMSpecify.White__Omitted_X0__Diagonal_WithNonNegativeDiagonal_S PCMParentClasses.White__Omitted_X0__Diagonal_WithNonNegativeDiag PCMSpecify.White__AllEqual_Global_X0__Diagonal_WithNonNegativeDi PCMParentClasses.White__AllEqual_Global_X0__Diagonal_WithNonNega PCMSpecify.White__Fixed_Global_X0__Diagonal_WithNonNegativeDiago PCMParentClasses.White__Fixed_Global_X0__Diagonal_WithNonNegativ PCMSpecify.White__Global_X0__Diagonal_WithNonNegativeDiagonal_Si PCMParentClasses.White__Global_X0__Diagonal_WithNonNegativeDiago PCMSpecify.White__Omitted_X0__UpperTriangularWithDiagonal_WithNo PCMParentClasses.White__Omitted_X0__UpperTriangularWithDiagonal_ PCMSpecify.White__AllEqual_Global_X0__UpperTriangularWithDiagona PCMParentClasses.White__AllEqual_Global_X0__UpperTriangularWithD PCMSpecify.White__Fixed_Global_X0__UpperTriangularWithDiagonal_W PCMParentClasses.White__Fixed_Global_X0__UpperTriangularWithDiag PCMSpecify.White__Global_X0__UpperTriangularWithDiagonal_WithNon PCMParentClasses.White__Global_X0__UpperTriangularWithDiagonal_W PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithN PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal PCMSpecify.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNo PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_ PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegat PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNo PCMSpecify.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegati PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNon PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNega PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithN PCMSpecify.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegat PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNo PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithD PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangula PCMSpecify.OU__Global_X0__Global_H__Theta__UpperTriangularWithDi PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangular PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDi PCMSpecify.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_ PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDia PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithN PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal PCMSpecify.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNo PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_ PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegat PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNo PCMSpecify.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegati PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNon PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNega PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithN PCMSpecify.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegat PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNo PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDia PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegat PCMSpecify.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiag PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegati PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithD PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangula PCMSpecify.OU__Global_X0__Global_H__Theta__UpperTriangularWithDi PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangular PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDi PCMSpecify.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_ PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDia PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithN PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal PCMSpecify.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNo PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_ PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegat PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNo PCMSpecify.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegati PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNon PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNega PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithN PCMSpecify.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegat PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNo PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDia PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegat PCMSpecify.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiag PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegati PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithD PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangula PCMSpecify.OU__Global_X0__Global_H__Theta__UpperTriangularWithDi PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangular PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDi PCMSpecify.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_ PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDia PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithN PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal PCMSpecify.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNo PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_ PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegat PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNo PCMSpecify.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegati PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNon PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDia PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegat PCMSpecify.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiag PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegati PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNega PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithN PCMSpecify.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegat PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNo PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDia PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegat PCMSpecify.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiag PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegati PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithD PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangula PCMSpecify.OU__Global_X0__Global_H__Theta__UpperTriangularWithDi PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangular PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDi PCMSpecify.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_ PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDia PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithN PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal PCMSpecify.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNo PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_ PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegat PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNo PCMSpecify.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegati PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNon PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNega PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithN PCMSpecify.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegat PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNo PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDia PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegat PCMSpecify.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiag PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegati PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithD PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangula PCMSpecify.OU__Global_X0__Global_H__Theta__UpperTriangularWithDi PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangular PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegat PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNo PCMSpecify.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegati PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNon PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNega PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithN PCMSpecify.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegat PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNo PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDia PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegat PCMSpecify.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiag PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegati PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithD PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangula PCMSpecify.OU__Global_X0__Global_H__Theta__UpperTriangularWithDi PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangular PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__T PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDi PCMSpecify.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_ PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDia PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDi PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNega PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagona PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeD PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDi PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_Wit PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagon PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_With PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagona PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transfo PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_T PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transfor PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Tr PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Glob PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Globa PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithN PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal PCMSpecify.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNo PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_ PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeD PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNeg PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Th PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDi PCMSpecify.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_ PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDia PCMSpecify.BM__Omitted_X0__ScalarDiagonal_WithNonNegativeDiagona PCMParentClasses.BM__Omitted_X0__ScalarDiagonal_WithNonNegativeD PCMSpecify.BM__Global_X0__ScalarDiagonal_WithNonNegativeDiagonal PCMParentClasses.BM__Global_X0__ScalarDiagonal_WithNonNegativeDi PCMSpecify.BM__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Sigm PCMParentClasses.BM__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.BM__Global_X0__Diagonal_WithNonNegativeDiagonal_Sigma PCMParentClasses.BM__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.BM__Omitted_X0__UpperTriangularWithDiagonal_WithNonNe PCMParentClasses.BM__Omitted_X0__UpperTriangularWithDiagonal_Wit PCMSpecify.BM__Global_X0__UpperTriangularWithDiagonal_WithNonNeg PCMParentClasses.BM__Global_X0__UpperTriangularWithDiagonal_With PCMSpecify.BM__Omitted_X0__ScalarDiagonal_WithNonNegativeDiagona PCMParentClasses.BM__Omitted_X0__ScalarDiagonal_WithNonNegativeD PCMSpecify.BM__Global_X0__ScalarDiagonal_WithNonNegativeDiagonal PCMParentClasses.BM__Global_X0__ScalarDiagonal_WithNonNegativeDi PCMSpecify.BM__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Sigm PCMParentClasses.BM__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.BM__Global_X0__Diagonal_WithNonNegativeDiagonal_Sigma PCMParentClasses.BM__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.BM__Omitted_X0__UpperTriangularWithDiagonal_WithNonNe PCMParentClasses.BM__Omitted_X0__UpperTriangularWithDiagonal_Wit PCMSpecify.BM__Global_X0__UpperTriangularWithDiagonal_WithNonNeg PCMParentClasses.BM__Global_X0__UpperTriangularWithDiagonal_With PCMSpecify.BM__Omitted_X0__ScalarDiagonal_WithNonNegativeDiagona PCMParentClasses.BM__Omitted_X0__ScalarDiagonal_WithNonNegativeD PCMSpecify.BM__Global_X0__ScalarDiagonal_WithNonNegativeDiagonal PCMParentClasses.BM__Global_X0__ScalarDiagonal_WithNonNegativeDi PCMSpecify.BM__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Sigm PCMParentClasses.BM__Omitted_X0__Diagonal_WithNonNegativeDiagona PCMSpecify.BM__Global_X0__Diagonal_WithNonNegativeDiagonal_Sigma PCMParentClasses.BM__Global_X0__Diagonal_WithNonNegativeDiagonal PCMSpecify.BM__Omitted_X0__UpperTriangularWithDiagonal_WithNonNe PCMParentClasses.BM__Omitted_X0__UpperTriangularWithDiagonal_Wit PCMSpecify.BM__Global_X0__UpperTriangularWithDiagonal_WithNonNeg PCMParentClasses.BM__Global_X0__UpperTriangularWithDiagonal_With

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


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

#' @export
PCMSpecify.BM__Global_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Omitted_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Global_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Omitted_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Global_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Omitted_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Global_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Omitted_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Global_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Omitted_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Global_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Omitted_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Global_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Omitted_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Global_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Omitted_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Global_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


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

#' @export
PCMSpecify.BM__Omitted_X0__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")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__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")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__Diagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_Diagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_Diagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Global_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model) c("OU", "GaussianPCM", "PCM")

#' @export
PCMSpecify.OU__Omitted_X0__Schur_ScalarDiagonal_WithNonNegativeDiagonal_Transformable_Global_H__Theta__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigma_x__Omitted_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root")),
H = structure(0.0, class = c("MatrixParameter", "_Schur", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Transformable", "_Global"),
description = c("adaptation rate matrix")),
Theta = structure(0.0, class = c("VectorParameter"),
description = c("long-term optimum")),
Sigma_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the unit-time variance rate")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Omitted"),
description = c("factor of the non-heritable variance or the variance of the measurement error")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "H", "Theta", "Sigma_x", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Global_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Global_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Fixed_Global_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Fixed_Global_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__AllEqual_Global_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__AllEqual_Global_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Omitted_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Omitted_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Global_X0__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Global_X0__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Fixed_Global_X0__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Fixed_Global_X0__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__AllEqual_Global_X0__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__AllEqual_Global_X0__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Global_X0__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Global_X0__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Fixed_Global_X0__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Fixed_Global_X0__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Fixed", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__AllEqual_Global_X0__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__AllEqual_Global_X0__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_AllEqual", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Omitted_X0__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Omitted_X0__ScalarDiagonal_WithNonNegativeDiagonal_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Global_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Global_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Fixed_Global_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Fixed_Global_X0__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 of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__AllEqual_Global_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__AllEqual_Global_X0__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 of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Omitted_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Omitted_X0__UpperTriangularWithDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_UpperTriangularWithDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Global_X0__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Fixed_Global_X0__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Fixed_Global_X0__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 of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__AllEqual_Global_X0__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__AllEqual_Global_X0__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 of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Omitted_X0__Diagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_Diagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Global_X0__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Global_X0__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Global"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Fixed_Global_X0__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Fixed_Global_X0__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 of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__AllEqual_Global_X0__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__AllEqual_Global_X0__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 of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}


#' @export
PCMParentClasses.White__Omitted_X0__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model) c("White", "GaussianPCM", "PCM")

#' @export
PCMSpecify.White__Omitted_X0__ScalarDiagonal_WithNonNegativeDiagonal_Global_Sigmae_x <- function(model, ...) {
spec <- list(
X0 = structure(0.0, class = c("VectorParameter", "_Omitted"),
description = c("trait values at the root of the tree (for White model this is the mean vector)")),
Sigmae_x = structure(0.0, class = c("MatrixParameter", "_ScalarDiagonal", "_WithNonNegativeDiagonal", "_Global"),
description = c("factor of the non-phylogenetic variance-covariance matrix")))
attributes(spec) <- attributes(model)
if(is.null(names(spec))) names(spec) <- c("X0", "Sigmae_x")
if(any(sapply(spec, is.Transformable))) class(spec) <- c(class(spec), '_Transformable')
spec
}
venelin/PCMBase documentation built on March 14, 2024, 8:24 p.m.