functioning of the geometry node- what does it do with the vector math
The source used for the vector math node can be found here.

For each Operation -


Add, the output Vector is the two input vectors added together. The Value output is the average of the output vector components (x+y+z)/3.
Subtract, the output Vector is input vector one(upper) minus input vector two(lower). The Value output is the average of the output vector components (x+y+z)/3.
Average, the output vector is the normalised result of the sum of both inputs. That is the vector divided by the length of the vector. The length is calculated as the square root of the dot product.
Normalize, The result vector is the normalised vector of input vector one. The result value is the length of the vector.
Dot Product, the output value is the dot product of the input vectors, that is vector one times vector two and all components added together v1.x*v2.x + v1.y*v2.y + v1.z*v2.z. The Vector output is 0,0,0.
Cross Product, the output vector is the cross product of both inputs. The Value output is the length of the result, calculated as the square root of the dot product of the output vector. The cross product is calculated as 

result[0] = v1.y * v2.z - v1.z * v2.y 
result[1] = v1.z * v2.x - v1.x * v2.z
result[2] = v1.x * v2.y - v1.y * v2.x