import tensorflow as tf

                    vz.insert(u, r)

                kk = tf.Variable(0, dtype=tf.int64)
                for i in tf.range(start=0, limit=tf.size(vx_keys), delta=1, dtype=None, name='range'):
                    for j in tf.range(start=0, limit=tf.size(vz_keys), delta=1, dtype=None, name='range'):
                        to_add = tf.cond(
                            tf.greater(vz.lookup(vx_keys[i]), -1),
                            true_fn=lambda: tf.math.multiply(vx.lookup(vx_keys[i]), vz.lookup(vz_keys[j])),
                            false_fn=lambda: tf.constant(0, dtype=tf.int64)
                        )
                        kk = tf.math.add(kk, to_add)
                    kernel[l][m] = kk

        return tf.convert_to_tensor(kernel, dtype=tf.int64)

    def dim(self):
