学习日记1:python中对复数矩阵的操作

python中对复数矩阵的操作

做Phase Retrieval的时候,参考“E. J. Candes, X. Li and M. Soltanolkotabi. Phase retrieval via Wirtinger flow: theory and algorithms. IEEE Transactions on Information Theory 61(4), 1985–2007.”官方给的代码用的是matlab,修改成python版本做的时候出了一些问题,因此记录一下。

Phase Retrieval的矩阵涉及到复数,算法中需要用到A’。

matlab中的A’不仅仅是转置,而是共轭转置,因此用python复现时直接用A.transpose()或者A.T会出问题。一般在python中需要采用np.matrix(A),然后用A.H。

另外,python中如果要去矩阵的某一列,使用的方式是

for i in range(N)
	a=A[:,i]

但是,若A的shape是M行N列,此时a的shape是(M,)并不是(M,1),且自动转成了行向量。

一般对这样情况的处理方式是:
a=a.reshape((1, -1)) 【保持行向量】
能够将它shape变为(M,1)
或者:
a=a.reshape((-1, 1)) 【转化成向量】
能够将它shape变为(1,M)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值