I want to do a cross product involving a vector of Pauli matrices $\vec \sigma = \left( {{\sigma _1},{\sigma _2},{\sigma _3}} \right)$; for example, $\vec \sigma \times \left( {1,2,3} \right)$.
s:= Table[PauliMatrix[i], {i, 1, 3}];
Cross[s,{1,2,3}]
The code above will not work.
The only way I can think of is to use the method which I have just learned from Mr. Wizard:
ReleaseHold @ Block[{PauliMatrix}, Hold @@ {Cross[s,{1, 2, 3}]}]
But I feel uncomfortable writing such long code to realize such a simple cross product.
Is there any better way or not?
Update J.M. give the method
Cross[Unevaluated /@ PauliMatrix[Range[3]], {a,b,c}]
But it turns out that when one of the a,b,c is zero, the code will give error. a Remedy is given by J.M in his comment.
But I am asking here why it gives right answer when a b c are all nonzero while failed with a zero component?