Module Expr Str ImportFrom alias alias ImportFrom alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias ImportFrom alias alias alias ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias alias alias ImportFrom alias alias alias ImportFrom alias ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias Assign NameStore ListLoad Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad NameLoad Assign NameStore BinOpAdd BinOpMult Num NameLoad Num If BoolOpOr UnaryOpNot AttributeLoad NameLoad attr UnaryOpNot CompareGt NameLoad Num body Raise Call NameLoad BinOpMod Str NameLoad Return TupleLoad NameLoad ListComp BinOpSub NameLoad NameLoad comprehension NameStore Call NameLoad Call NameLoad BinOpAdd BinOpMult Num NameLoad Num decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Return Call NameLoad AttributeLoad NameLoad attr decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults vararg body Return BinOpMod Str TupleLoad Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Assign NameStore Call NameLoad Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Return BinOpMod Str TupleLoad Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call AttributeLoad NameLoad attr Str Call NameLoad Num Num Assign TupleStore NameStore NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad For NameStore Call NameLoad NameLoad body For NameStore Call NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index NameLoad NameLoad SubscriptLoad NameLoad Index NameLoad Assign SubscriptStore NameLoad Index TupleLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults kwarg body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr If Call NameLoad NameLoad NameLoad body Assign NameStore BinOpMult BinOpMult NameLoad AttributeLoad NameLoad attr NameLoad orelse If Call NameLoad NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad orelse Assign NameStore Call NameLoad BinOpMult NameLoad NameLoad If CompareEq NameLoad BinOpMult NameLoad NameLoad body Raise NameLoad Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body If UnaryOpNot BoolOpOr Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad body Raise NameLoad Assign NameStore ListLoad For NameStore Call NameLoad Call NameLoad AttributeLoad NameLoad attr body Assign NameStore ListLoad Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Slice NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Expr Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Slice BinOpAdd NameLoad Num Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad Call NameLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call NameLoad BinOpMult NameLoad AttributeLoad NameLoad attr If CompareEq NameLoad BinOpMult NameLoad AttributeLoad NameLoad attr body Raise NameLoad Return Call NameLoad NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad Call AttributeLoad NameLoad attr attr decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str Assign NameStore Str Assign NameStore Str FunctionDef arguments args NameParam NameParam defaults body Return BinOpMult BinOpMult Num NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareGtE NameLoad NameLoad body Return AttributeLoad NameLoad attr Return BinOpMult BinOpMult NameLoad Call NameLoad BinOpSub BinOpMult NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr BinOpMult NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr Call NameLoad NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareGtE NameLoad NameLoad body Return AttributeLoad NameLoad attr Return BinOpMult BinOpMult NameLoad Call NameLoad BinOpSub BinOpMult NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr BinOpMult NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr Call NameLoad NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign NameStore BinOpMult NameLoad Call NameLoad BinOpSub BinOpMult NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr BinOpMult NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr AugAssignMult NameStore Call NameLoad NameLoad BinOpAdd NameLoad Num AugAssignMult NameStore Call NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg body Return BinOpAdd Call NameLoad SubscriptLoad NameLoad Index Num BinOpMult NameLoad Call NameLoad SubscriptLoad NameLoad Index Num decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str Assign NameStore Str Assign NameStore Str FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareLtE NameLoad UnaryOpUSub NameLoad body Return AttributeLoad NameLoad attr Return BinOpMult BinOpMult NameLoad Call NameLoad BinOpSub BinOpMult NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr BinOpMult NameLoad BinOpSub NameLoad AttributeLoad NameLoad attr Call NameLoad NameLoad BinOpSub NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareLtE NameLoad UnaryOpUSub NameLoad body Return AttributeLoad NameLoad attr Return BinOpMult BinOpMult NameLoad Call NameLoad BinOpSub BinOpMult NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr BinOpMult NameLoad BinOpSub NameLoad AttributeLoad NameLoad attr Call NameLoad NameLoad BinOpSub NameLoad AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign NameStore BinOpMult NameLoad Call NameLoad BinOpSub BinOpMult NameLoad BinOpAdd NameLoad AttributeLoad NameLoad attr BinOpMult NameLoad BinOpSub NameLoad AttributeLoad NameLoad attr AugAssignMult NameStore Call NameLoad NameLoad BinOpSub NameLoad Num AugAssignMult NameStore Call NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg body Return BinOpSub Call NameLoad SubscriptLoad NameLoad Index Num BinOpMult NameLoad Call NameLoad SubscriptLoad NameLoad Index Num decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str Assign NameStore Str Assign NameStore Str FunctionDef arguments args NameParam NameParam defaults body Return BinOpMult BinOpMult NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return BinOpMult BinOpMult UnaryOpUSub NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Return BinOpDiv BinOpAdd NameLoad NameLoad Call NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Return BinOpDiv BinOpAdd NameLoad NameLoad Call NameLoad Num decorator_list FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Return BinOpDiv BinOpAdd NameLoad NameLoad Call NameLoad Num decorator_list FunctionDef arguments args NameParam defaults vararg body Return BinOpDiv BinOpAdd Call NameLoad SubscriptLoad NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num Num decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str Assign NameStore Str Assign NameStore Str FunctionDef arguments args NameParam NameParam defaults body Return BinOpMult BinOpMult NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return BinOpMult BinOpMult UnaryOpUSub NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Return BinOpDiv BinOpSub NameLoad NameLoad BinOpMult Call NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Return BinOpDiv BinOpSub NameLoad NameLoad BinOpMult Call NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Return BinOpDiv BinOpSub NameLoad NameLoad BinOpMult Call NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg body Return BinOpDiv BinOpSub Call NameLoad SubscriptLoad NameLoad Index Num Call NameLoad SubscriptLoad NameLoad Index Num BinOpMult Num NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str Assign NameStore Str Assign NameStore Str FunctionDef arguments args NameParam NameParam defaults body Return BinOpMult BinOpMult NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return BinOpMult BinOpMult UnaryOpUSub NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return BinOpMult NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return BinOpMult UnaryOpUSub NameLoad Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign NameStore BinOpMult NameLoad NameLoad AugAssignMult NameStore Call NameLoad NameLoad NameLoad AugAssignMult NameStore Call NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str Assign NameStore Str FunctionDef arguments args NameParam NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Return BinOpMult BinOpMult BinOpMult BinOpPow NameLoad Num NameLoad BinOpAdd NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Return BinOpMult BinOpMult BinOpMult BinOpPow NameLoad Num NameLoad BinOpAdd NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Return BinOpMult BinOpMult BinOpMult BinOpPow NameLoad Num NameLoad BinOpAdd NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Return BinOpMult BinOpMult BinOpMult BinOpPow NameLoad Num NameLoad BinOpAdd NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Return BinOpMult BinOpMult BinOpMult BinOpPow NameLoad Num NameLoad BinOpAdd NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Return BinOpMult BinOpMult BinOpMult BinOpPow NameLoad Num NameLoad BinOpAdd NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign NameStore BinOpMult BinOpMult BinOpPow NameLoad Num NameLoad BinOpAdd NameLoad Num AugAssignMult NameStore Call NameLoad NameLoad NameLoad AugAssignMult NameStore Call NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Assign NameStore Call NameLoad Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call NameLoad Str Return BinOpPow NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Return BinOpMod Str Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults vararg body Return BinOpAdd BinOpAdd BinOpPow Call NameLoad SubscriptLoad NameLoad Index Num Num BinOpPow Call NameLoad SubscriptLoad NameLoad Index Num Num BinOpPow Call NameLoad SubscriptLoad NameLoad Index Num Num decorator_list FunctionDef arguments args NameParam defaults vararg body Assign NameStore SubscriptLoad NameLoad Index Num Return BinOpAdd BinOpPow Call NameLoad NameLoad Num BinOpMult Call NameLoad Num Num BinOpAdd BinOpMult Call NameLoad NameLoad Call NameLoad NameLoad BinOpMult Call NameLoad NameLoad Call NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareNotEq Call NameLoad NameLoad Num body Raise Call NameLoad BinOpMod Str NameLoad Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults body Return Call NameLoad AttributeLoad NameLoad attr decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults vararg body Return Str decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body If AttributeLoad NameLoad attr body Return Call NameLoad BinOpAdd Call NameLoad Str Call NameLoad Str orelse Return Call NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Return Str decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad UnaryOpUSub AttributeLoad NameLoad attr UnaryOpUSub AttributeLoad NameLoad attr UnaryOpUSub AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Return Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Return Call NameLoad NameLoad NameLoad NameLoad Num NameLoad Num decorator_list NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AugAssignMult NameStore Call NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Call NameLoad Num Num Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Assign TupleStore NameStore NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad NameLoad For NameStore Call NameLoad NameLoad body For NameStore Call NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index NameLoad NameLoad SubscriptLoad NameLoad Index NameLoad If NameLoad body Assign SubscriptStore NameLoad Index TupleLoad NameLoad NameLoad Call AttributeLoad NameLoad attr orelse Assign SubscriptStore NameLoad Index TupleLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assign NameStore ListLoad Assign NameStore Call NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Index Num For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpMult NameLoad Call NameLoad NameLoad NameLoad Return Call NameLoad NameLoad orelse If Call AttributeLoad NameLoad attr Str NameLoad body Assign NameStore Call NameLoad Str orelse Assign NameStore Call NameLoad Str Return Call NameLoad BinOpMult Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad TupleLoad NameLoad UnaryOpUSub NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assign NameStore ListLoad Assign NameStore Call NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad Index Num For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpMult NameLoad Call NameLoad NameLoad NameLoad NameLoad NameLoad Return Call NameLoad NameLoad orelse If Call AttributeLoad NameLoad attr Str NameLoad body Assign NameStore Call NameLoad Str orelse Assign NameStore Call NameLoad Str Return Call NameLoad BinOpMult Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad NameLoad NameLoad TupleLoad NameLoad UnaryOpUSub NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore NameLoad FunctionDef arguments args NameParam defaults vararg kwarg body If UnaryOpNot CompareEq Call NameLoad NameLoad Num body Raise Call NameLoad BinOpMod Str NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad If NameLoad body Return Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad NameLoad attr Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults vararg body If BoolOpAnd CompareEq AttributeLoad NameLoad attr Num CompareEq AttributeLoad NameLoad attr Num body Return BinOpMod Str TupleLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return BinOpMod Str TupleLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str If CompareGt NameLoad Call AttributeLoad NameLoad attr body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpMult Str BinOpSub NameLoad Call AttributeLoad NameLoad attr If CompareGt NameLoad Call AttributeLoad NameLoad attr body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr BinOpMult Str BinOpSub NameLoad Call AttributeLoad NameLoad attr If BoolOpAnd CompareEq AttributeLoad NameLoad attr Num CompareEq AttributeLoad NameLoad attr Num body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad BinOpAdd Str BinOpMult Str NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore Call NameLoad BinOpAdd Str BinOpMult Str NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults kwarg body Assign SubscriptStore NameLoad Index Str NameLoad Return Call NameLoad AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr If UnaryOpNot AttributeLoad NameLoad attr body Raise Call NameLoad BinOpMod Str NameLoad Assign NameStore Num If CompareEq NameLoad BinOpDiv NameLoad Num body For NameStore Call NameLoad BinOpAdd BinOpMult Num NameLoad Num body If BoolOpOr CompareGt NameLoad BinOpAdd NameLoad NameLoad CompareGt NameLoad BinOpSub NameLoad NameLoad CompareLt NameLoad BinOpSub NameLoad NameLoad body Continue AugAssignAdd NameStore BinOpMult BinOpMult BinOpPow UnaryOpUSub Call NameLoad Num NameLoad Call NameLoad BinOpAdd NameLoad NameLoad NameLoad Call NameLoad BinOpSub NameLoad NameLoad BinOpSub BinOpAdd NameLoad NameLoad NameLoad AugAssignMult NameStore BinOpMult BinOpDiv BinOpPow UnaryOpUSub Call NameLoad Num BinOpSub NameLoad NameLoad BinOpPow Num NameLoad Call NameLoad BinOpDiv BinOpMult Call NameLoad BinOpAdd NameLoad NameLoad Call NameLoad BinOpSub NameLoad NameLoad BinOpMult Call NameLoad BinOpAdd NameLoad NameLoad Call NameLoad BinOpSub NameLoad NameLoad orelse Assign TupleStore NameStore NameStore Call NameLoad NameLoad For NameStore NameLoad body AugAssignAdd NameStore BinOpMult BinOpMult Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad BinOpDiv NameLoad Num attr BinOpAdd Call NameLoad BinOpMult UnaryOpUSub NameLoad NameLoad BinOpMult NameLoad Call NameLoad BinOpMult UnaryOpUSub NameLoad NameLoad Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad NameLoad UnaryOpUSub NameLoad BinOpDiv NameLoad Num attr Assign NameStore BinOpMult BinOpMult NameLoad BinOpPow NameLoad BinOpSub BinOpSub BinOpMult Num NameLoad NameLoad NameLoad BinOpPow Num BinOpMult Num NameLoad Assign NameStore Call NameLoad NameLoad AugAssignMult NameStore BinOpMult Call NameLoad BinOpMult BinOpMult UnaryOpUSub NameLoad NameLoad NameLoad Call NameLoad BinOpMult BinOpMult UnaryOpUSub NameLoad NameLoad NameLoad Return NameLoad decorator_list decorator_list Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str Assign NameStore Call NameLoad Str ClassDef bases NameLoad body Expr Str Assign NameStore Str FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad If AttributeLoad NameLoad attr body If CompareNotEq BinOpMult Num NameLoad Call NameLoad BinOpMult Num NameLoad body Raise Call NameLoad BinOpMod Str NameLoad If CompareLt NameLoad Num body Raise Call NameLoad BinOpMod Str NameLoad If AttributeLoad NameLoad attr body If CompareNotEq BinOpMult Num NameLoad Call NameLoad BinOpMult Num NameLoad body Raise Call NameLoad BinOpMod Str NameLoad If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body If CompareGt Call NameLoad NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad NameLoad NameLoad If CompareNotEq Call NameLoad BinOpSub NameLoad NameLoad BinOpSub NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults body Return Call NameLoad BinOpAdd BinOpMult Num SubscriptLoad NameLoad Index Num Num decorator_list NameLoad FunctionDef arguments args NameParam defaults kwarg body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Num Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Num Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str Num Assign TupleStore NameStore NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Num For TupleStore NameStore NameStore Call NameLoad NameLoad body If AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index TupleLoad NameLoad Num Call AttributeLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr NameLoad NameLoad NameLoad attr orelse Assign SubscriptStore NameLoad Index TupleLoad NameLoad Num Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body If Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body If Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body If Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults kwarg body ImportFrom alias Assign NameStore AttributeLoad NameLoad attr Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Slice Num If AttributeLoad NameLoad attr body If Call NameLoad NameLoad NameLoad body If CompareEq NameLoad Call NameLoad NameLoad body Assign NameStore BinOpPow NameLoad Num orelse Assign NameStore BinOpDiv BinOpMult BinOpSub BinOpMult Num NameLoad Num BinOpAdd BinOpMult Num NameLoad Num Num orelse Assign NameStore Num Assign NameStore Call NameLoad NameLoad keyword NameLoad NameLoad Assign NameStore Call NameLoad ListComp BinOpMult SubscriptLoad NameLoad Index BinOpAdd NameLoad NameLoad Call NameLoad NameLoad BinOpSub NameLoad NameLoad NameLoad comprehension NameStore Call NameLoad BinOpAdd BinOpMult Num NameLoad Num If BoolOpAnd Call NameLoad NameLoad NameLoad CompareIs Call AttributeLoad NameLoad attr Str NameLoad body Return Call NameLoad NameLoad Return NameLoad orelse Assign NameStore Num Assign NameStore Call NameLoad Str While CompareNotEq Call AttributeLoad NameLoad attr NameLoad Num NameLoad body AugAssignAdd NameStore Num Assign NameStore Call NameLoad BinOpMod Str NameLoad Break If Call NameLoad NameLoad NameLoad body Assign NameStore TupleLoad Num NameLoad TupleLoad Num Num orelse Assign NameStore TupleLoad Num NameLoad If Call NameLoad NameLoad NameLoad body Assign NameStore SubscriptLoad AttributeLoad SubscriptLoad Call NameLoad Call AttributeLoad NameLoad attr NameLoad keyword NameLoad Index Num attr Slice Num Num orelse Assign NameStore SubscriptLoad AttributeLoad SubscriptLoad AttributeLoad SubscriptLoad Call NameLoad Call AttributeLoad NameLoad attr NameLoad keyword NameLoad Index Num attr Index Num attr Slice Num Num If CompareEq NameLoad TupleLoad Num Num Num body Return NameLoad orelse Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad AttributeLoad NameLoad attr NameLoad Return Call NameLoad BinOpMult NameLoad NameLoad TupleLoad NameLoad UnaryOpUSub NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareIsNot Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body AugAssignMult NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad Index BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse AugAssignMult NameStore BinOpMult Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareIsNot Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body AugAssignMult NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad Index BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse AugAssignMult NameStore BinOpMult Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Assign NameStore Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareIsNot Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body AugAssignMult NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad Index BinOpSub AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse AugAssignMult NameStore BinOpMult Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad BinOpMult NameLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv BinOpMult Num NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv NameLoad Num NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv BinOpMult Num NameLoad Num keyword BinOpDiv UnaryOpUSub NameLoad Num keyword BinOpDiv NameLoad Num NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv BinOpMult Num NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv BinOpMult Num NameLoad Num keyword BinOpDiv NameLoad Num keyword BinOpDiv NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore ListComp ListLoad BinOpAdd NameLoad Num comprehension NameStore Call NameLoad NameLoad Assign NameStore ListLoad Assign NameStore ListLoad For TupleStore NameStore NameStore NameStore NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num SubscriptLoad NameLoad Index BinOpSub NameLoad Num Assign NameStore Call NameLoad BinOpAdd SubscriptLoad NameLoad Index BinOpSub NameLoad Num SubscriptLoad NameLoad Index BinOpSub NameLoad Num Assign SubscriptStore NameLoad Index BinOpSub SubscriptLoad NameLoad Index Num Num NameLoad Return TupleLoad NameLoad NameLoad decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults vararg body Expr Call NameLoad NameLoad NameLoad If CompareEq Call NameLoad NameLoad Num body Assign NameStore ListLoad For NameStore Call NameLoad Num Call NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad Num NameLoad Call NameLoad ListComp SubscriptLoad NameLoad Index NameLoad comprehension NameStore Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad Num Call NameLoad NameLoad NameLoad orelse If CompareEq Call NameLoad NameLoad Num body Assign NameStore SubscriptLoad NameLoad Index Num orelse Raise Call NameLoad BinOpMod Str BinOpAdd Call NameLoad NameLoad Num If UnaryOpNot BoolOpOr Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad body Raise Call NameLoad BinOpMod Str AttributeLoad AttributeLoad NameLoad attr attr If UnaryOpNot BoolOpOr Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad body Raise Call NameLoad BinOpMod Str AttributeLoad AttributeLoad NameLoad attr attr If UnaryOpNot Call NameLoad GeneratorExp BoolOpOr Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad comprehension NameStore NameLoad body Raise Call NameLoad Str If UnaryOpNot CompareEq BinOpSub Call NameLoad NameLoad Num Call NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad BinOpSub Call NameLoad NameLoad Num Call NameLoad NameLoad If UnaryOpNot Call NameLoad GeneratorExp CompareEq Call NameLoad NameLoad Num comprehension NameStore NameLoad body Raise Call NameLoad Str Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad ListComp Call NameLoad NameLoad comprehension NameStore NameLoad Assign NameStore Call NameLoad ListComp Call NameLoad Call NameLoad NameLoad Call NameLoad NameLoad Call NameLoad NameLoad comprehension TupleStore NameStore NameStore NameStore NameLoad If Call NameLoad GeneratorExp CompareNotEq BinOpMult Num NameLoad Call NameLoad BinOpMult Num NameLoad comprehension NameStore NameLoad AttributeLoad NameLoad attr body Raise Call NameLoad BinOpMod Str NameLoad If Call NameLoad GeneratorExp BoolOpOr CompareNotEq NameLoad Call NameLoad NameLoad CompareNotEq NameLoad Call NameLoad NameLoad comprehension TupleStore NameStore NameStore NameStore NameLoad body Raise Call NameLoad Str If Call NameLoad GeneratorExp BoolOpOr CompareLt NameLoad Num CompareLt NameLoad Num CompareGt NameLoad Call NameLoad NameLoad CompareGt NameLoad Call NameLoad NameLoad comprehension TupleStore NameStore NameStore NameStore NameLoad body Raise Call NameLoad Str If Call NameLoad GeneratorExp CompareNotEq BinOpMult Num NameLoad Call NameLoad BinOpMult Num NameLoad comprehension TupleStore NameStore NameStore NameStore NameLoad AttributeLoad NameLoad attr body Raise Call NameLoad Str Assign TupleStore NameStore NameStore Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore Call NameLoad NameLoad For TupleStore NameStore TupleStore NameStore NameStore Call NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index BinOpSub Call NameLoad NameLoad Num Assign NameStore SubscriptLoad NameLoad Index BinOpSub Call NameLoad NameLoad Num Assign NameStore SubscriptLoad NameLoad Index NameLoad If BoolOpAnd AttributeLoad Call NameLoad NameLoad attr AttributeLoad Call NameLoad NameLoad attr AttributeLoad Call NameLoad NameLoad attr body If CompareLt BinOpAdd NameLoad NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad BinOpAdd NameLoad Num NameLoad NameLoad NameLoad If CompareGt Call NameLoad BinOpSub NameLoad NameLoad NameLoad body Raise Call NameLoad BinOpMod Str TupleLoad BinOpAdd NameLoad Num NameLoad NameLoad NameLoad If CompareEq Call NameLoad BinOpAdd NameLoad NameLoad BinOpAdd NameLoad NameLoad body Pass Assign SubscriptStore NameLoad Index BinOpSub Call NameLoad BinOpAdd NameLoad NameLoad Num NameLoad If BoolOpAnd CompareGt Call NameLoad NameLoad Num CompareNotEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num NameLoad body Raise Call NameLoad Str Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Assign NameStore ListLoad Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr For TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr keyword Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad Call AttributeLoad NameLoad attr NameLoad For TupleStore NameStore TupleStore NameStore NameStore Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Slice Num SubscriptLoad AttributeLoad NameLoad attr Slice Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad Call AttributeLoad Str attr GeneratorExp Call NameLoad NameLoad comprehension NameStore Call NameLoad BinOpAdd NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad Str attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Assign NameStore ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr For TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr keyword Num body Assign NameStore BinOpMod Str NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad BinOpAdd NameLoad Str Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad For TupleStore NameStore TupleStore NameStore NameStore Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Slice Num SubscriptLoad AttributeLoad NameLoad attr Slice Num body Assign NameStore Call AttributeLoad Str attr GeneratorExp SubscriptLoad Call NameLoad BinOpMod Str NameLoad Index Num comprehension NameStore Call NameLoad BinOpAdd NameLoad NameLoad Assign NameStore Call NameLoad BinOpAdd BinOpAdd Str NameLoad Str Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults vararg body Assign NameStore ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr For TupleStore NameStore NameStore Call NameLoad AttributeLoad NameLoad attr keyword Num body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad Call AttributeLoad NameLoad attr NameLoad For TupleStore NameStore TupleStore NameStore NameStore Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Slice Num SubscriptLoad AttributeLoad NameLoad attr Slice Num body Assign NameStore Call AttributeLoad Str attr GeneratorExp Call NameLoad NameLoad comprehension NameStore Call NameLoad BinOpAdd NameLoad NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad NameLoad Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Index Num decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return SubscriptLoad Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index Num Index Num decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Call NameLoad SubscriptLoad NameLoad Index Num If AttributeLoad NameLoad attr body Return Call NameLoad ListComp Call NameLoad NameLoad comprehension NameStore Call NameLoad Call NameLoad BinOpAdd BinOpMult Num NameLoad Num Num Num orelse Return Call NameLoad BinOpAdd BinOpMult Num NameLoad Num decorator_list NameLoad FunctionDef arguments args NameParam defaults kwarg body Assign NameStore Call AttributeLoad NameLoad attr If UnaryOpNot AttributeLoad AttributeLoad NameLoad attr attr body Raise Call NameLoad Str If UnaryOpNot AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr body Raise Call NameLoad Str Assign NameStore Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Num If CompareEq AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr body Assign NameStore BinOpPow AttributeLoad NameLoad attr Num orelse Assign NameStore BinOpDiv BinOpMult BinOpSub BinOpMult Num AttributeLoad NameLoad attr Num BinOpAdd Num BinOpMult Num AttributeLoad NameLoad attr Num Assign SubscriptStore NameLoad ExtSlice Slice NameLoad BinOpAdd BinOpAdd NameLoad BinOpMult Num AttributeLoad NameLoad attr Num Index Num Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr attr NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body If Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body If Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults vararg kwarg body If Call NameLoad NameLoad NameLoad body Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv BinOpMult Num NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv NameLoad Num NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv BinOpMult Num NameLoad Num keyword BinOpDiv UnaryOpUSub NameLoad Num keyword BinOpDiv NameLoad Num NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv BinOpMult Num NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr keyword BinOpDiv BinOpMult Num NameLoad Num keyword BinOpDiv NameLoad Num keyword BinOpDiv NameLoad Num NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults kwarg body Return Call AttributeLoad NameLoad attr NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body Return NameLoad decorator_list NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad For NameStore NameLoad body If UnaryOpNot Call NameLoad ListComp Call NameLoad NameLoad NameLoad comprehension NameStore AttributeLoad NameLoad attr body Continue If UnaryOpNot Call NameLoad ListComp CompareIs AttributeLoad NameLoad attr AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr comprehension NameStore AttributeLoad NameLoad attr body Raise Call NameLoad Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad SubscriptLoad NameLoad Index Num attr If CompareIs NameLoad NameLoad body Assign NameStore ListLoad For NameStore Call NameLoad Num Call NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad Num BinOpAdd NameLoad Num If UnaryOpNot CompareEq Call NameLoad NameLoad BinOpSub Call NameLoad NameLoad Num body Raise Call NameLoad BinOpMod Str TupleLoad BinOpSub Call NameLoad NameLoad Num Call NameLoad NameLoad If UnaryOpNot Call NameLoad GeneratorExp CompareEq Call NameLoad NameLoad Num comprehension NameStore NameLoad body Raise Call NameLoad Str If Call NameLoad ListComp CompareEq NameLoad NameLoad comprehension TupleStore NameStore NameStore NameLoad body Raise Call NameLoad Str If Call NameLoad ListComp BoolOpAnd AttributeLoad Call NameLoad NameLoad attr AttributeLoad Call NameLoad NameLoad attr comprehension TupleStore NameStore NameStore NameLoad body Assign NameStore BinOpMult ListLoad Num Call NameLoad NameLoad For TupleStore NameStore NameStore NameLoad body If BoolOpOr CompareEq SubscriptLoad NameLoad Index BinOpSub NameLoad Num Num CompareEq SubscriptLoad NameLoad Index BinOpSub NameLoad Num Num body Raise Call NameLoad Str Assign SubscriptStore NameLoad Index BinOpSub Call NameLoad NameLoad NameLoad Num Num Assign NameStore ListComp AttributeLoad NameLoad attr comprehension NameStore NameLoad Assign NameStore ListComp AttributeLoad NameLoad attr comprehension NameStore NameLoad Assign NameStore ListLoad Assign NameStore ListComp ListLoad BinOpAdd NameLoad Num comprehension NameStore Call NameLoad Call NameLoad NameLoad For NameStore NameLoad body Assign TupleStore NameStore NameStore NameLoad Assign NameStore Call NameLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Assign NameStore Call NameLoad SubscriptLoad NameLoad Index BinOpSub NameLoad Num Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index BinOpSub Call NameLoad NameLoad NameLoad Num Call NameLoad BinOpAdd NameLoad NameLoad If Call NameLoad GeneratorExp BoolOpAnd AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr comprehension NameStore NameLoad body Assign NameStore ListComp Call NameLoad ListComp BinOpSub SubscriptLoad NameLoad Index BinOpSub NameLoad Num SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore BinOpAdd SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad Assign NameStore ListLoad For NameStore Call NameLoad BinOpAdd SubscriptLoad NameLoad Index Num Num body Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad BinOpSub BinOpAdd NameLoad NameLoad Num NameLoad For NameStore Call NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad If Call NameLoad ListComp CompareGt NameLoad NameLoad comprehension TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad body Continue Assign NameStore ListLoad Assign NameStore Call NameLoad NameLoad Assign NameStore ListLoad For TupleStore TupleStore NameStore NameStore NameStore Call NameLoad NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index BinOpSub Call NameLoad NameLoad Num Assign NameStore SubscriptLoad NameLoad Index BinOpSub Call NameLoad NameLoad Num Assign NameStore BinOpSub BinOpAdd NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index BinOpSub Call NameLoad BinOpAdd NameLoad NameLoad Num NameLoad Assign NameStore Call NameLoad ListComp SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore NameLoad Assign NameStore Call NameLoad ListComp SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore NameLoad Assign NameStore BinOpAdd NameLoad NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad Call NameLoad NameLoad Call NameLoad NameLoad NameLoad If Call NameLoad ListComp CompareGt Call NameLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad body Continue If Call NameLoad ListComp CompareLt BinOpAdd SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad body Continue If Call NameLoad ListComp CompareGt Call NameLoad BinOpSub SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad body Continue Assign NameStore Call NameLoad ListComp Call AttributeLoad Call NameLoad NameLoad attr comprehension NameStore NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad Return Call NameLoad NameLoad orelse Assign NameStore ListLoad Assign NameStore ListLoad Assign NameStore ListLoad Assign NameStore Call NameLoad NameLoad For TupleStore NameStore NameStore NameLoad body Assign NameStore SubscriptLoad NameLoad Index BinOpSub Call NameLoad NameLoad Num Assign NameStore SubscriptLoad NameLoad Index BinOpSub Call NameLoad NameLoad Num If CompareEq Call NameLoad BinOpAdd NameLoad NameLoad Call NameLoad NameLoad body Assign NameStore Call NameLoad Str orelse Assign NameStore BinOpAdd Str Call AttributeLoad Str attr ListComp BinOpMod Str NameLoad comprehension NameStore BinOpAdd NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign SubscriptStore NameLoad Index BinOpSub Call NameLoad BinOpAdd NameLoad NameLoad Num NameLoad Assign NameStore Call NameLoad ListComp SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore NameLoad Assign NameStore Call NameLoad ListComp SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore NameLoad Assign NameStore BinOpAdd NameLoad NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad Call NameLoad NameLoad Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad BinOpAdd NameLoad NameLoad Assign NameStore Call NameLoad ListComp Call NameLoad NameLoad comprehension NameStore NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Return Call NameLoad BinOpMult NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad For NameStore NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call NameLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body If Call NameLoad NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr orelse If Call NameLoad NameLoad NameLoad body If CompareIs NameLoad NameLoad body Raise Call NameLoad Str If UnaryOpNot BoolOpOr Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad body Raise Call NameLoad Str If CompareIs NameLoad NameLoad body Assign NameStore ListLoad For NameStore Call NameLoad Num Call NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad Num BinOpAdd Num NameLoad Call NameLoad ListComp SubscriptLoad NameLoad Index NameLoad comprehension NameStore Call NameLoad BinOpAdd NameLoad Num If UnaryOpNot BoolOpOr Call NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad body Raise Call NameLoad Str If UnaryOpNot CompareEq Call NameLoad NameLoad BinOpSub Call NameLoad NameLoad Num body Raise Call NameLoad Str Assign TupleStore NameStore NameStore Call NameLoad NameLoad Call NameLoad NameLoad Assign NameStore AttributeLoad NameLoad attr orelse Raise Call NameLoad Str Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore ListLoad Assign NameStore Call NameLoad NameLoad For TupleStore NameStore TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index BinOpSub SubscriptLoad NameLoad Index Num Num Assign NameStore SubscriptLoad NameLoad Index BinOpSub SubscriptLoad NameLoad Index Num Num Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index BinOpSub Call NameLoad BinOpAdd NameLoad NameLoad Num NameLoad If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore ListComp BinOpMult Num NameLoad comprehension NameStore NameLoad Assign NameStore BinOpSub Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad NameLoad Assign NameStore Call NameLoad BinOpSub BinOpAdd NameLoad NameLoad Num NameLoad Assign NameStore ListLoad For NameStore Call NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad NameLoad If Call NameLoad ListComp CompareGt NameLoad NameLoad comprehension TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad body Continue Assign NameStore ListLoad For NameStore NameLoad body Assign TupleStore NameStore NameStore NameStore NameStore NameStore NameLoad Assign NameStore Call NameLoad ListComp BinOpSub SubscriptLoad NameLoad Index BinOpSub NameLoad Num SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore NameLoad Assign NameStore Call NameLoad ListComp BinOpSub SubscriptLoad NameLoad Index BinOpSub NameLoad Num SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore NameLoad Assign NameStore BinOpAdd NameLoad NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call NameLoad ListComp Call AttributeLoad Call NameLoad NameLoad attr comprehension NameStore NameLoad Assign NameStore Call NameLoad ListComp Call NameLoad NameLoad BinOpSub NameLoad NameLoad comprehension TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad Return Call NameLoad NameLoad orelse Assign NameStore BinOpMod Str BinOpAdd Call NameLoad NameLoad Num Assign NameStore Call NameLoad NameLoad Assign NameStore ListComp TupleLoad NameLoad Call NameLoad ListComp SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore NameLoad NameLoad Call NameLoad ListComp SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore NameLoad NameLoad Call NameLoad ListComp SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore BinOpAdd NameLoad NameLoad comprehension TupleStore NameStore NameStore NameStore NameStore NameStore SubscriptLoad NameLoad Slice Num Expr Call AttributeLoad NameLoad attr ListComp TupleLoad NameLoad Call NameLoad ListComp SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore NameLoad NameLoad Call NameLoad ListComp SubscriptLoad NameLoad Index BinOpSub NameLoad Num comprehension NameStore NameLoad NameLoad NameLoad comprehension TupleStore NameStore NameStore NameStore NameStore NameStore ListLoad SubscriptLoad NameLoad Index Num Assign NameStore Call NameLoad ListComp Call NameLoad NameLoad comprehension NameStore NameLoad Assign NameStore ListComp TupleLoad NameLoad UnaryOpUSub NameLoad NameLoad comprehension TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad ListComp Call NameLoad NameLoad NameLoad comprehension TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad Return Call NameLoad BinOpMult NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore ListLoad For NameStore Call NameLoad NameLoad body Assign NameStore NameLoad Assign NameStore BinOpSub BinOpSub NameLoad NameLoad Num Assign NameStore Call NameLoad BinOpSub BinOpAdd NameLoad NameLoad Num NameLoad While CompareGtE NameLoad NameLoad body AugAssignSub NameStore NameLoad AugAssignSub NameStore Num Assign NameStore Call NameLoad BinOpSub BinOpAdd NameLoad NameLoad Num NameLoad Expr Call AttributeLoad NameLoad attr BinOpSub NameLoad NameLoad Return NameLoad decorator_list
N/A N/A Quantum mechanical angular momemtum. __future__ print_function division sympy Add binomial cos exp Expr factorial I Integer Mul pi Rational S sin simplify sqrt Sum symbols sympify Tuple Dummy sympy.core.compatibility u unicode range sympy.matrices zeros sympy.printing.pretty.stringpict prettyForm stringPict sympy.printing.pretty.pretty_symbology pretty_symbol sympy.physics.quantum.qexpr QExpr sympy.physics.quantum.operator HermitianOperator Operator UnitaryOperator sympy.physics.quantum.state Bra Ket State sympy.functions.special.tensor_functions KroneckerDelta sympy.physics.quantum.constants hbar sympy.physics.quantum.hilbert ComplexSpace DirectSumHilbertSpace sympy.physics.quantum.tensorproduct TensorProduct sympy.physics.quantum.cg CG sympy.physics.quantum.qapply qapply N/A __all__ N/A m_values Jplus Jminus Jx Jy Jz J2 Rotation WignerD JxKet JxBra JyKet JyBra JzKet JzBra JxKetCoupled JxBraCoupled JyKetCoupled JyBraCoupled JzKetCoupled JzBraCoupled couple uncouple m_values N/A N/A j N/A N/A N/A j N/A sympify j N/A size N/A N/A 2 j 1 N/A N/A N/A N/A size is_Integer N/A N/A size 0 N/A N/A N/A ValueError N/A Only integer or half-integer values allowed for j, got: : %r j N/A N/A size N/A N/A j i N/A i N/A range N/A int N/A N/A 2 j 1 N/A SpinOpBase N/A object N/A N/A Base class for spin operators. _eval_hilbert_space N/A N/A cls label N/A N/A N/A N/A ComplexSpace N/A S Infinity N/A classmethod name N/A N/A self N/A N/A N/A N/A N/A self args N/A 0 N/A property _print_contents N/A N/A self printer N/A args N/A N/A N/A %s%s N/A N/A unicode N/A self name N/A self _coord N/A _print_contents_pretty N/A N/A self printer N/A args N/A N/A a N/A stringPict N/A unicode N/A self name N/A b N/A stringPict N/A self _coord N/A N/A N/A self _print_subscript_pretty a b N/A _print_contents_latex N/A N/A self printer N/A args N/A N/A N/A %s_%s N/A N/A unicode N/A self name N/A self _coord N/A _represent_base N/A N/A self basis N/A options N/A N/A j N/A N/A options get j N/A Rational 1 2 N/A N/A size mvals N/A m_values j N/A result N/A zeros size size N/A p N/A range size N/A N/A q N/A range size N/A N/A me N/A N/A self matrix_element j N/A mvals N/A p j N/A mvals N/A q N/A N/A result N/A N/A p q me N/A result N/A _apply_op N/A N/A self ket orig_basis N/A options N/A N/A state N/A N/A ket rewrite N/A self basis N/A N/A isinstance state State N/A N/A ret N/A N/A hbar N/A state m state N/A N/A N/A isinstance state Sum N/A N/A ret N/A N/A self _apply_operator_Sum state options N/A N/A ret N/A qapply N/A self state N/A N/A ret N/A self state N/A N/A NotImplementedError N/A N/A N/A ret rewrite orig_basis N/A _apply_operator_JxKet N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_op ket Jx options N/A _apply_operator_JxKetCoupled N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_op ket Jx options N/A _apply_operator_JyKet N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_op ket Jy options N/A _apply_operator_JyKetCoupled N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_op ket Jy options N/A _apply_operator_JzKet N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_op ket Jz options N/A _apply_operator_JzKetCoupled N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_op ket Jz options N/A _apply_operator_TensorProduct N/A N/A self tp N/A options N/A N/A N/A N/A N/A isinstance self JxOp N/A isinstance self JyOp N/A isinstance self JzOp N/A N/A NotImplementedError N/A result N/A N/A n N/A range N/A len N/A tp args N/A N/A arg N/A N/A N/A N/A arg extend N/A N/A tp args N/A n N/A N/A N/A arg append N/A N/A self _apply_operator N/A N/A tp args N/A n N/A N/A N/A arg extend N/A N/A tp args N/A N/A n 1 N/A N/A N/A result append N/A N/A tp __class__ arg N/A N/A N/A N/A Add result expand N/A _apply_operator_Sum N/A N/A self s N/A options N/A N/A new_func N/A qapply N/A self N/A s function N/A N/A new_func N/A self N/A s function N/A N/A NotImplementedError N/A N/A Sum new_func N/A s limits N/A _eval_trace N/A N/A self N/A options N/A N/A N/A N/A N/A N/A self _represent_default_basis trace N/A N/A JplusOp N/A SpinOpBase Operator N/A N/A The J+ operator. N/A _coord + N/A basis Jz _eval_commutator_JminusOp N/A N/A self other N/A N/A N/A N/A N/A 2 hbar N/A JzOp N/A self name N/A _apply_operator_JzKet N/A N/A self ket N/A options N/A N/A j N/A ket j N/A m N/A ket m N/A N/A N/A m is_Number N/A j is_Number N/A N/A N/A m j N/A N/A N/A S Zero N/A N/A N/A hbar N/A sqrt N/A N/A j N/A j N/A S One N/A m N/A m N/A S One N/A JzKet j N/A m N/A S One N/A _apply_operator_JzKetCoupled N/A N/A self ket N/A options N/A N/A j N/A ket j N/A m N/A ket m N/A jn N/A ket jn N/A coupling N/A ket coupling N/A N/A N/A m is_Number N/A j is_Number N/A N/A N/A m j N/A N/A N/A S Zero N/A N/A N/A hbar N/A sqrt N/A N/A j N/A j N/A S One N/A m N/A m N/A S One N/A JzKetCoupled j N/A m N/A S One jn coupling N/A matrix_element N/A N/A self j m jp mp N/A N/A N/A result N/A hbar N/A sqrt N/A N/A j N/A j N/A S One N/A mp N/A mp N/A S One N/A result N/A KroneckerDelta m N/A mp 1 N/A result N/A KroneckerDelta j jp N/A result N/A _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base basis options N/A _eval_rewrite_as_xyz N/A N/A self N/A args N/A N/A N/A N/A JxOp N/A args N/A 0 N/A I N/A JyOp N/A args N/A 0 N/A N/A JminusOp N/A SpinOpBase Operator N/A N/A The J- operator. N/A _coord - N/A basis Jz _apply_operator_JzKet N/A N/A self ket N/A options N/A N/A j N/A ket j N/A m N/A ket m N/A N/A N/A m is_Number N/A j is_Number N/A N/A N/A m N/A j N/A N/A N/A S Zero N/A N/A N/A hbar N/A sqrt N/A N/A j N/A j N/A S One N/A m N/A m N/A S One N/A JzKet j N/A m N/A S One N/A _apply_operator_JzKetCoupled N/A N/A self ket N/A options N/A N/A j N/A ket j N/A m N/A ket m N/A jn N/A ket jn N/A coupling N/A ket coupling N/A N/A N/A m is_Number N/A j is_Number N/A N/A N/A m N/A j N/A N/A N/A S Zero N/A N/A N/A hbar N/A sqrt N/A N/A j N/A j N/A S One N/A m N/A m N/A S One N/A JzKetCoupled j N/A m N/A S One jn coupling N/A matrix_element N/A N/A self j m jp mp N/A N/A N/A result N/A hbar N/A sqrt N/A N/A j N/A j N/A S One N/A mp N/A mp N/A S One N/A result N/A KroneckerDelta m N/A mp 1 N/A result N/A KroneckerDelta j jp N/A result N/A _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base basis options N/A _eval_rewrite_as_xyz N/A N/A self N/A args N/A N/A N/A N/A JxOp N/A args N/A 0 N/A I N/A JyOp N/A args N/A 0 N/A N/A JxOp N/A SpinOpBase HermitianOperator N/A N/A The Jx operator. N/A _coord x N/A basis Jx _eval_commutator_JyOp N/A N/A self other N/A N/A N/A N/A N/A I hbar N/A JzOp N/A self name N/A _eval_commutator_JzOp N/A N/A self other N/A N/A N/A N/A N/A N/A I hbar N/A JyOp N/A self name N/A _apply_operator_JzKet N/A N/A self ket N/A options N/A N/A jp N/A N/A N/A JplusOp N/A self name _apply_operator_JzKet ket options N/A jm N/A N/A N/A JminusOp N/A self name _apply_operator_JzKet ket options N/A N/A N/A jp jm N/A Integer 2 N/A _apply_operator_JzKetCoupled N/A N/A self ket N/A options N/A N/A jp N/A N/A N/A JplusOp N/A self name _apply_operator_JzKetCoupled ket options N/A jm N/A N/A N/A JminusOp N/A self name _apply_operator_JzKetCoupled ket options N/A N/A N/A jp jm N/A Integer 2 N/A _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A jp N/A N/A N/A JplusOp N/A self name _represent_JzOp basis options N/A jm N/A N/A N/A JminusOp N/A self name _represent_JzOp basis options N/A N/A N/A jp jm N/A Integer 2 N/A _eval_rewrite_as_plusminus N/A N/A self N/A args N/A N/A N/A N/A N/A JplusOp N/A args N/A 0 N/A JminusOp N/A args N/A 0 2 N/A N/A JyOp N/A SpinOpBase HermitianOperator N/A N/A The Jy operator. N/A _coord y N/A basis Jy _eval_commutator_JzOp N/A N/A self other N/A N/A N/A N/A N/A I hbar N/A JxOp N/A self name N/A _eval_commutator_JxOp N/A N/A self other N/A N/A N/A N/A N/A N/A I hbar N/A J2Op N/A self name N/A _apply_operator_JzKet N/A N/A self ket N/A options N/A N/A jp N/A N/A N/A JplusOp N/A self name _apply_operator_JzKet ket options N/A jm N/A N/A N/A JminusOp N/A self name _apply_operator_JzKet ket options N/A N/A N/A jp jm N/A N/A Integer 2 I N/A _apply_operator_JzKetCoupled N/A N/A self ket N/A options N/A N/A jp N/A N/A N/A JplusOp N/A self name _apply_operator_JzKetCoupled ket options N/A jm N/A N/A N/A JminusOp N/A self name _apply_operator_JzKetCoupled ket options N/A N/A N/A jp jm N/A N/A Integer 2 I N/A _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A jp N/A N/A N/A JplusOp N/A self name _represent_JzOp basis options N/A jm N/A N/A N/A JminusOp N/A self name _represent_JzOp basis options N/A N/A N/A jp jm N/A N/A Integer 2 I N/A _eval_rewrite_as_plusminus N/A N/A self N/A args N/A N/A N/A N/A N/A JplusOp N/A args N/A 0 N/A JminusOp N/A args N/A 0 N/A 2 I N/A N/A JzOp N/A SpinOpBase HermitianOperator N/A N/A The Jz operator. N/A _coord z N/A basis Jz _eval_commutator_JxOp N/A N/A self other N/A N/A N/A N/A N/A I hbar N/A JyOp N/A self name N/A _eval_commutator_JyOp N/A N/A self other N/A N/A N/A N/A N/A N/A I hbar N/A JxOp N/A self name N/A _eval_commutator_JplusOp N/A N/A self other N/A N/A N/A N/A hbar N/A JplusOp N/A self name N/A _eval_commutator_JminusOp N/A N/A self other N/A N/A N/A N/A N/A hbar N/A JminusOp N/A self name N/A matrix_element N/A N/A self j m jp mp N/A N/A N/A result N/A hbar mp N/A result N/A KroneckerDelta m mp N/A result N/A KroneckerDelta j jp N/A result N/A _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base basis options N/A N/A J2Op N/A SpinOpBase HermitianOperator N/A N/A The J^2 operator. N/A _coord 2 _eval_commutator_JxOp N/A N/A self other N/A N/A N/A N/A S Zero N/A _eval_commutator_JyOp N/A N/A self other N/A N/A N/A N/A S Zero N/A _eval_commutator_JzOp N/A N/A self other N/A N/A N/A N/A S Zero N/A _eval_commutator_JplusOp N/A N/A self other N/A N/A N/A N/A S Zero N/A _eval_commutator_JminusOp N/A N/A self other N/A N/A N/A N/A S Zero N/A _apply_operator_JxKet N/A N/A self ket N/A options N/A N/A j N/A ket j N/A N/A N/A N/A N/A hbar 2 j N/A j 1 ket N/A _apply_operator_JxKetCoupled N/A N/A self ket N/A options N/A N/A j N/A ket j N/A N/A N/A N/A N/A hbar 2 j N/A j 1 ket N/A _apply_operator_JyKet N/A N/A self ket N/A options N/A N/A j N/A ket j N/A N/A N/A N/A N/A hbar 2 j N/A j 1 ket N/A _apply_operator_JyKetCoupled N/A N/A self ket N/A options N/A N/A j N/A ket j N/A N/A N/A N/A N/A hbar 2 j N/A j 1 ket N/A _apply_operator_JzKet N/A N/A self ket N/A options N/A N/A j N/A ket j N/A N/A N/A N/A N/A hbar 2 j N/A j 1 ket N/A _apply_operator_JzKetCoupled N/A N/A self ket N/A options N/A N/A j N/A ket j N/A N/A N/A N/A N/A hbar 2 j N/A j 1 ket N/A matrix_element N/A N/A self j m jp mp N/A N/A N/A result N/A N/A N/A hbar 2 j N/A j 1 N/A result N/A KroneckerDelta m mp N/A result N/A KroneckerDelta j jp N/A result N/A _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base basis options N/A _print_contents_pretty N/A N/A self printer N/A args N/A N/A a N/A prettyForm N/A unicode N/A self name N/A b N/A prettyForm N/A u 2 N/A N/A a b N/A _print_contents_latex N/A N/A self printer N/A args N/A N/A N/A %s^2 N/A str N/A self name N/A _eval_rewrite_as_xyz N/A N/A self N/A args N/A N/A N/A N/A N/A N/A JxOp N/A args N/A 0 2 N/A N/A JyOp N/A args N/A 0 2 N/A N/A JzOp N/A args N/A 0 2 N/A _eval_rewrite_as_plusminus N/A N/A self N/A args N/A N/A a N/A args N/A 0 N/A N/A N/A N/A JzOp a 2 N/A N/A Rational 1 2 N/A N/A N/A JplusOp a N/A JminusOp a N/A N/A JminusOp a N/A JplusOp a N/A N/A Rotation N/A UnitaryOperator N/A N/A Wigner D operator in terms of Euler angles.

    Defines the rotation operator in terms of the Euler angles defined by
    the z-y-z convention for a passive transformation. That is the coordinate
    axes are rotated first about the z-axis, giving the new x'-y'-z' axes. Then
    this new coordinate system is rotated about the new y'-axis, giving new
    x''-y''-z'' axes. Then this new coordinate system is rotated about the
    z''-axis. Conventions follow those laid out in [1]_.

    Parameters
    ==========

    alpha : Number, Symbol
        First Euler Angle
    beta : Number, Symbol
        Second Euler angle
    gamma : Number, Symbol
        Third Euler angle

    Examples
    ========

    A simple example rotation operator:

        >>> from sympy import pi
        >>> from sympy.physics.quantum.spin import Rotation
        >>> Rotation(pi, 0, pi/2)
        R(pi,0,pi/2)

    With symbolic Euler angles and calculating the inverse rotation operator:

        >>> from sympy import symbols
        >>> a, b, c = symbols('a b c')
        >>> Rotation(a, b, c)
        R(a,b,c)
        >>> Rotation(a, b, c).inverse()
        R(-c,-b,-a)

    See Also
    ========

    WignerD: Symbolic Wigner-D function
    D: Wigner-D function
    d: Wigner small-d function

    References
    ==========

    .. [1] Varshalovich, D A, Quantum Theory of Angular Momentum. 1988.
     _eval_args N/A N/A cls args N/A N/A N/A args N/A N/A QExpr _eval_args args N/A N/A N/A len args 3 N/A N/A N/A ValueError N/A 3 Euler angles required, got: %r args N/A args N/A classmethod _eval_hilbert_space N/A N/A cls label N/A N/A N/A N/A ComplexSpace N/A S Infinity N/A classmethod alpha N/A N/A self N/A N/A N/A N/A N/A self label N/A 0 N/A property beta N/A N/A self N/A N/A N/A N/A N/A self label N/A 1 N/A property gamma N/A N/A self N/A N/A N/A N/A N/A self label N/A 2 N/A property _print_operator_name N/A N/A self printer N/A args N/A N/A R N/A _print_operator_name_pretty N/A N/A self printer N/A args N/A N/A N/A printer _use_unicode N/A N/A N/A prettyForm N/A N/A u \N{SCRIPT CAPITAL R} N/A u N/A N/A N/A prettyForm R  N/A _print_operator_name_latex N/A N/A self printer N/A args N/A N/A \mathcal{R} N/A _eval_inverse N/A N/A self N/A N/A N/A N/A Rotation N/A N/A self gamma N/A N/A self beta N/A N/A self alpha N/A D N/A N/A cls j m mp alpha beta gamma N/A N/A N/A Wigner D-function.

        Returns an instance of the WignerD class corresponding to the Wigner-D
        function specified by the parameters.

        Parameters
        ===========

        j : Number
            Total angular momentum
        m : Number
            Eigenvalue of angular momentum along axis after rotation
        mp : Number
            Eigenvalue of angular momentum along rotated axis
        alpha : Number, Symbol
            First Euler angle of rotation
        beta : Number, Symbol
            Second Euler angle of rotation
        gamma : Number, Symbol
            Third Euler angle of rotation

        Examples
        ========

        Return the Wigner-D matrix element for a defined rotation, both
        numerical and symbolic:

            >>> from sympy.physics.quantum.spin import Rotation
            >>> from sympy import pi, symbols
            >>> alpha, beta, gamma = symbols('alpha beta gamma')
            >>> Rotation.D(1, 1, 0,pi, pi/2,-pi)
            WignerD(1, 1, 0, pi, pi/2, -pi)

        See Also
        ========

        WignerD: Symbolic Wigner-D function

         N/A N/A WignerD j m mp alpha beta gamma N/A classmethod d N/A N/A cls j m mp beta N/A N/A N/A Wigner small-d function.

        Returns an instance of the WignerD class corresponding to the Wigner-D
        function specified by the parameters with the alpha and gamma angles
        given as 0.

        Parameters
        ===========

        j : Number
            Total angular momentum
        m : Number
            Eigenvalue of angular momentum along axis after rotation
        mp : Number
            Eigenvalue of angular momentum along rotated axis
        beta : Number, Symbol
            Second Euler angle of rotation

        Examples
        ========

        Return the Wigner-D matrix element for a defined rotation, both
        numerical and symbolic:

            >>> from sympy.physics.quantum.spin import Rotation
            >>> from sympy import pi, symbols
            >>> beta = symbols('beta')
            >>> Rotation.d(1, 1, 0, pi/2)
            WignerD(1, 1, 0, 0, pi/2, 0)

        See Also
        ========

        WignerD: Symbolic Wigner-D function

         N/A N/A WignerD j m mp 0 beta 0 N/A classmethod matrix_element N/A N/A self j m jp mp N/A N/A N/A result N/A N/A N/A self __class__ D jp m mp N/A self alpha N/A self beta N/A self gamma N/A result N/A KroneckerDelta j jp N/A result N/A _represent_base N/A N/A self basis N/A options N/A N/A j N/A sympify N/A N/A options get j N/A Rational 1 2 N/A evaluate N/A sympify N/A N/A options get doit N/A N/A size mvals N/A m_values j N/A result N/A zeros size size N/A p N/A range size N/A N/A q N/A range size N/A N/A me N/A N/A self matrix_element j N/A mvals N/A p j N/A mvals N/A q N/A evaluate N/A N/A N/A result N/A N/A p q N/A N/A me doit N/A N/A N/A result N/A N/A p q me N/A result N/A _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base basis options N/A _apply_operator_uncoupled N/A N/A self state ket N/A options N/A N/A a N/A self alpha N/A b N/A self beta N/A g N/A self gamma N/A j N/A ket j N/A m N/A ket m N/A N/A j is_number N/A N/A s N/A N/A size N/A m_values j N/A sz N/A size N/A 1 N/A mp sz N/A N/A r N/A N/A Rotation D j m mp a b g N/A z N/A N/A r doit N/A N/A N/A s append N/A z N/A state j mp N/A N/A Add s N/A N/A N/A N/A options pop dummy True N/A N/A mp N/A Dummy mp N/A N/A mp N/A symbols mp N/A N/A Sum N/A N/A N/A Rotation D j m mp a b g N/A state j mp N/A mp N/A j j N/A _apply_operator_JxKet N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_operator_uncoupled JxKet ket options N/A _apply_operator_JyKet N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_operator_uncoupled JyKet ket options N/A _apply_operator_JzKet N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_operator_uncoupled JzKet ket options N/A _apply_operator_coupled N/A N/A self state ket N/A options N/A N/A a N/A self alpha N/A b N/A self beta N/A g N/A self gamma N/A j N/A ket j N/A m N/A ket m N/A jn N/A ket jn N/A coupling N/A ket coupling N/A N/A j is_number N/A N/A s N/A N/A size N/A m_values j N/A sz N/A size N/A 1 N/A mp sz N/A N/A r N/A N/A Rotation D j m mp a b g N/A z N/A N/A r doit N/A N/A N/A s append N/A z N/A state j mp jn coupling N/A N/A Add s N/A N/A N/A N/A options pop dummy True N/A N/A mp N/A Dummy mp N/A N/A mp N/A symbols mp N/A N/A Sum N/A N/A N/A Rotation D j m mp a b g N/A state j mp jn coupling N/A mp N/A j j N/A _apply_operator_JxKetCoupled N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_operator_coupled JxKetCoupled ket options N/A _apply_operator_JyKetCoupled N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_operator_coupled JyKetCoupled ket options N/A _apply_operator_JzKetCoupled N/A N/A self ket N/A options N/A N/A N/A N/A self _apply_operator_coupled JzKetCoupled ket options N/A N/A WignerD N/A Expr N/A N/A Wigner-D function

    The Wigner D-function gives the matrix elements of the rotation
    operator in the jm-representation. For the Euler angles `\alpha`,
    `\beta`, `\gamma`, the D-function is defined such that:

    .. math ::
        <j,m| \mathcal{R}(\alpha, \beta, \gamma ) |j',m'> = \delta_{jj'} D(j, m, m', \alpha, \beta, \gamma)

    Where the rotation operator is as defined by the Rotation class [1]_.

    The Wigner D-function defined in this way gives:

    .. math ::
        D(j, m, m', \alpha, \beta, \gamma) = e^{-i m \alpha} d(j, m, m', \beta) e^{-i m' \gamma}

    Where d is the Wigner small-d function, which is given by Rotation.d.

    The Wigner small-d function gives the component of the Wigner
    D-function that is determined by the second Euler angle. That is the
    Wigner D-function is:

    .. math ::
        D(j, m, m', \alpha, \beta, \gamma) = e^{-i m \alpha} d(j, m, m', \beta) e^{-i m' \gamma}

    Where d is the small-d function. The Wigner D-function is given by
    Rotation.D.

    Note that to evaluate the D-function, the j, m and mp parameters must
    be integer or half integer numbers.

    Parameters
    ==========

    j : Number
        Total angular momentum
    m : Number
        Eigenvalue of angular momentum along axis after rotation
    mp : Number
        Eigenvalue of angular momentum along rotated axis
    alpha : Number, Symbol
        First Euler angle of rotation
    beta : Number, Symbol
        Second Euler angle of rotation
    gamma : Number, Symbol
        Third Euler angle of rotation

    Examples
    ========

    Evaluate the Wigner-D matrix elements of a simple rotation:

        >>> from sympy.physics.quantum.spin import Rotation
        >>> from sympy import pi
        >>> rot = Rotation.D(1, 1, 0, pi, pi/2, 0)
        >>> rot
        WignerD(1, 1, 0, pi, pi/2, 0)
        >>> rot.doit()
        sqrt(2)/2

    Evaluate the Wigner-d matrix elements of a simple rotation

        >>> rot = Rotation.d(1, 1, 0, pi/2)
        >>> rot
        WignerD(1, 1, 0, 0, pi/2, 0)
        >>> rot.doit()
        -sqrt(2)/2

    See Also
    ========

    Rotation: Rotation operator

    References
    ==========

    .. [1] Varshalovich, D A, Quantum Theory of Angular Momentum. 1988.
     N/A is_commutative True __new__ N/A N/A cls N/A args hints N/A N/A N/A N/A N/A len args 6 N/A N/A N/A ValueError N/A 6 parameters expected, got %s args N/A args N/A sympify args N/A evaluate N/A N/A hints get evaluate False N/A evaluate N/A N/A N/A N/A N/A N/A Expr __new__ cls args _eval_wignerd N/A N/A N/A Expr __new__ cls args N/A j N/A N/A self N/A N/A N/A N/A N/A self args N/A 0 N/A property m N/A N/A self N/A N/A N/A N/A N/A self args N/A 1 N/A property mp N/A N/A self N/A N/A N/A N/A N/A self args N/A 2 N/A property alpha N/A N/A self N/A N/A N/A N/A N/A self args N/A 3 N/A property beta N/A N/A self N/A N/A N/A N/A N/A self args N/A 4 N/A property gamma N/A N/A self N/A N/A N/A N/A N/A self args N/A 5 N/A property _latex N/A N/A self printer N/A args N/A N/A N/A N/A N/A self alpha 0 N/A N/A self gamma 0 N/A N/A N/A d^{%s}_{%s,%s}\left(%s\right) N/A N/A N/A printer _print N/A self j N/A N/A printer _print N/A self m N/A N/A printer _print N/A self mp N/A N/A printer _print N/A self beta N/A N/A D^{%s}_{%s,%s}\left(%s,%s,%s\right) N/A N/A N/A printer _print N/A self j N/A N/A printer _print N/A self m N/A N/A printer _print N/A self mp N/A N/A printer _print N/A self alpha N/A N/A printer _print N/A self beta N/A N/A printer _print N/A self gamma N/A _pretty N/A N/A self printer N/A args N/A N/A top N/A N/A printer _print N/A self j N/A bot N/A N/A printer _print N/A self m N/A bot N/A prettyForm N/A N/A bot right , N/A bot N/A prettyForm N/A N/A bot right N/A N/A printer _print N/A self mp N/A pad N/A max N/A N/A top width N/A N/A bot width N/A top N/A prettyForm N/A N/A top left N/A bot N/A prettyForm N/A N/A bot left N/A N/A pad N/A N/A top width N/A N/A top N/A prettyForm N/A N/A top right N/A N/A pad N/A N/A top width N/A N/A pad N/A N/A bot width N/A N/A bot N/A prettyForm N/A N/A bot right N/A N/A pad N/A N/A bot width N/A N/A N/A N/A self alpha 0 N/A N/A self gamma 0 N/A N/A args N/A N/A printer _print N/A self beta N/A s N/A stringPict N/A d N/A pad N/A N/A args N/A N/A printer _print N/A self alpha N/A args N/A prettyForm N/A N/A args right , N/A args N/A prettyForm N/A N/A args right N/A N/A printer _print N/A self beta N/A args N/A prettyForm N/A N/A args right , N/A args N/A prettyForm N/A N/A args right N/A N/A printer _print N/A self gamma N/A s N/A stringPict N/A D N/A pad N/A args N/A prettyForm N/A N/A args parens N/A s N/A prettyForm N/A N/A s above top N/A s N/A prettyForm N/A N/A s below bot N/A s N/A prettyForm N/A N/A s right args N/A s N/A doit N/A N/A self N/A hints N/A N/A N/A hints N/A evaluate True N/A N/A WignerD N/A self args hints N/A _eval_wignerd N/A N/A self N/A N/A N/A j N/A sympify N/A self j N/A m N/A sympify N/A self m N/A mp N/A sympify N/A self mp N/A alpha N/A sympify N/A self alpha N/A beta N/A sympify N/A self beta N/A gamma N/A sympify N/A self gamma N/A N/A N/A j is_number N/A N/A N/A ValueError N/A j parameter must be numerical to evaluate, got %s j N/A r 0 N/A N/A beta N/A pi 2 N/A N/A k N/A range N/A N/A 2 j 1 N/A N/A N/A N/A k N/A j mp N/A k N/A j m N/A k N/A mp m N/A N/A N/A r N/A N/A N/A N/A N/A S 1 k N/A binomial N/A j mp k N/A binomial N/A j mp N/A N/A k m mp N/A r N/A N/A N/A N/A N/A S 1 N/A m mp N/A 2 j N/A sqrt N/A N/A N/A factorial N/A j m N/A factorial N/A j m N/A N/A factorial N/A j mp N/A factorial N/A j mp N/A N/A N/A size mvals N/A m_values j N/A mpp mvals N/A N/A r N/A N/A N/A N/A N/A N/A Rotation d j m mpp N/A pi 2 doit N/A N/A cos N/A N/A mpp beta N/A I N/A sin N/A N/A mpp beta N/A N/A N/A N/A Rotation d j mpp N/A mp N/A pi 2 doit N/A r N/A N/A r N/A I N/A N/A N/A 2 j m mp N/A -1 N/A 2 m N/A r N/A simplify r N/A r N/A N/A exp N/A N/A N/A I m alpha N/A exp N/A N/A N/A I mp gamma N/A r N/A N/A N/A Jx N/A JxOp J N/A Jy N/A JyOp J N/A Jz N/A JzOp J N/A J2 N/A J2Op J N/A Jplus N/A JplusOp J N/A Jminus N/A JminusOp J SpinState N/A State N/A N/A Base class for angular momentum states. N/A _label_separator , __new__ N/A N/A cls j m N/A N/A N/A j N/A sympify j N/A m N/A sympify m N/A N/A j is_number N/A N/A N/A N/A 2 j N/A int N/A 2 j N/A N/A N/A ValueError N/A j must be integer or half-integer, got: %s j N/A N/A j 0 N/A N/A N/A ValueError N/A j must be >= 0, got: %s j N/A N/A m is_number N/A N/A N/A N/A 2 m N/A int N/A 2 m N/A N/A N/A ValueError N/A m must be integer or half-integer, got: %s m N/A N/A N/A j is_number N/A m is_number N/A N/A N/A N/A abs m j N/A N/A N/A ValueError N/A Allowed values for m are -j <= m <= j, got j, m: %s, %s N/A j m N/A N/A N/A int N/A j m N/A j m N/A N/A N/A ValueError N/A Both j and m must be integer or half-integer, got j, m: %s, %s N/A j m N/A N/A N/A State __new__ cls j m N/A j N/A N/A self N/A N/A N/A N/A N/A self label N/A 0 N/A property m N/A N/A self N/A N/A N/A N/A N/A self label N/A 1 N/A property _eval_hilbert_space N/A N/A cls label N/A N/A N/A N/A ComplexSpace N/A N/A 2 N/A label N/A 0 1 N/A classmethod _represent_base N/A N/A self N/A options N/A N/A j N/A self j N/A m N/A self m N/A alpha N/A sympify N/A N/A options get alpha 0 N/A beta N/A sympify N/A N/A options get beta 0 N/A gamma N/A sympify N/A N/A options get gamma 0 N/A N/A size mvals N/A m_values j N/A result N/A zeros size 1 N/A N/A p mval N/A enumerate mvals N/A N/A N/A m is_number N/A N/A N/A result N/A N/A p 0 N/A N/A N/A N/A Rotation D N/A self j mval N/A self m alpha beta gamma doit N/A N/A N/A result N/A N/A p 0 N/A N/A Rotation D N/A self j mval N/A self m alpha beta gamma N/A result N/A _eval_rewrite_as_Jx N/A N/A self N/A args options N/A N/A N/A isinstance self Bra N/A N/A N/A N/A self _rewrite_basis Jx JxBra options N/A N/A N/A self _rewrite_basis Jx JxKet options N/A _eval_rewrite_as_Jy N/A N/A self N/A args options N/A N/A N/A isinstance self Bra N/A N/A N/A N/A self _rewrite_basis Jy JyBra options N/A N/A N/A self _rewrite_basis Jy JyKet options N/A _eval_rewrite_as_Jz N/A N/A self N/A args options N/A N/A N/A isinstance self Bra N/A N/A N/A N/A self _rewrite_basis Jz JzBra options N/A N/A N/A self _rewrite_basis Jz JzKet options N/A _rewrite_basis N/A N/A self basis evect N/A options N/A sympy.physics.quantum.represent represent N/A j N/A self j N/A args N/A N/A self args N/A 2 N/A N/A j is_number N/A N/A N/A isinstance self CoupledSpinState N/A N/A N/A j N/A int j N/A N/A start N/A j 2 N/A N/A start N/A N/A N/A N/A 2 j 1 N/A N/A 2 j 1 4 N/A N/A start 0 N/A vect N/A represent self basis basis options N/A result N/A Add N/A N/A N/A vect N/A N/A start i N/A evect j N/A j i args N/A i N/A range N/A N/A 2 j 1 N/A N/A N/A isinstance self CoupledSpinState N/A N/A N/A options get coupled False N/A N/A N/A uncouple result N/A result N/A N/A i 0 N/A mi N/A symbols mi N/A N/A N/A N/A self subs mi 0 self N/A N/A i 1 N/A mi N/A symbols N/A mi%d i N/A N/A N/A isinstance self CoupledSpinState N/A N/A test_args N/A 0 mi N/A 0 0 N/A N/A test_args N/A 0 mi N/A N/A isinstance self Ket N/A N/A angles N/A N/A N/A N/A represent N/A N/A self __class__ test_args basis basis N/A 0 args N/A 3 6 N/A N/A angles N/A N/A N/A N/A N/A N/A represent N/A N/A self __class__ test_args basis basis N/A 0 args N/A 0 args N/A 3 6 N/A N/A angles N/A 0 0 0 N/A N/A self N/A N/A state N/A evect j mi args N/A lt N/A N/A Rotation D j mi N/A self m angles N/A N/A Sum N/A lt state N/A mi N/A j j N/A _eval_innerproduct_JxBra N/A N/A self bra N/A hints N/A N/A result N/A KroneckerDelta N/A self j N/A bra j N/A N/A N/A N/A bra dual_class N/A self __class__ N/A N/A result N/A N/A N/A self _represent_JxOp None N/A N/A N/A bra j N/A bra m N/A N/A result N/A N/A KroneckerDelta N/A self j N/A bra j N/A KroneckerDelta N/A self m N/A bra m N/A result N/A _eval_innerproduct_JyBra N/A N/A self bra N/A hints N/A N/A result N/A KroneckerDelta N/A self j N/A bra j N/A N/A N/A N/A bra dual_class N/A self __class__ N/A N/A result N/A N/A N/A self _represent_JyOp None N/A N/A N/A bra j N/A bra m N/A N/A result N/A N/A KroneckerDelta N/A self j N/A bra j N/A KroneckerDelta N/A self m N/A bra m N/A result N/A _eval_innerproduct_JzBra N/A N/A self bra N/A hints N/A N/A result N/A KroneckerDelta N/A self j N/A bra j N/A N/A N/A N/A bra dual_class N/A self __class__ N/A N/A result N/A N/A N/A self _represent_JzOp None N/A N/A N/A bra j N/A bra m N/A N/A result N/A N/A KroneckerDelta N/A self j N/A bra j N/A KroneckerDelta N/A self m N/A bra m N/A result N/A _eval_trace N/A N/A self bra N/A hints N/A N/A N/A N/A N/A bra self doit N/A N/A JxKet N/A SpinState Ket N/A N/A Eigenket of Jx.

    See JzKet for the usage of spin eigenstates.

    See Also
    ========

    JzKet: Usage of spin states

     dual_class N/A N/A self N/A N/A N/A JxBra N/A classmethod coupled_class N/A N/A self N/A N/A N/A JxKetCoupled N/A classmethod _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JxOp None options N/A _represent_JxOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base options N/A _represent_JyOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base alpha N/A N/A 3 pi 2 options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base beta N/A pi 2 options N/A N/A JxBra N/A SpinState Bra N/A N/A Eigenbra of Jx.

    See JzKet for the usage of spin eigenstates.

    See Also
    ========

    JzKet: Usage of spin states

     dual_class N/A N/A self N/A N/A N/A JxKet N/A classmethod coupled_class N/A N/A self N/A N/A N/A JxBraCoupled N/A classmethod N/A JyKet N/A SpinState Ket N/A N/A Eigenket of Jy.

    See JzKet for the usage of spin eigenstates.

    See Also
    ========

    JzKet: Usage of spin states

     dual_class N/A N/A self N/A N/A N/A JyBra N/A classmethod coupled_class N/A N/A self N/A N/A N/A JyKetCoupled N/A classmethod _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JyOp None options N/A _represent_JxOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base gamma N/A pi 2 options N/A _represent_JyOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base alpha N/A N/A 3 pi 2 beta N/A N/A pi 2 gamma N/A pi 2 options N/A N/A JyBra N/A SpinState Bra N/A N/A Eigenbra of Jy.

    See JzKet for the usage of spin eigenstates.

    See Also
    ========

    JzKet: Usage of spin states

     dual_class N/A N/A self N/A N/A N/A JyKet N/A classmethod coupled_class N/A N/A self N/A N/A N/A JyBraCoupled N/A classmethod N/A JzKet N/A SpinState Ket N/A N/A Eigenket of Jz.

    Spin state which is an eigenstate of the Jz operator. Uncoupled states,
    that is states representing the interaction of multiple separate spin
    states, are defined as a tensor product of states.

    Parameters
    ==========

    j : Number, Symbol
        Total spin angular momentum
    m : Number, Symbol
        Eigenvalue of the Jz spin operator

    Examples
    ========

    *Normal States:*

    Defining simple spin states, both numerical and symbolic:

        >>> from sympy.physics.quantum.spin import JzKet, JxKet
        >>> from sympy import symbols
        >>> JzKet(1, 0)
        |1,0>
        >>> j, m = symbols('j m')
        >>> JzKet(j, m)
        |j,m>

    Rewriting the JzKet in terms of eigenkets of the Jx operator:
    Note: that the resulting eigenstates are JxKet's

        >>> JzKet(1,1).rewrite("Jx")
        |1,-1>/2 - sqrt(2)*|1,0>/2 + |1,1>/2

    Get the vector representation of a state in terms of the basis elements
    of the Jx operator:

        >>> from sympy.physics.quantum.represent import represent
        >>> from sympy.physics.quantum.spin import Jx, Jz
        >>> represent(JzKet(1,-1), basis=Jx)
        Matrix([
        [      1/2],
        [sqrt(2)/2],
        [      1/2]])

    Apply innerproducts between states:

        >>> from sympy.physics.quantum.innerproduct import InnerProduct
        >>> from sympy.physics.quantum.spin import JxBra
        >>> i = InnerProduct(JxBra(1,1), JzKet(1,1))
        >>> i
        <1,1|1,1>
        >>> i.doit()
        1/2

    *Uncoupled States:*

    Define an uncoupled state as a TensorProduct between two Jz eigenkets:

        >>> from sympy.physics.quantum.tensorproduct import TensorProduct
        >>> j1,m1,j2,m2 = symbols('j1 m1 j2 m2')
        >>> TensorProduct(JzKet(1,0), JzKet(1,1))
        |1,0>x|1,1>
        >>> TensorProduct(JzKet(j1,m1), JzKet(j2,m2))
        |j1,m1>x|j2,m2>

    A TensorProduct can be rewritten, in which case the eigenstates that make
    up the tensor product is rewritten to the new basis:

        >>> TensorProduct(JzKet(1,1),JxKet(1,1)).rewrite('Jz')
        |1,1>x|1,-1>/2 + sqrt(2)*|1,1>x|1,0>/2 + |1,1>x|1,1>/2

    The represent method for TensorProduct's gives the vector representation of
    the state. Note that the state in the product basis is the equivalent of the
    tensor product of the vector representation of the component eigenstates:

        >>> represent(TensorProduct(JzKet(1,0),JzKet(1,1)))
        Matrix([
        [0],
        [0],
        [0],
        [1],
        [0],
        [0],
        [0],
        [0],
        [0]])
        >>> represent(TensorProduct(JzKet(1,1),JxKet(1,1)), basis=Jz)
        Matrix([
        [      1/2],
        [sqrt(2)/2],
        [      1/2],
        [        0],
        [        0],
        [        0],
        [        0],
        [        0],
        [        0]])

    See Also
    ========

    JzKetCoupled: Coupled eigenstates
    TensorProduct: Used to specify uncoupled states
    uncouple: Uncouples states given coupling parameters
    couple: Couples uncoupled states

     dual_class N/A N/A self N/A N/A N/A JzBra N/A classmethod coupled_class N/A N/A self N/A N/A N/A JzKetCoupled N/A classmethod _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JxOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base beta N/A N/A 3 pi 2 options N/A _represent_JyOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base alpha N/A N/A 3 pi 2 beta N/A pi 2 gamma N/A pi 2 options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_base options N/A N/A JzBra N/A SpinState Bra N/A N/A Eigenbra of Jz.

    See the JzKet for the usage of spin eigenstates.

    See Also
    ========

    JzKet: Usage of spin states

     dual_class N/A N/A self N/A N/A N/A JzKet N/A classmethod coupled_class N/A N/A self N/A N/A N/A JzBraCoupled N/A classmethod N/A _build_coupled N/A N/A jcoupling length N/A N/A N/A n_list N/A N/A N/A n 1 N/A n N/A range length N/A coupled_jn N/A N/A coupled_n N/A N/A N/A n1 n2 j_new jcoupling N/A N/A N/A N/A coupled_jn append j_new N/A N/A N/A coupled_n append N/A N/A n_list N/A N/A n1 1 N/A n_list N/A N/A n2 1 N/A n_sort N/A sorted N/A N/A n_list N/A N/A n1 1 N/A n_list N/A N/A n2 1 N/A N/A n_list N/A N/A N/A n_sort N/A 0 1 n_sort N/A N/A coupled_n coupled_jn N/A CoupledSpinState N/A SpinState N/A N/A Base class for coupled angular momentum states. __new__ N/A N/A cls j m jn N/A jcoupling N/A N/A N/A SpinState j m N/A N/A N/A len jcoupling 0 N/A N/A jcoupling N/A N/A n N/A range 2 N/A len jn N/A N/A N/A N/A jcoupling append N/A 1 n N/A Add N/A N/A jn N/A i N/A i N/A range n N/A N/A N/A jcoupling append N/A 1 N/A len jn j N/A N/A N/A N/A len jcoupling 1 N/A N/A jcoupling N/A jcoupling N/A 0 N/A N/A N/A TypeError N/A CoupledSpinState only takes 3 or 4 arguments, got: %s N/A N/A len jcoupling 3 N/A N/A N/A N/A isinstance jn list N/A isinstance jn tuple N/A isinstance jn Tuple N/A N/A N/A TypeError N/A jn must be Tuple, list or tuple, got %s N/A N/A jn __class__ __name__ N/A N/A N/A N/A isinstance jcoupling list N/A isinstance jcoupling tuple N/A isinstance jcoupling Tuple N/A N/A N/A TypeError N/A jcoupling must be Tuple, list or tuple, got %s N/A N/A jcoupling __class__ __name__ N/A N/A N/A all N/A N/A N/A isinstance term list N/A isinstance term tuple N/A isinstance term Tuple N/A term jcoupling N/A N/A N/A TypeError All elements of jcoupling must be list, tuple or Tuple N/A N/A N/A N/A N/A len jn 1 N/A len jcoupling N/A N/A N/A ValueError N/A jcoupling must have length of %d, got %d N/A N/A N/A len jn 1 N/A len jcoupling N/A N/A N/A all N/A N/A N/A len x 3 N/A x jcoupling N/A N/A N/A ValueError All elements of jcoupling must have length 3 N/A j N/A sympify j N/A m N/A sympify m N/A jn N/A Tuple N/A N/A sympify ji N/A ji jn N/A jcoupling N/A Tuple N/A N/A Tuple N/A sympify n1 N/A sympify n2 N/A sympify ji N/A N/A n1 n2 ji jcoupling N/A N/A any N/A N/A N/A 2 ji N/A int N/A 2 ji N/A ji jn N/A ji is_number N/A N/A N/A ValueError N/A All elements of jn must be integer or half-integer, got: %s jn N/A N/A any N/A N/A N/A n1 N/A int n1 N/A n2 N/A int n2 N/A N/A n1 n2 _ jcoupling N/A N/A N/A ValueError Indicies in jcoupling must be integers N/A N/A any N/A N/A N/A n1 1 N/A n2 1 N/A n1 N/A len jn N/A n2 N/A len jn N/A N/A n1 n2 _ jcoupling N/A N/A N/A ValueError Indicies must be between 1 and the number of coupled spin spaces N/A N/A any N/A N/A N/A 2 ji N/A int N/A 2 ji N/A N/A _ _ ji jcoupling N/A ji is_number N/A N/A N/A ValueError All coupled j values in coupling scheme must be integer or half-integer N/A N/A coupled_n coupled_jn N/A _build_coupled jcoupling N/A len jn N/A jvals N/A list jn N/A N/A n N/A n1 n2 N/A enumerate coupled_n N/A N/A j1 N/A jvals N/A N/A N/A min n1 1 N/A j2 N/A jvals N/A N/A N/A min n2 1 N/A j3 N/A coupled_jn N/A n N/A N/A N/A N/A sympify j1 is_number N/A N/A sympify j2 is_number N/A N/A sympify j3 is_number N/A N/A N/A N/A j1 j2 j3 N/A N/A N/A ValueError N/A All couplings must have j1+j2 >= j3, in coupling number %d got j1,j2,j3: %d,%d,%d N/A N/A n 1 j1 j2 j3 N/A N/A N/A abs N/A j1 j2 j3 N/A N/A N/A ValueError N/A All couplings must have |j1+j2| <= j3, in coupling number %d got j1,j2,j3: %d,%d,%d N/A N/A n 1 j1 j2 j3 N/A N/A N/A int N/A j1 j2 N/A j1 j2 N/A N/A N/A N/A jvals N/A N/A N/A min N/A n1 n2 1 j3 N/A N/A N/A N/A len jcoupling 0 N/A N/A N/A jcoupling N/A -1 N/A 2 j N/A N/A N/A ValueError Last j value coupled together must be the final j of the state N/A N/A N/A State __new__ cls j m jn jcoupling N/A _print_label N/A N/A self printer N/A args N/A N/A label N/A N/A N/A printer _print N/A self j N/A N/A printer _print N/A self m N/A N/A i ji N/A enumerate N/A self jn start 1 N/A N/A N/A N/A label append N/A j%d=%s N/A i N/A N/A printer _print ji N/A N/A jn N/A n1 n2 N/A zip N/A N/A self coupled_jn N/A -1 N/A N/A self coupled_n N/A -1 N/A N/A N/A N/A label append N/A j(%s)=%s N/A N/A N/A , join N/A N/A str i N/A i N/A sorted N/A n1 n2 N/A N/A printer _print jn N/A N/A N/A , join label N/A _print_label_pretty N/A N/A self printer N/A args N/A N/A label N/A N/A self j N/A self m N/A N/A i ji N/A enumerate N/A self jn start 1 N/A N/A symb N/A j%d i N/A symb N/A pretty_symbol symb N/A symb N/A prettyForm N/A symb = N/A item N/A prettyForm N/A N/A symb right N/A N/A printer _print ji N/A N/A N/A label append item N/A N/A jn N/A n1 n2 N/A zip N/A N/A self coupled_jn N/A -1 N/A N/A self coupled_n N/A -1 N/A N/A n N/A N/A , join N/A N/A N/A pretty_symbol N/A j%d i N/A -1 N/A i N/A sorted N/A n1 n2 N/A symb N/A prettyForm N/A N/A j n = N/A item N/A prettyForm N/A N/A symb right N/A N/A printer _print jn N/A N/A N/A label append item N/A N/A N/A self _print_sequence_pretty label N/A self _label_separator printer args N/A _print_label_latex N/A N/A self printer N/A args N/A N/A label N/A N/A self j N/A self m N/A N/A i ji N/A enumerate N/A self jn start 1 N/A N/A N/A N/A label append N/A j_{%d}=%s N/A i N/A N/A printer _print ji N/A N/A jn N/A n1 n2 N/A zip N/A N/A self coupled_jn N/A -1 N/A N/A self coupled_n N/A -1 N/A N/A n N/A N/A , join N/A N/A str i N/A i N/A sorted N/A n1 n2 N/A N/A N/A label append N/A j_{%s}=%s N/A n N/A N/A printer _print jn N/A N/A N/A self _print_sequence label N/A self _label_separator printer args N/A jn N/A N/A self N/A N/A N/A N/A N/A self label N/A 2 N/A property coupling N/A N/A self N/A N/A N/A N/A N/A self label N/A 3 N/A property coupled_jn N/A N/A self N/A N/A N/A N/A N/A _build_coupled N/A N/A self label N/A 3 N/A len N/A N/A self label N/A 2 N/A 1 N/A property coupled_n N/A N/A self N/A N/A N/A N/A N/A _build_coupled N/A N/A self label N/A 3 N/A len N/A N/A self label N/A 2 N/A 0 N/A property _eval_hilbert_space N/A N/A cls label N/A N/A N/A j N/A Add N/A label N/A 2 N/A N/A j is_number N/A N/A N/A DirectSumHilbertSpace N/A N/A ComplexSpace x N/A x N/A range N/A int N/A N/A 2 j 1 0 -2 N/A N/A N/A ComplexSpace N/A N/A 2 j 1 N/A classmethod _represent_coupled_base N/A N/A self N/A options N/A N/A evect N/A N/A self uncoupled_class N/A N/A N/A N/A self j is_number N/A N/A N/A ValueError State must not have symbolic j value to represent N/A N/A N/A N/A N/A self hilbert_space dimension is_number N/A N/A N/A ValueError State must not have symbolic j values to represent N/A result N/A zeros N/A N/A self hilbert_space dimension 1 N/A N/A N/A self j N/A int N/A self j N/A N/A start N/A N/A self j 2 N/A N/A start N/A N/A N/A N/A 2 N/A self j 1 N/A 1 N/A 2 N/A self j 4 N/A N/A result N/A N/A start N/A N/A start N/A 2 N/A self j 1 N/A 0 N/A N/A N/A evect N/A self j N/A self m _represent_base options N/A result N/A _eval_rewrite_as_Jx N/A N/A self N/A args options N/A N/A N/A isinstance self Bra N/A N/A N/A N/A self _rewrite_basis Jx JxBraCoupled options N/A N/A N/A self _rewrite_basis Jx JxKetCoupled options N/A _eval_rewrite_as_Jy N/A N/A self N/A args options N/A N/A N/A isinstance self Bra N/A N/A N/A N/A self _rewrite_basis Jy JyBraCoupled options N/A N/A N/A self _rewrite_basis Jy JyKetCoupled options N/A _eval_rewrite_as_Jz N/A N/A self N/A args options N/A N/A N/A isinstance self Bra N/A N/A N/A N/A self _rewrite_basis Jz JzBraCoupled options N/A N/A N/A self _rewrite_basis Jz JzKetCoupled options N/A N/A JxKetCoupled N/A CoupledSpinState Ket N/A N/A Coupled eigenket of Jx.

    See JzKetCoupled for the usage of coupled spin eigenstates.

    See Also
    ========

    JzKetCoupled: Usage of coupled spin states

     dual_class N/A N/A self N/A N/A N/A JxBraCoupled N/A classmethod uncoupled_class N/A N/A self N/A N/A N/A JxKet N/A classmethod _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JxOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_coupled_base options N/A _represent_JyOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_coupled_base alpha N/A N/A 3 pi 2 options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_coupled_base beta N/A pi 2 options N/A N/A JxBraCoupled N/A CoupledSpinState Bra N/A N/A Coupled eigenbra of Jx.

    See JzKetCoupled for the usage of coupled spin eigenstates.

    See Also
    ========

    JzKetCoupled: Usage of coupled spin states

     dual_class N/A N/A self N/A N/A N/A JxKetCoupled N/A classmethod uncoupled_class N/A N/A self N/A N/A N/A JxBra N/A classmethod N/A JyKetCoupled N/A CoupledSpinState Ket N/A N/A Coupled eigenket of Jy.

    See JzKetCoupled for the usage of coupled spin eigenstates.

    See Also
    ========

    JzKetCoupled: Usage of coupled spin states

     dual_class N/A N/A self N/A N/A N/A JyBraCoupled N/A classmethod uncoupled_class N/A N/A self N/A N/A N/A JyKet N/A classmethod _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JxOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_coupled_base gamma N/A pi 2 options N/A _represent_JyOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_coupled_base options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_coupled_base alpha N/A N/A 3 pi 2 beta N/A N/A pi 2 gamma N/A pi 2 options N/A N/A JyBraCoupled N/A CoupledSpinState Bra N/A N/A Coupled eigenbra of Jy.

    See JzKetCoupled for the usage of coupled spin eigenstates.

    See Also
    ========

    JzKetCoupled: Usage of coupled spin states

     dual_class N/A N/A self N/A N/A N/A JyKetCoupled N/A classmethod uncoupled_class N/A N/A self N/A N/A N/A JyBra N/A classmethod N/A JzKetCoupled N/A CoupledSpinState Ket N/A N/A Coupled eigenket of Jz

    Spin state that is an eigenket of Jz which represents the coupling of
    separate spin spaces.

    The arguments for creating instances of JzKetCoupled are ``j``, ``m``,
    ``jn`` and an optional ``jcoupling`` argument. The ``j`` and ``m`` options
    are the total angular momentum quantum numbers, as used for normal states
    (e.g. JzKet).

    The other required parameter in ``jn``, which is a tuple defining the `j_n`
    angular momentum quantum numbers of the product spaces. So for example, if
    a state represented the coupling of the product basis state
    `|j_1,m_1\rangle\times|j_2,m_2\rangle`, the ``jn`` for this state would be
    ``(j1,j2)``.

    The final option is ``jcoupling``, which is used to define how the spaces
    specified by ``jn`` are coupled, which includes both the order these spaces
    are coupled together and the quantum numbers that arise from these
    couplings. The ``jcoupling`` parameter itself is a list of lists, such that
    each of the sublists defines a single coupling between the spin spaces. If
    there are N coupled angular momentum spaces, that is ``jn`` has N elements,
    then there must be N-1 sublists. Each of these sublists making up the
    ``jcoupling`` parameter have length 3. The first two elements are the
    indicies of the product spaces that are considered to be coupled together.
    For example, if we want to couple `j_1` and `j_4`, the indicies would be 1
    and 4. If a state has already been coupled, it is referenced by the
    smallest index that is coupled, so if `j_2` and `j_4` has already been
    coupled to some `j_{24}`, then this value can be coupled by referencing it
    with index 2. The final element of the sublist is the quantum number of the
    coupled state. So putting everything together, into a valid sublist for
    ``jcoupling``, if `j_1` and `j_2` are coupled to an angular momentum space
    with quantum number `j_{12}` with the value ``j12``, the sublist would be
    ``(1,2,j12)``, N-1 of these sublists are used in the list for
    ``jcoupling``.

    Note the ``jcoupling`` parameter is optional, if it is not specified, the
    default coupling is taken. This default value is to coupled the spaces in
    order and take the quantum number of the coupling to be the maximum value.
    For example, if the spin spaces are `j_1`, `j_2`, `j_3`, `j_4`, then the
    default coupling couples `j_1` and `j_2` to `j_{12}=j_1+j_2`, then,
    `j_{12}` and `j_3` are coupled to `j_{123}=j_{12}+j_3`, and finally
    `j_{123}` and `j_4` to `j=j_{123}+j_4`. The jcoupling value that would
    correspond to this is:

        ``((1,2,j1+j2),(1,3,j1+j2+j3))``

    Parameters
    ==========

    args : tuple
        The arguments that must be passed are ``j``, ``m``, ``jn``, and
        ``jcoupling``. The ``j`` value is the total angular momentum. The ``m``
        value is the eigenvalue of the Jz spin operator. The ``jn`` list are
        the j values of argular momentum spaces coupled together. The
        ``jcoupling`` parameter is an optional parameter defining how the spaces
        are coupled together. See the above description for how these coupling
        parameters are defined.

    Examples
    ========

    Defining simple spin states, both numerical and symbolic:

        >>> from sympy.physics.quantum.spin import JzKetCoupled
        >>> from sympy import symbols
        >>> JzKetCoupled(1, 0, (1, 1))
        |1,0,j1=1,j2=1>
        >>> j, m, j1, j2 = symbols('j m j1 j2')
        >>> JzKetCoupled(j, m, (j1, j2))
        |j,m,j1=j1,j2=j2>

    Defining coupled spin states for more than 2 coupled spaces with various
    coupling parameters:

        >>> JzKetCoupled(2, 1, (1, 1, 1))
        |2,1,j1=1,j2=1,j3=1,j(1,2)=2>
        >>> JzKetCoupled(2, 1, (1, 1, 1), ((1,2,2),(1,3,2)) )
        |2,1,j1=1,j2=1,j3=1,j(1,2)=2>
        >>> JzKetCoupled(2, 1, (1, 1, 1), ((2,3,1),(1,2,2)) )
        |2,1,j1=1,j2=1,j3=1,j(2,3)=1>

    Rewriting the JzKetCoupled in terms of eigenkets of the Jx operator:
    Note: that the resulting eigenstates are JxKetCoupled

        >>> JzKetCoupled(1,1,(1,1)).rewrite("Jx")
        |1,-1,j1=1,j2=1>/2 - sqrt(2)*|1,0,j1=1,j2=1>/2 + |1,1,j1=1,j2=1>/2

    The rewrite method can be used to convert a coupled state to an uncoupled
    state. This is done by passing coupled=False to the rewrite function:

        >>> JzKetCoupled(1, 0, (1, 1)).rewrite('Jz', coupled=False)
        -sqrt(2)*|1,-1>x|1,1>/2 + sqrt(2)*|1,1>x|1,-1>/2

    Get the vector representation of a state in terms of the basis elements
    of the Jx operator:

        >>> from sympy.physics.quantum.represent import represent
        >>> from sympy.physics.quantum.spin import Jx
        >>> from sympy import S
        >>> represent(JzKetCoupled(1,-1,(S(1)/2,S(1)/2)), basis=Jx)
        Matrix([
        [        0],
        [      1/2],
        [sqrt(2)/2],
        [      1/2]])

    See Also
    ========

    JzKet: Normal spin eigenstates
    uncouple: Uncoupling of coupling spin states
    couple: Coupling of uncoupled spin states

     dual_class N/A N/A self N/A N/A N/A JzBraCoupled N/A classmethod uncoupled_class N/A N/A self N/A N/A N/A JzKet N/A classmethod _represent_default_basis N/A N/A self N/A options N/A N/A N/A N/A self _represent_JzOp None options N/A _represent_JxOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_coupled_base beta N/A N/A 3 pi 2 options N/A _represent_JyOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_coupled_base alpha N/A N/A 3 pi 2 beta N/A pi 2 gamma N/A pi 2 options N/A _represent_JzOp N/A N/A self basis N/A options N/A N/A N/A N/A self _represent_coupled_base options N/A N/A JzBraCoupled N/A CoupledSpinState Bra N/A N/A Coupled eigenbra of Jz.

    See the JzKetCoupled for the usage of coupled spin eigenstates.

    See Also
    ========

    JzKetCoupled: Usage of coupled spin states

     dual_class N/A N/A self N/A N/A N/A JzKetCoupled N/A classmethod uncoupled_class N/A N/A self N/A N/A N/A JzBra N/A classmethod N/A couple N/A N/A expr jcoupling_list N/A None N/A N/A  Couple a tensor product of spin states

    This function can be used to couple an uncoupled tensor product of spin
    states. All of the eigenstates to be coupled must be of the same class. It
    will return a linear combination of eigenstates that are subclasses of
    CoupledSpinState determined by Clebsch-Gordan angular momentum coupling
    coefficients.

    Parameters
    ==========

    expr : Expr
        An expression involving TensorProducts of spin states to be coupled.
        Each state must be a subclass of SpinState and they all must be the
        same class.

    jcoupling_list : list or tuple
        Elements of this list are sub-lists of length 2 specifying the order of
        the coupling of the spin spaces. The length of this must be N-1, where N
        is the number of states in the tensor product to be coupled. The
        elements of this sublist are the same as the first two elements of each
        sublist in the ``jcoupling`` parameter defined for JzKetCoupled. If this
        parameter is not specified, the default value is taken, which couples
        the first and second product basis spaces, then couples this new coupled
        space to the third product space, etc

    Examples
    ========

    Couple a tensor product of numerical states for two spaces:

        >>> from sympy.physics.quantum.spin import JzKet, couple
        >>> from sympy.physics.quantum.tensorproduct import TensorProduct
        >>> couple(TensorProduct(JzKet(1,0), JzKet(1,1)))
        -sqrt(2)*|1,1,j1=1,j2=1>/2 + sqrt(2)*|2,1,j1=1,j2=1>/2


    Numerical coupling of three spaces using the default coupling method, i.e.
    first and second spaces couple, then this couples to the third space:

        >>> couple(TensorProduct(JzKet(1,1), JzKet(1,1), JzKet(1,0)))
        sqrt(6)*|2,2,j1=1,j2=1,j3=1,j(1,2)=2>/3 + sqrt(3)*|3,2,j1=1,j2=1,j3=1,j(1,2)=2>/3

    Perform this same coupling, but we define the coupling to first couple
    the first and third spaces:

        >>> couple(TensorProduct(JzKet(1,1), JzKet(1,1), JzKet(1,0)), ((1,3),(1,2)) )
        sqrt(2)*|2,2,j1=1,j2=1,j3=1,j(1,3)=1>/2 - sqrt(6)*|2,2,j1=1,j2=1,j3=1,j(1,3)=2>/6 + sqrt(3)*|3,2,j1=1,j2=1,j3=1,j(1,3)=2>/3

    Couple a tensor product of symbolic states:

        >>> from sympy import symbols
        >>> j1,m1,j2,m2 = symbols('j1 m1 j2 m2')
        >>> couple(TensorProduct(JzKet(j1,m1), JzKet(j2,m2)))
        Sum(CG(j1, m1, j2, m2, j, m1 + m2)*|j,m1 + m2,j1=j1,j2=j2>, (j, m1 + m2, j1 + j2))

     N/A a N/A N/A expr atoms TensorProduct N/A tp a N/A N/A N/A N/A all N/A N/A isinstance state SpinState N/A state N/A tp args N/A N/A N/A N/A N/A all N/A N/A N/A state __class__ N/A N/A N/A tp args N/A 0 __class__ N/A state N/A tp args N/A N/A N/A TypeError All states must be the same basis N/A expr N/A N/A expr subs tp N/A _couple tp jcoupling_list N/A expr N/A _couple N/A N/A tp jcoupling_list N/A N/A N/A states N/A tp args N/A coupled_evect N/A N/A N/A states N/A 0 coupled_class N/A N/A jcoupling_list None N/A N/A jcoupling_list N/A N/A n N/A range 1 N/A len states N/A N/A N/A N/A jcoupling_list append N/A 1 N/A n 1 N/A N/A N/A N/A len jcoupling_list N/A N/A len states 1 N/A N/A N/A TypeError N/A jcoupling_list must be length %d, got %d N/A N/A N/A len states 1 N/A len jcoupling_list N/A N/A N/A all N/A N/A N/A len coupling 2 N/A coupling jcoupling_list N/A N/A N/A ValueError Each coupling must define 2 spaces N/A N/A any N/A N/A n1 n2 N/A N/A n1 n2 jcoupling_list N/A N/A N/A ValueError Spin spaces cannot couple to themselves N/A N/A all N/A N/A N/A N/A sympify n1 is_number N/A N/A sympify n2 is_number N/A N/A n1 n2 jcoupling_list N/A N/A j_test N/A N/A 0 N/A len states N/A N/A n1 n2 jcoupling_list N/A N/A N/A N/A N/A j_test N/A N/A n1 1 -1 N/A N/A j_test N/A N/A n2 1 -1 N/A N/A N/A ValueError Spaces coupling j_n's are referenced by smallest n value N/A N/A j_test N/A N/A N/A max n1 n2 1 -1 N/A jn N/A N/A state j N/A state states N/A mn N/A N/A state m N/A state states N/A coupling_list N/A N/A n_list N/A N/A N/A i 1 N/A i N/A range N/A len states N/A j_coupling jcoupling_list N/A N/A N/A n1 n2 j_coupling N/A j1_n N/A list N/A n_list N/A N/A n1 1 N/A j2_n N/A list N/A n_list N/A N/A n2 1 N/A N/A N/A coupling_list append N/A j1_n j2_n N/A N/A n_list N/A N/A N/A min n1 n2 1 N/A sorted N/A j1_n j2_n N/A N/A all N/A N/A N/A N/A state j is_number N/A N/A state m is_number N/A state states N/A N/A diff_max N/A N/A Add N/A N/A N/A jn N/A N/A n 1 N/A mn N/A N/A n 1 N/A n N/A N/A coupling N/A 0 N/A coupling N/A 1 N/A coupling coupling_list N/A result N/A N/A diff N/A range N/A N/A diff_max N/A -1 1 N/A N/A n N/A len coupling_list N/A tot N/A binomial N/A N/A diff n 1 diff N/A config_num N/A range tot N/A N/A diff_list N/A _confignum_to_difflist config_num diff n N/A N/A any N/A N/A d m N/A N/A d m N/A zip diff_list diff_max N/A N/A N/A cg_terms N/A N/A coupled_j N/A list jn N/A jcoupling N/A N/A N/A N/A j1_n j2_n coupling_diff N/A zip coupling_list diff_list N/A N/A j1 N/A coupled_j N/A N/A N/A min j1_n 1 N/A j2 N/A coupled_j N/A N/A N/A min j2_n 1 N/A j3 N/A N/A j1 j2 coupling_diff N/A N/A coupled_j N/A N/A N/A min N/A j1_n j2_n 1 j3 N/A m1 N/A Add N/A N/A mn N/A N/A x 1 N/A x j1_n N/A m2 N/A Add N/A N/A mn N/A N/A x 1 N/A x j2_n N/A m3 N/A m1 m2 N/A N/A N/A cg_terms append N/A j1 m1 j2 m2 j3 m3 N/A N/A N/A jcoupling append N/A N/A min j1_n N/A min j2_n j3 N/A N/A any N/A N/A N/A abs N/A term N/A 5 N/A term N/A 4 N/A term cg_terms N/A N/A N/A N/A any N/A N/A N/A N/A term N/A 0 N/A term N/A 2 N/A term N/A 4 N/A term cg_terms N/A N/A N/A N/A any N/A N/A N/A abs N/A N/A term N/A 0 N/A term N/A 2 N/A term N/A 4 N/A term cg_terms N/A N/A N/A coeff N/A Mul N/A N/A N/A N/A CG term doit N/A term cg_terms N/A state N/A coupled_evect j3 m3 jn jcoupling N/A N/A N/A result append N/A coeff state N/A N/A Add result N/A N/A cg_terms N/A N/A jcoupling N/A N/A sum_terms N/A N/A coupled_j N/A list jn N/A N/A j1_n j2_n coupling_list N/A N/A j1 N/A coupled_j N/A N/A N/A min j1_n 1 N/A j2 N/A coupled_j N/A N/A N/A min j2_n 1 N/A N/A N/A len N/A j1_n j2_n N/A len states N/A N/A j3 N/A symbols j N/A N/A j3_name N/A j N/A N/A join N/A N/A %s n N/A n N/A j1_n j2_n N/A j3 N/A symbols j3_name N/A N/A coupled_j N/A N/A N/A min N/A j1_n j2_n 1 j3 N/A m1 N/A Add N/A N/A mn N/A N/A x 1 N/A x j1_n N/A m2 N/A Add N/A N/A mn N/A N/A x 1 N/A x j2_n N/A m3 N/A m1 m2 N/A N/A N/A cg_terms append N/A j1 m1 j2 m2 j3 m3 N/A N/A N/A jcoupling append N/A N/A min j1_n N/A min j2_n j3 N/A N/A N/A sum_terms append N/A j3 m3 N/A j1 j2 N/A coeff N/A Mul N/A N/A CG term N/A term cg_terms N/A state N/A coupled_evect j3 m3 jn jcoupling N/A N/A Sum N/A coeff state sum_terms N/A uncouple N/A N/A expr jn jcoupling_list N/A None None N/A N/A  Uncouple a coupled spin state

    Gives the uncoupled representation of a coupled spin state. Arguments must
    be either a spin state that is a subclass of CoupledSpinState or a spin
    state that is a subclass of SpinState and an array giving the j values
    of the spaces that are to be coupled

    Parameters
    ==========

    expr : Expr
        The expression containing states that are to be coupled. If the states
        are a subclass of SpinState, the ``jn`` and ``jcoupling`` parameters
        must be defined. If the states are a subclass of CoupledSpinState,
        ``jn`` and ``jcoupling`` will be taken from the state.

    jn : list or tuple
        The list of the j-values that are coupled. If state is a
        CoupledSpinState, this parameter is ignored. This must be defined if
        state is not a subclass of CoupledSpinState. The syntax of this
        parameter is the same as the ``jn`` parameter of JzKetCoupled.

    jcoupling_list : list or tuple
        The list defining how the j-values are coupled together. If state is a
        CoupledSpinState, this parameter is ignored. This must be defined if
        state is not a subclass of CoupledSpinState. The syntax of this
        parameter is the same as the ``jcoupling`` parameter of JzKetCoupled.

    Examples
    ========

    Uncouple a numerical state using a CoupledSpinState state:

        >>> from sympy.physics.quantum.spin import JzKetCoupled, uncouple
        >>> from sympy import S
        >>> uncouple(JzKetCoupled(1, 0, (S(1)/2, S(1)/2)))
        sqrt(2)*|1/2,-1/2>x|1/2,1/2>/2 + sqrt(2)*|1/2,1/2>x|1/2,-1/2>/2

    Perform the same calculation using a SpinState state:

        >>> from sympy.physics.quantum.spin import JzKet
        >>> uncouple(JzKet(1, 0), (S(1)/2, S(1)/2))
        sqrt(2)*|1/2,-1/2>x|1/2,1/2>/2 + sqrt(2)*|1/2,1/2>x|1/2,-1/2>/2

    Uncouple a numerical state of three coupled spaces using a CoupledSpinState state:

        >>> uncouple(JzKetCoupled(1, 1, (1, 1, 1), ((1,3,1),(1,2,1)) ))
        |1,-1>x|1,1>x|1,1>/2 - |1,0>x|1,0>x|1,1>/2 + |1,1>x|1,0>x|1,0>/2 - |1,1>x|1,1>x|1,-1>/2

    Perform the same calculation using a SpinState state:

        >>> uncouple(JzKet(1, 1), (1, 1, 1), ((1,3,1),(1,2,1)) )
        |1,-1>x|1,1>x|1,1>/2 - |1,0>x|1,0>x|1,1>/2 + |1,1>x|1,0>x|1,0>/2 - |1,1>x|1,1>x|1,-1>/2

    Uncouple a symbolic state using a CoupledSpinState state:

        >>> from sympy import symbols
        >>> j,m,j1,j2 = symbols('j m j1 j2')
        >>> uncouple(JzKetCoupled(j, m, (j1, j2)))
        Sum(CG(j1, m1, j2, m2, j, m)*|j1,m1>x|j2,m2>, (m1, -j1, j1), (m2, -j2, j2))

    Perform the same calculation using a SpinState state

        >>> uncouple(JzKet(j, m), (j1, j2))
        Sum(CG(j1, m1, j2, m2, j, m)*|j1,m1>x|j2,m2>, (m1, -j1, j1), (m2, -j2, j2))

     N/A a N/A N/A expr atoms SpinState N/A state a N/A N/A expr N/A N/A expr subs state N/A _uncouple state jn jcoupling_list N/A expr N/A _uncouple N/A N/A state jn jcoupling_list N/A N/A N/A N/A isinstance state CoupledSpinState N/A N/A jn N/A state jn N/A coupled_n N/A state coupled_n N/A coupled_jn N/A state coupled_jn N/A evect N/A N/A state uncoupled_class N/A N/A N/A isinstance state SpinState N/A N/A N/A jn None N/A N/A N/A ValueError Must specify j-values for coupled state N/A N/A N/A N/A isinstance jn list N/A isinstance jn tuple N/A N/A N/A TypeError jn must be list or tuple N/A N/A jcoupling_list None N/A N/A jcoupling_list N/A N/A i N/A range 1 N/A len jn N/A N/A N/A N/A jcoupling_list append N/A 1 N/A 1 i N/A Add N/A N/A jn N/A j N/A j N/A range N/A i 1 N/A N/A N/A N/A isinstance jcoupling_list list N/A isinstance jcoupling_list tuple N/A N/A N/A TypeError jcoupling must be a list or tuple N/A N/A N/A N/A len jcoupling_list N/A N/A len jn 1 N/A N/A N/A ValueError Must specify 2 fewer coupling terms than the number of j values N/A N/A coupled_n coupled_jn N/A _build_coupled jcoupling_list N/A len jn N/A evect N/A state __class__ N/A N/A N/A TypeError state must be a spin state N/A j N/A state j N/A m N/A state m N/A coupling_list N/A N/A j_list N/A list jn N/A N/A j3 N/A n1 n2 N/A zip coupled_jn coupled_n N/A N/A j1 N/A j_list N/A N/A N/A n1 N/A 0 1 N/A j2 N/A j_list N/A N/A N/A n2 N/A 0 1 N/A N/A N/A coupling_list append N/A n1 n2 j1 j2 j3 N/A N/A j_list N/A N/A N/A min N/A n1 n2 1 j3 N/A N/A N/A j is_number N/A m is_number N/A N/A diff_max N/A N/A 2 x N/A x jn N/A diff N/A N/A Add jn m N/A n N/A len jn N/A tot N/A binomial N/A N/A diff n 1 diff N/A result N/A N/A config_num N/A range tot N/A N/A diff_list N/A _confignum_to_difflist config_num diff n N/A N/A any N/A N/A d p N/A N/A d p N/A zip diff_list diff_max N/A N/A N/A cg_terms N/A N/A coupling coupling_list N/A N/A N/A j1_n j2_n j1 j2 j3 coupling N/A m1 N/A Add N/A N/A N/A jn N/A N/A x 1 N/A diff_list N/A N/A x 1 N/A x j1_n N/A m2 N/A Add N/A N/A N/A jn N/A N/A x 1 N/A diff_list N/A N/A x 1 N/A x j2_n N/A m3 N/A m1 m2 N/A N/A N/A cg_terms append N/A j1 m1 j2 m2 j3 m3 N/A coeff N/A Mul N/A N/A N/A N/A CG term doit N/A term cg_terms N/A state N/A TensorProduct N/A N/A evect j N/A j d N/A N/A j d N/A zip jn diff_list N/A N/A N/A result append N/A coeff state N/A N/A Add result N/A N/A m_str N/A m1:%d N/A N/A len jn 1 N/A mvals N/A symbols m_str N/A cg_terms N/A N/A j1 N/A Add N/A N/A mvals N/A N/A n 1 N/A n j1_n j2 N/A Add N/A N/A mvals N/A N/A n 1 N/A n j2_n j3 N/A Add N/A N/A mvals N/A N/A n 1 N/A n N/A j1_n j2_n N/A N/A j1_n j2_n j1 j2 j3 N/A coupling_list N/A -1 N/A N/A N/A cg_terms append N/A N/A j1 N/A Add N/A N/A mvals N/A N/A n 1 N/A n j1_n j2 N/A Add N/A N/A mvals N/A N/A n 1 N/A n j2_n j m N/A N/A j1_n j2_n j1 j2 j3 N/A N/A coupling_list N/A -1 N/A cg_coeff N/A Mul N/A N/A CG cg_term N/A cg_term cg_terms N/A sum_terms N/A N/A m N/A j j N/A N/A j m N/A zip jn mvals N/A state N/A TensorProduct N/A N/A evect j m N/A N/A j m N/A zip jn mvals N/A N/A Sum N/A cg_coeff state sum_terms N/A _confignum_to_difflist N/A N/A config_num diff list_len N/A N/A N/A diff_list N/A N/A n N/A range list_len N/A N/A prev_diff diff N/A rem_spots N/A N/A list_len n 1 N/A rem_configs N/A binomial N/A N/A diff rem_spots 1 diff N/A N/A config_num rem_configs N/A N/A config_num rem_configs N/A diff 1 N/A rem_configs N/A binomial N/A N/A diff rem_spots 1 diff N/A N/A N/A diff_list append N/A prev_diff diff N/A diff_list N/A