How does XOR qualify as a linear function?

  • Thread starter Thread starter B-Con
  • Start date Start date
  • Tags Tags
    Function Linear
Click For Summary
XOR is classified as a linear function when viewed in the context of vector spaces over the field F_2, where addition corresponds to the XOR operation. In this framework, the XOR operation on 32-bit integers can be interpreted as the addition of 32-dimensional vectors. The discussion highlights that while traditional linear transformations involve a mapping from one vector to another, XOR can be understood as a bilinear map, satisfying the conditions for bilinearity. This means that for each vector, the functions derived from XOR maintain linearity. Ultimately, XOR's role as a bilinear operation reinforces its classification in linear algebra.
B-Con
Messages
26
Reaction score
0
In computer science the XOR operation is a very important one, and I've heard XOR referred to as a "linear" function. My experience with linear functions (in the sense of vector spaces) has only been with functions in one variable, but XOR is a function of two.

I know that we start by using the field F_2 = {0, 1} in which addition is actually the XOR operation. So addition of two vectors from a vector space over that field (say, two 32-bit integers) is merely addition of the vectors using the field addition operation.

So then the XOR operation on 32-bit integers isn't a special function so much as it is really just addition of 32-dimension vectors over F_2. So what is the definition for the addition of two elements in a field to be linear, and how does the (XOR) addition over F_2 qualify as linear?

I'm sure I've encountered these answers before, but I'm blanking at the moment. :-S
 
Last edited:
Physics news on Phys.org
We are talking about addition of vectors, not addition in a field. The set of 32-bit integers is viewed as a 32-dimensional vector space over the field with 2 elements. Then apply the definition of "linear transformation" from linear algebra to see what it means.
 
But addition of vectors, by the definition of a vector space, is the dimension-by-dimension addition of the field elements, which uses the field addition.

My problem is that, as far as I can find, a linear transformation is from one vector to another vector. XOR is from two vectors to one vector.
 
I think the basic question here is: What is the definition of a linear function in two variables? Ie, if you have +: S×S → S, what must + satisfy to qualify as linear?

I can only find examples of linear functions with one variable.
 
The might want to look up the terms "bilinear" and "multilinear"...or I could just explain them here. Let T:U\times U\rightarrow V, where U and V are vector spaces. T is said to be bilinear if, for each u in U, the functions x\mapsto T(x,u) and x\mapsto T(u,x) are both linear. (Note that they are functions from U into V) . Multilinear is the same thing, except that you're dealing with a function of more than two varibles. The most general situation would be when you're dealing with a function like T:U_1\times\cdots\times U_n\rightarrow V.

Multiplication of complex numbers, the inner product on \mathbb R^n, and the cross product on \mathbb R^3, are good examples of bilinear maps.
 
Last edited:
Fredrik said:
The might want to look up the terms "bilinear" and "multilinear"...or I could just explain them here. Let T:U\times U\rightarrow V, where U and V are vector spaces. T is said to be bilinear if, for each u in U, the functions x\mapsto T(x,u) and x\mapsto T(u,x) are both linear. (Note that they are functions from U into V) . Multilinear is the same thing, except that you're dealing with a function of more than two varibles. The most general situation would be when you're dealing with a function like T:U_1\times\cdots\times U_n\rightarrow V.

Multiplication of complex numbers, the inner product on \mathbb R^n, and the cross product on \mathbb R^3, are good examples of bilinear maps.

Ah, yes, that's what I was looking for. It slipped my mind. Thanks.

So XOR is just addition of vectors over F_2 and satisfies the conditions of a bilinear map.
 
Thread 'How to define a vector field?'
Hello! In one book I saw that function ##V## of 3 variables ##V_x, V_y, V_z## (vector field in 3D) can be decomposed in a Taylor series without higher-order terms (partial derivative of second power and higher) at point ##(0,0,0)## such way: I think so: higher-order terms can be neglected because partial derivative of second power and higher are equal to 0. Is this true? And how to define vector field correctly for this case? (In the book I found nothing and my attempt was wrong...

Similar threads

  • · Replies 19 ·
Replies
19
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 23 ·
Replies
23
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 8 ·
Replies
8
Views
7K
  • · Replies 17 ·
Replies
17
Views
9K
  • · Replies 0 ·
Replies
0
Views
8K