python中^的作用,及其作为矩阵的幂时的运算
与一般情况下用 ^ 表示乘方不同,在Python中,^运算符表示对两数做按位“异或⊕”运算,原理是对比两数字的二进制表示,相同为0不同为1,得到运算结果。例如:
print(1^1,1^2,1^3)
结果分别为0,3 ,2,具体运算如下:
1^1=01⊕01=00=0;
1^2=01⊕10=11=3;
1^3=001⊕011=010=2;
作为矩阵的幂时,表示对矩阵中的每个元素与该数做“异或⊕”运算。例如:
import numpy as np
a = (1,2,3)
b = np.asarray(a)
print(f"b={b} , b^4={b^4}")
结果为:b=[1 2 3] , b^4=[5 6 7]
过程如下:b^ 4=[1 2 3] ^ 4
=[1⊕4 2⊕4 3⊕4]
=[001⊕100 010⊕100 011⊕100]
=[101 110 111]
=[5 6 7]