{ "cells" : [ { "cell_origin" : "client", "cell_type" : "latex", "cells" : [ { "cell_origin" : "client", "cell_type" : "latex_view", "source" : "\\algorithm{expand}{Write out products of objects with implicit indices.}\n\nWrite out products of matrices and vectors inside indexbrackets,\ninserting new dummy indices for the contraction. This requires that\nthe objects inside the index bracket are properly declared to\nhave \\prop{Matrix} or \\prop{ImplicitIndex} properties. \n\nHere is an example with multiple matrices:" } ], "hidden" : true, "source" : "\\algorithm{expand}{Write out products of objects with implicit indices.}\n\nWrite out products of matrices and vectors inside indexbrackets,\ninserting new dummy indices for the contraction. This requires that\nthe objects inside the index bracket are properly declared to\nhave \\prop{Matrix} or \\prop{ImplicitIndex} properties. \n\nHere is an example with multiple matrices:" }, { "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(a, b, c, d, e\\right).\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\text{Attached property Matrix to~}\\left(A, B, C, D\\right).\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\left(A B C D\\right)\\,_{a b}\\end{dmath*}" } ], "source" : "{a,b,c,d,e}::Indices;\n{A,B,C,D}::Matrix;\n\nex:= (A B C D)_{a b};" }, { "cell_origin" : "client", "cell_type" : "input", "cells" : [ { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}A_{a c} B_{c d} C_{d e} D_{e b}\\end{dmath*}" } ], "source" : "expand(_);" }, { "cell_origin" : "client", "cell_type" : "latex", "cells" : [ { "cell_origin" : "client", "cell_type" : "latex_view", "source" : "Compare the above to the following example, in which one of the\nobjects inside the bracket is no longer a matrix:" } ], "hidden" : true, "source" : "Compare the above to the following example, in which one of the\nobjects inside the bracket is no longer a matrix:" }, { "cell_origin" : "client", "cell_type" : "input", "cells" : [ { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\left(A B Q D\\right)\\,_{a b}\\end{dmath*}" } ], "source" : "ex:= (A B Q D)_{a b};" }, { "cell_origin" : "client", "cell_type" : "input", "cells" : [ { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}A_{a c} B_{c d} Q D_{d b}\\end{dmath*}" } ], "source" : "expand(_);" }, { "cell_origin" : "client", "cell_type" : "latex", "cells" : [ { "cell_origin" : "client", "cell_type" : "latex_view", "source" : "Finally, an example with matrices carrying additional labels, as well\nas a vector object:" } ], "hidden" : true, "source" : "Finally, an example with matrices carrying additional labels, as well\nas a vector object:" }, { "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(\\alpha, \\beta\\right).\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\text{Attached property Matrix to~}\\Gamma\\left(\\#\\right).\\end{dmath*}" }, { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\text{Attached property ImplicitIndex to~}v.\\end{dmath*}" } ], "source" : "{\\alpha,\\beta}::Indices;\n\\Gamma{#}::Matrix;\nv::ImplicitIndex;" }, { "cell_origin" : "client", "cell_type" : "input", "cells" : [ { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\left(\\Gamma_{r} v\\right)\\,_{\\alpha}\\end{dmath*}" } ], "source" : "ex:=(\\Gamma_{r} v)_{\\alpha};" }, { "cell_origin" : "client", "cell_type" : "input", "cells" : [ { "cell_origin" : "server", "cell_type" : "latex_view", "source" : "\\begin{dmath*}{}\\left(\\Gamma_{r}\\right)\\,_{\\alpha \\beta} v_{\\beta}\\end{dmath*}" } ], "source" : "expand(_);" }, { "cell_origin" : "client", "cell_type" : "input", "source" : "" } ], "description" : "Cadabra JSON notebook format", "version" : 1 }