{
	"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
}
