randomWalk[steps_,{coinOp_,coinInitialState_}]:=Module[{n,state,s,u},n=2steps+1;state=QuantumTensorProduct[coinInitialState,QuantumState[SparseArray[{steps+1}->1,{n}],n]];s=QuantumState["0"]["Operator"]@QuantumOperator[jumpUp[n],{2},n]+QuantumState["1"]["Operator"]@QuantumOperator[jumpDown[n],{2},n];u=s@coinOp;NestList[u,state,steps]]