今天学习初等变换的时候,对于交换变换,我想起了下述例子。

//在不利用temp变量的情况下交换两个数
int a=1,b=2;
a=b-a;
b=b-a;
a=a+b;

更清晰地可以写为

int a=1,b=2;
a*=-1;
a+=b;
b+=(-a);
a+=b;
//异或运算交换值,仅适用于int
a^=b^=a^=b

Ref:

亦即交换变换可以通过数乘变换和倍加变换得到。
一般地,Eij=Ej(-1)Eji(1)Eij(-1)Eji(1)
问题是,对于行和列变换,以数乘和倍加表示的交换矩阵相同吗?

也就是说,初等变换可以只存在两种基本情形,数乘和倍加。