tensorflow_state.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:quantum-optimal-control 作者: SchusterLab 项目源码 文件源码
def get_inner_product_3D(self,psi1,psi2):
        #Take 2 states psi1,psi2, calculate their overlap, for arbitrary number of vectors and timesteps
        # psi1 and psi2 are shaped as (2*state_num, time_steps, number of vectors)
        state_num=self.sys_para.state_num

        psi_1_real = (psi1[0:state_num,:])
        psi_1_imag = (psi1[state_num:2*state_num,:])
        psi_2_real = (psi2[0:state_num,:])
        psi_2_imag = (psi2[state_num:2*state_num,:])
        # psi1 has a+ib, psi2 has c+id, we wanna get Sum ((ac+bd) + i (bc-ad)) magnitude
        with tf.name_scope('inner_product'):
            ac = tf.reduce_sum(tf.multiply(psi_1_real,psi_2_real),0)
            bd = tf.reduce_sum(tf.multiply(psi_1_imag,psi_2_imag),0)
            bc = tf.reduce_sum(tf.multiply(psi_1_imag,psi_2_real),0)
            ad = tf.reduce_sum(tf.multiply(psi_1_real,psi_2_imag),0)
            reals = tf.reduce_sum(tf.square(tf.reduce_sum(tf.add(ac,bd),1)))
            # first trace inner product of all vectors, then squared, then sum contribution of all time steps
            imags = tf.reduce_sum(tf.square(tf.reduce_sum(tf.subtract(bc,ad),1)))
            norm = (tf.add(reals,imags))/(len(self.sys_para.states_concerned_list)**2)
        return norm
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号