def ICM(input_dim, num_outputs, kernel, W_rank=<NUM_LIT:1>,W=None,kappa=None,name='<STR_LIT>'):
if kernel.input_dim != input_dim:<EOL><INDENT>kernel.input_dim = input_dim<EOL>warnings.warn("<STR_LIT>")<EOL><DEDENT>K = kernel.prod(GPy.kern.Coregionalize(<NUM_LIT:1>, num_outputs, active_dims=[input_dim], rank=W_rank,W=W,kappa=kappa,name='<STR_LIT:B>'),name=name)<EOL>return K<EOL>
Builds a kernel for an Intrinsic Coregionalization Model

:input_dim: Input dimensionality (does not include dimension of indices)
:num_outputs: Number of outputs
:param kernel: kernel that will be multiplied by the coregionalize kernel (matrix B).
:type kernel: a GPy kernel
:param W_rank: number tuples of the corregionalization parameters 'W'
:type W_rank: integer