Table of Contents

AddSpin

Matrix.AddSpin($M$) takes a Matrix $M$ that acts on a space with no spin included and returns the matrix doubled in size, where every former entry now splits in spin-up and spin-down. We assume the ordering of the basis alternates between spin up and down. This behaviour is equivalent to calling Matrix.Enlarge($M$,2).

Example

Input

Example.Quanty
A = Matrix.New({{1,2},{3,4}})
B = Matrix.AddSpin(A)
print(B)

Result

{ {  1      ,  0      ,  2      ,  0      } ,
  {  0      ,  1      ,  0      ,  2      } ,
  {  3      ,  0      ,  4      ,  0      } ,
  {  0      ,  3      ,  0      ,  4      } }

Table of contents