{
	"cells" : 
	[
		{
			"cell_origin" : "client",
			"cell_type" : "latex",
			"cells" : 
			[
				{
					"cell_origin" : "client",
					"cell_type" : "latex_view",
					"source" : "\\section*{Derivatives and implicit dependence on coordinates}\n\nThere is no fixed notation for derivatives; as with all other objects\nyou have to declare derivatives by associating a property to them, in\nthis case the \\prop{Derivative} property. "
				}
			],
			"hidden" : true,
			"source" : "\\section*{Derivatives and implicit dependence on coordinates}\n\nThere is no fixed notation for derivatives; as with all other objects\nyou have to declare derivatives by associating a property to them, in\nthis case the \\prop{Derivative} property. "
		},
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"cells" : 
			[
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}\\text{Attached property Derivative to~}\\nabla{\\#}.\\end{dmath*}"
				}
			],
			"source" : "\\nabla{#}::Derivative;"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "latex",
			"cells" : 
			[
				{
					"cell_origin" : "client",
					"cell_type" : "latex_view",
					"source" : "Derivative objects can be used in various ways. You can just write the\nderivative symbol, as in"
				}
			],
			"hidden" : true,
			"source" : "Derivative objects can be used in various ways. You can just write the\nderivative symbol, as in"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"cells" : 
			[
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"cells" : 
					[
						{
							"cell_origin" : "server",
							"cell_type" : "input_form",
							"source" : "\\nabla(A_{\\mu})"
						}
					],
					"source" : "\\begin{dmath*}{}\\nabla{A_{\\mu}}\\end{dmath*}"
				}
			],
			"source" : "ex:=\\nabla{ A_{\\mu} };"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "latex",
			"cells" : 
			[
				{
					"cell_origin" : "client",
					"cell_type" : "latex_view",
					"source" : "Or you can write the coordinate with\nrespect to which the derivative is taken,"
				}
			],
			"hidden" : true,
			"source" : "Or you can write the coordinate with\nrespect to which the derivative is taken,"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"cells" : 
			[
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}\\text{Attached property Coordinate to~}s.\\end{dmath*}"
				},
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}\\text{Attached property Depends to~}A_{\\mu}.\\end{dmath*}"
				},
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"cells" : 
					[
						{
							"cell_origin" : "server",
							"cell_type" : "input_form",
							"source" : "\\nabla_{s}(A_{\\mu})"
						}
					],
					"source" : "\\begin{dmath*}{}\\nabla_{s}{A_{\\mu}}\\end{dmath*}"
				}
			],
			"source" : "s::Coordinate;\nA_{\\mu}::Depends(s);\nex:=\\nabla_{s}{ A_{\\mu} };"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "latex",
			"cells" : 
			[
				{
					"cell_origin" : "client",
					"cell_type" : "latex_view",
					"source" : "Finally, you can use an index as the subscript argument, as in"
				}
			],
			"hidden" : true,
			"source" : "Finally, you can use an index as the subscript argument, as in"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"cells" : 
			[
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}\\text{Attached property Indices(position=free) to~}\\left[\\mu,~\\discretionary{}{}{} \\nu\\right].\\end{dmath*}"
				},
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"cells" : 
					[
						{
							"cell_origin" : "server",
							"cell_type" : "input_form",
							"source" : "\\nabla_{\\nu}(A_{\\mu})"
						}
					],
					"source" : "\\begin{dmath*}{}\\nabla_{\\nu}{A_{\\mu}}\\end{dmath*}"
				}
			],
			"source" : "{ \\mu, \\nu }::Indices(vector);\nex:=\\nabla_{\\nu}{ A_{\\mu} };"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "latex",
			"cells" : 
			[
				{
					"cell_origin" : "client",
					"cell_type" : "latex_view",
					"source" : "(in which case the first line is, for the purpose of using the\nderivative operator, actually unnecessary). "
				}
			],
			"hidden" : true,
			"source" : "(in which case the first line is, for the purpose of using the\nderivative operator, actually unnecessary). "
		},
		{
			"cell_origin" : "client",
			"cell_type" : "latex",
			"cells" : 
			[
				{
					"cell_origin" : "client",
					"cell_type" : "latex_view",
					"source" : "The main point of associating the \\prop{Derivative} property to an\nobject is to make the object obey the Leibnitz or product rule, as\nillustrated by the following example,"
				}
			],
			"hidden" : true,
			"source" : "The main point of associating the \\prop{Derivative} property to an\nobject is to make the object obey the Leibnitz or product rule, as\nillustrated by the following example,"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"cells" : 
			[
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}\\text{Attached property Derivative to~}\\nabla{\\#}.\\end{dmath*}"
				},
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"cells" : 
					[
						{
							"cell_origin" : "server",
							"cell_type" : "input_form",
							"source" : "\\nabla(A_{\\mu} B_{\\nu})"
						}
					],
					"source" : "\\begin{dmath*}{}\\nabla\\left(A_{\\mu} B_{\\nu}\\right)\\end{dmath*}"
				},
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"cells" : 
					[
						{
							"cell_origin" : "server",
							"cell_type" : "input_form",
							"source" : "\\nabla(A_{\\mu}) B_{\\nu} + A_{\\mu} \\nabla(B_{\\nu})"
						}
					],
					"source" : "\\begin{dmath*}{}\\nabla{A_{\\mu}} B_{\\nu}+A_{\\mu} \\nabla{B_{\\nu}}\\end{dmath*}"
				}
			],
			"source" : "\\nabla{#}::Derivative;\nex:= \\nabla{ A_{\\mu} * B_{\\nu} };\nproduct_rule(_);"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "latex",
			"cells" : 
			[
				{
					"cell_origin" : "client",
					"cell_type" : "latex_view",
					"source" : "This behaviour is a consequence of the fact that \\prop{Derivative}\nderives from \\prop{Distributable}. Note that the\n\\prop{Derivative} property does not automatically give you \ncommuting derivatives, so that you can e.g.~use it to write covariant\nderivatives. "
				}
			],
			"hidden" : true,
			"source" : "This behaviour is a consequence of the fact that \\prop{Derivative}\nderives from \\prop{Distributable}. Note that the\n\\prop{Derivative} property does not automatically give you \ncommuting derivatives, so that you can e.g.~use it to write covariant\nderivatives. "
		},
		{
			"cell_origin" : "client",
			"cell_type" : "latex",
			"cells" : 
			[
				{
					"cell_origin" : "client",
					"cell_type" : "latex_view",
					"source" : "More specific derivative types exist too. An example are partial\nderivatives, declared using the \\prop{PartialDerivative} property.\nPartial derivatives are commuting and therefore automatically\nsymmetric in their indices,"
				}
			],
			"hidden" : true,
			"source" : "More specific derivative types exist too. An example are partial\nderivatives, declared using the \\prop{PartialDerivative} property.\nPartial derivatives are commuting and therefore automatically\nsymmetric in their indices,"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"cells" : 
			[
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}\\text{Attached property PartialDerivative to~}\\partial{\\#}.\\end{dmath*}"
				},
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}\\text{Attached property Indices(position=free) to~}\\left[a,~\\discretionary{}{}{} b,~\\discretionary{}{}{} m,~\\discretionary{}{}{} n\\right].\\end{dmath*}"
				},
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"source" : "\\begin{dmath*}{}\\text{Attached property Symmetric to~}C_{m n}.\\end{dmath*}"
				},
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"cells" : 
					[
						{
							"cell_origin" : "server",
							"cell_type" : "input_form",
							"source" : "T^{b a} \\partial_{a b}(C_{m n} D_{n m})"
						}
					],
					"source" : "\\begin{dmath*}{}T^{b a} \\partial_{a b}\\left(C_{m n} D_{n m}\\right)\\end{dmath*}"
				}
			],
			"source" : "\\partial{#}::PartialDerivative;\n{a,b,m,n}::Indices(vector);\nC_{m n}::Symmetric;\nex:=T^{b a} \\partial_{a b}( C_{m n} D_{n m} );"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"cells" : 
			[
				{
					"cell_origin" : "server",
					"cell_type" : "latex_view",
					"cells" : 
					[
						{
							"cell_origin" : "server",
							"cell_type" : "input_form",
							"source" : "T^{a b} \\partial_{a b}(C_{m n} D_{m n})"
						}
					],
					"source" : "\\begin{dmath*}{}T^{a b} \\partial_{a b}\\left(C_{m n} D_{m n}\\right)\\end{dmath*}"
				}
			],
			"source" : "canonicalise(_);"
		},
		{
			"cell_origin" : "client",
			"cell_type" : "input",
			"source" : ""
		}
	],
	"description" : "Cadabra JSON notebook format",
	"version" : 1
}
