{ "cells" : [ { "cell_origin" : "client", "cell_type" : "latex", "cells" : [ { "cell_origin" : "client", "cell_type" : "latex_view", "source" : "\\property{AntiCommuting}{Make objects anti-commuting.}\n\nMakes components anti-commuting, for example" } ], "hidden" : true, "source" : "\\property{AntiCommuting}{Make objects anti-commuting.}\n\nMakes components anti-commuting, for example" }, { "cell_origin" : "client", "cell_type" : "input", "cells" : [ { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\text{Attached property AntiCommuting to~}\\left[A,~\\discretionary{}{}{} B\\right].\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}B A\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}-A B\\end{dmath*}" } ], "source" : "{A,B}::AntiCommuting;\nex:=B A;\nsort_product(_);" }, { "cell_origin" : "client", "cell_type" : "latex", "cells" : [ { "cell_origin" : "client", "cell_type" : "latex_view", "source" : "It also works for objects with indices:" } ], "hidden" : true, "source" : "It also works for objects with indices:" }, { "cell_origin" : "client", "cell_type" : "input", "cells" : [ { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\psi_{m} \\chi \\psi_{n}\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}-\\chi \\psi_{m} \\psi_{n}\\end{dmath*}" } ], "source" : "{\\psi_{m}, \\chi}::AntiCommuting.\nex:= \\psi_{m} \\chi \\psi_{n};\nsort_product(_);" }, { "cell_origin" : "client", "cell_type" : "latex", "cells" : [ { "cell_origin" : "client", "cell_type" : "latex_view", "source" : "If you want a pattern like \\verb|\\psi_{m}| to anti-commute with\nitself, you should use the \\prop{SelfAntiCommuting} property instead." } ], "hidden" : true, "source" : "If you want a pattern like \\verb|\\psi_{m}| to anti-commute with\nitself, you should use the \\prop{SelfAntiCommuting} property instead." }, { "cell_origin" : "client", "cell_type" : "latex", "cells" : [ { "cell_origin" : "client", "cell_type" : "latex_view", "source" : "You can think about the difference\nbetween \\prop{SelfAntiCommuting} and \\prop{AntiCommuting} in\nthe following way. If \\verb|A_{m n}| is \\prop{SelfAntiCommuting}, it\nmeans that for each value of the indices the expression \\verb|A_{m n}|\nis an operator which anti-commutes with the operator for any other\nvalue of the indices. The matrix~$A$ is thus a matrix of\noperator-valued components which mutually anti-commute. On the other\nhand, if \\verb|A| and\n \\verb|B| are declared to\nbe \\prop{AntiCommuting}, then these can be viewed as two matrices of\ncommuting components, whose matrix product satisfies~$A B = - B A$." } ], "hidden" : true, "source" : "You can think about the difference\nbetween \\prop{SelfAntiCommuting} and \\prop{AntiCommuting} in\nthe following way. If \\verb|A_{m n}| is \\prop{SelfAntiCommuting}, it\nmeans that for each value of the indices the expression \\verb|A_{m n}|\nis an operator which anti-commutes with the operator for any other\nvalue of the indices. The matrix~$A$ is thus a matrix of\noperator-valued components which mutually anti-commute. On the other\nhand, if \\verb|A| and\n \\verb|B| are declared to\nbe \\prop{AntiCommuting}, then these can be viewed as two matrices of\ncommuting components, whose matrix product satisfies~$A B = - B A$." }, { "cell_origin" : "client", "cell_type" : "latex", "cells" : [ { "cell_origin" : "client", "cell_type" : "latex_view", "source" : "If you attach the \\prop{AntiCommuting} property to an object\nwith an \\prop{ImplicitIndex} property, the commutation property does\nnot refer to the object as a whole, but rather to its components. The\nlogic behind that becomes clear when considering e.g.~spinor bilinears," } ], "hidden" : true, "source" : "If you attach the \\prop{AntiCommuting} property to an object\nwith an \\prop{ImplicitIndex} property, the commutation property does\nnot refer to the object as a whole, but rather to its components. The\nlogic behind that becomes clear when considering e.g.~spinor bilinears," }, { "cell_origin" : "client", "cell_type" : "input", "cells" : [ { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\text{Attached property Spinor to~}\\left[\\chi,~\\discretionary{}{}{} \\psi\\right].\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\text{Attached property AntiCommuting to~}\\left[\\chi,~\\discretionary{}{}{} \\psi\\right].\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\text{Attached property DiracBar to~}\\bar{\\#}.\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\text{Attached property GammaMatrix to~}\\Gamma\\left(\\#\\right).\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\text{Attached property SortOrder to~}\\left[\\chi,~\\discretionary{}{}{} \\psi\\right].\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\bar{\\psi} \\Gamma_{m n p} \\chi\\end{dmath*}" } ], "source" : "{\\chi, \\psi}::Spinor(dimension=10, type=MajoranaWeyl);\n{\\chi, \\psi}::AntiCommuting;\n\\bar{#}::DiracBar;\n\\Gamma{#}::GammaMatrix;\n{\\chi, \\psi}::SortOrder;\nex:=\\bar{\\psi} \\Gamma_{m n p} \\chi;" }, { "cell_origin" : "client", "cell_type" : "input", "cells" : [ { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\bar{\\psi} \\Gamma_{m n p} \\chi\\end{dmath*}" } ], "source" : "sort_product(_);" }, { "cell_origin" : "client", "cell_type" : "input", "cells" : [ { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\bar{\\chi} \\Gamma_{m n p} \\psi\\end{dmath*}" } ], "source" : "sort_spinors(_);" }, { "cell_origin" : "client", "cell_type" : "latex", "cells" : [ { "cell_origin" : "client", "cell_type" : "latex_view", "source" : "Here \\algo{sort_product} did not act because both the spinors and\nthe gamma matrices have the \\prop{ImplicitIndex} property and\nthere are thus no simple rules for their re-ordering. However,\nthe \\algo{sort_spinors} algorithm did act, and took into account\nthe fact that the components of the spinors are anti-commuting." } ], "hidden" : true, "source" : "Here \\algo{sort_product} did not act because both the spinors and\nthe gamma matrices have the \\prop{ImplicitIndex} property and\nthere are thus no simple rules for their re-ordering. However,\nthe \\algo{sort_spinors} algorithm did act, and took into account\nthe fact that the components of the spinors are anti-commuting." }, { "cell_origin" : "client", "cell_type" : "input", "source" : "" } ], "description" : "Cadabra JSON notebook format", "version" : 1 }