Q: Construct matrix by diagonals from vector Given v={v1,v2,v3,v4} 
how can i construct the matrix 
 M={{ v1, v2, v3, v4, -v3, -v2},
    { v2, v1, v2, v3,  v4, -v3},
    { v3, v2, v1, v2,  v3,  v4},
    { v4, v3, v2, v1,  v2,  v3},
    {-v3, v4, v3, v2,  v1,  v2},
    {-v2,-v3, v4, v3,  v2,  v1}}


A: Looks like ToeplitzMatrix can be useful for this case:
 ToeplitzMatrix[{v1, v2, v3, v4, -v3, -v2}]


{{ v1,  v2, v3, v4, -v3, -v2}, 
 { v2,  v1, v2, v3,  v4, -v3}, 
 { v3,  v2, v1, v2,  v3,  v4}, 
 { v4,  v3, v2, v1,  v2,  v3}, 
 {-v3,  v4, v3, v2,  v1,  v2}, 
 {-v2, -v3, v4, v3,  v2,  v1}}


There is also an undocumented option "ReflectedNegation" for ArrayPad which can help to generate the reflected input array i.e.:
v = {v1, v2, v3, v4};
ArrayPad[v, {0, 2}, "ReflectedNegation"]


{v1, v2, v3, v4, -v3, -v2}


Thus, the full command will be:
ToeplitzMatrix[ArrayPad[v, {0, 2}, "ReflectedNegation"]]

