Module Expr Str Import alias identifier ImportFrom alias ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore NameLoad Assign NameStore NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad NameLoad Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index Num NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad BinOpAdd Call AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index Num NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Assign SubscriptStore NameLoad ExtSlice Index Num Slice NameLoad Assign SubscriptStore NameLoad ExtSlice Index Num Slice Slice NameLoad For NameStore Call NameLoad BinOpSub Call NameLoad NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index NameLoad NameLoad Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index NameLoad NameLoad AttributeLoad SubscriptLoad NameLoad Index NameLoad attr SubscriptLoad NameLoad Index NameLoad Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad BinOpAdd Call AttributeLoad NameLoad attr NameLoad SubscriptLoad NameLoad Index BinOpAdd NameLoad Num NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore BinOpAdd BinOpMult Num NameLoad BinOpMult Num AttributeLoad NameLoad attr Assign SubscriptStore NameLoad ExtSlice Index BinOpAdd NameLoad Num Slice NameLoad Assign SubscriptStore NameLoad ExtSlice Index BinOpAdd NameLoad Num Slice Slice NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call NameLoad NameLoad Assign NameStore SubscriptLoad NameLoad ExtSlice Index Num Slice Assign NameStore SubscriptLoad NameLoad ExtSlice Index Num Slice Slice For NameStore Call NameLoad Call NameLoad BinOpSub NameLoad Num body Assign NameStore Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad ExtSlice Index NameLoad Slice Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad ExtSlice Index NameLoad Slice Slice AttributeLoad SubscriptLoad NameLoad Index NameLoad attr SubscriptLoad NameLoad Index NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad ExtSlice Index NameLoad Slice Slice Assign NameStore BinOpAdd SubscriptLoad NameLoad ExtSlice Index NameLoad Slice Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpSub NameLoad NameLoad Assign NameStore BinOpAdd SubscriptLoad NameLoad ExtSlice Index NameLoad Slice Slice Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpSub NameLoad NameLoad NameLoad Assign NameStore BinOpAdd BinOpMult Num NameLoad BinOpMult Num AttributeLoad NameLoad attr Assign SubscriptStore NameLoad ExtSlice Index NameLoad Slice NameLoad Assign SubscriptStore NameLoad ExtSlice Index NameLoad Slice NameLoad Return TupleLoad NameLoad NameLoad decorator_list ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad keyword NameLoad Assign NameStore Call NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad Return TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Num Assign NameStore Num Assign TupleStore NameStore NameStore NameStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad NameLoad Assign NameStore BinOpAdd BinOpAdd ListLoad BinOpAdd NameLoad NameLoad BinOpMult BinOpSub NameLoad Num ListLoad BinOpAdd NameLoad NameLoad ListLoad NameLoad Assign NameStore BinOpMult BinOpSub NameLoad Num ListLoad UnaryOpUSub Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad Assign SubscriptStore NameLoad Slice NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd NameLoad Call AttributeLoad NameLoad attr BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad BinOpAdd NameLoad Call AttributeLoad NameLoad attr Assign NameStore BinOpAdd BinOpMult SubscriptLoad NameLoad ExtSlice Slice Index AttributeLoad NameLoad attr SubscriptLoad NameLoad ExtSlice Index AttributeLoad NameLoad attr Slice NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad TupleLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad TupleLoad NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad keyword Str For NameStore Call NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad ExtSlice Index NameLoad Slice Slice SubscriptLoad NameLoad ExtSlice Index NameLoad Slice Index NameLoad Slice keyword Str For NameStore Call NameLoad BinOpSub NameLoad Num body Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad ExtSlice Index NameLoad Slice Slice SubscriptLoad NameLoad ExtSlice Index NameLoad Slice Index BinOpAdd NameLoad Num Slice keyword Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr UnaryOpUSub NameLoad BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad TupleLoad BinOpMult NameLoad NameLoad BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad TupleLoad BinOpMult NameLoad NameLoad Assign NameStore BinOpSub UnaryOpUSub NameLoad Call AttributeLoad NameLoad attr BinOpMult Call AttributeLoad NameLoad attr TupleLoad BinOpSub NameLoad Num NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str NameLoad NameLoad Call AttributeLoad NameLoad attr Str NameLoad NameLoad Call AttributeLoad NameLoad attr Str NameLoad NameLoad UnaryOpUSub NameLoad BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad BinOpAdd NameLoad NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad NameLoad body If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad keyword NameLoad keyword NameLoad Assign TupleStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad NameLoad keyword Num attr Assign TupleStore NameStore NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad NameLoad keyword Num attr Assign TupleStore NameStore NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad NameLoad keyword Num attr Assign NameStore BinOpMult NameLoad Call AttributeLoad NameLoad attr TupleLoad BinOpSub NameLoad Num NameLoad NameLoad Assign NameStore BinOpMult NameLoad Call AttributeLoad NameLoad attr TupleLoad BinOpSub NameLoad Num NameLoad NameLoad NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad Call AttributeLoad NameLoad attr NameLoad NameLoad attr Assign NameStore BinOpMult NameLoad Call AttributeLoad NameLoad attr TupleLoad BinOpSub NameLoad Num NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd NameLoad TupleLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad Slice Num Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd NameLoad TupleLoad NameLoad NameLoad Assign SubscriptStore NameLoad ExtSlice Ellipsis Index Num Slice Call AttributeLoad NameLoad attr Str NameLoad NameLoad Assign SubscriptStore NameLoad ExtSlice Ellipsis Index Num Slice Index Num Slice BinOpAdd NameLoad Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index Num Slice Slice Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index Num Slice For NameStore Call NameLoad Num BinOpSub NameLoad Num body Assign SubscriptStore NameLoad ExtSlice Ellipsis Index NameLoad Slice Index NameLoad Slice BinOpAdd Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Slice Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice BinOpMult SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Index NameLoad Call AttributeLoad NameLoad attr NameLoad For NameStore Call NameLoad BinOpSub NameLoad Num body Assign SubscriptStore NameLoad ExtSlice Ellipsis Index NameLoad Slice Index BinOpAdd NameLoad Num Slice UnaryOpUSub Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Assign SubscriptStore NameLoad ExtSlice Ellipsis Index BinOpAdd NameLoad Num Slice Index NameLoad Slice UnaryOpUSub Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Assign SubscriptStore NameLoad ExtSlice Ellipsis Index Num Slice Index Num Slice BinOpMult SubscriptLoad NameLoad ExtSlice Ellipsis Index Num Slice Index NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad BinOpAdd NameLoad TupleLoad BinOpMult NameLoad NameLoad BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad BinOpAdd NameLoad TupleLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd NameLoad TupleLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd NameLoad TupleLoad BinOpSub NameLoad Num NameLoad NameLoad For NameStore Call NameLoad NameLoad body Assign SubscriptStore NameLoad ExtSlice Ellipsis Index NameLoad Slice Slice BinOpAdd SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Index NameLoad Slice Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice For NameStore Call NameLoad BinOpSub NameLoad Num body Assign SubscriptStore NameLoad ExtSlice Ellipsis Index NameLoad Slice Slice BinOpAdd SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Index BinOpAdd NameLoad Num Slice Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index BinOpAdd NameLoad Num Slice Expr Call AttributeLoad NameLoad attr NameLoad BinOpMult NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad BinOpMult NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad BinOpMult NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Pass decorator_list Expr Call NameLoad Num Num Expr Call NameLoad Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Call AttributeLoad NameLoad attr Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Expr Call NameLoad Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Num Expr Call NameLoad Num Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Num Expr Call NameLoad Num Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num keyword TupleLoad Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Num keyword TupleLoad Expr Call NameLoad Num Num keyword TupleLoad Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num keyword TupleLoad Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num keyword TupleLoad Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num keyword TupleLoad Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num keyword TupleLoad Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num Num keyword TupleLoad Num keyword TupleLoad Num Num Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num keyword TupleLoad Num Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num keyword TupleLoad Num keyword TupleLoad Num Num Num Expr Call NameLoad Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num keyword TupleLoad Num Expr Call NameLoad Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num keyword TupleLoad Num Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Call AttributeLoad AttributeLoad NameLoad attr attr Num keyword TupleLoad Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num keyword TupleLoad Num Num Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num Num Num Expr Call NameLoad Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num Num Num Expr Call NameLoad Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num Num Expr Call NameLoad Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num Num Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore ListLoad ListLoad Num ListLoad Num Assign NameStore Call NameLoad ListLoad NameLoad ListLoad ListLoad NameLoad ListLoad ListLoad NameLoad NameLoad ListLoad NameLoad keyword NameLoad Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr ListLoad ListLoad BinOpMult NameLoad BinOpPow NameLoad Num BinOpMult UnaryOpUSub NameLoad NameLoad Num ListLoad BinOpMult UnaryOpUSub NameLoad NameLoad BinOpMult NameLoad BinOpPow NameLoad Num BinOpMult UnaryOpUSub NameLoad NameLoad ListLoad Num BinOpMult UnaryOpUSub NameLoad NameLoad Num Call AttributeLoad NameLoad attr ListLoad ListLoad NameLoad Num Num ListLoad Num NameLoad Num ListLoad Num Num NameLoad Assign NameStore BinOpSub BinOpAdd Call AttributeLoad NameLoad attr ListLoad BinOpMult NameLoad NameLoad Num Num Call AttributeLoad NameLoad attr ListLoad Num BinOpMult BinOpMult NameLoad NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num BinOpMult BinOpMult NameLoad NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Call AttributeLoad NameLoad attr ListLoad BinOpMult BinOpMult BinOpMult NameLoad NameLoad NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num BinOpMult BinOpMult BinOpMult NameLoad NameLoad NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Num Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad ExtSlice Slice Index NameLoad Expr Call AttributeLoad NameLoad attr BinOpSub SubscriptLoad NameLoad Index Num BinOpMult SubscriptLoad SubscriptLoad NameLoad Index Num ExtSlice Ellipsis Index NameLoad Slice SubscriptLoad SubscriptLoad NameLoad Index Num ExtSlice Ellipsis Slice Index NameLoad SubscriptLoad NameLoad Index TupleLoad TupleLoad Num Num Num TupleLoad Num Num Num NameLoad NameLoad Expr Call AttributeLoad NameLoad attr BinOpSub SubscriptLoad NameLoad Index Num BinOpMult SubscriptLoad SubscriptLoad NameLoad Index Num ExtSlice Ellipsis Slice Num Slice Index NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num ExtSlice Ellipsis Slice Num Index NameLoad Slice SubscriptLoad NameLoad Index TupleLoad TupleLoad Num Num TupleLoad Num Num NameLoad NameLoad Pass decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Num Assign NameStore Num Assign NameStore Call AttributeLoad NameLoad attr ListLoad ListLoad Num Num ListLoad Num Num Assign NameStore Call AttributeLoad NameLoad attr ListLoad ListLoad Num Num ListLoad Num Num Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr Num Num BinOpSub NameLoad Num attr TupleLoad Num Num Num Assign NameStore BinOpAdd BinOpMult BinOpSub Num NameLoad NameLoad BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr ListLoad Num Num Assign SubscriptStore NameLoad ExtSlice Index Num Slice NameLoad Assign SubscriptStore NameLoad ExtSlice Index Num Slice BinOpAdd NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr NameLoad NameLoad For NameStore Call NameLoad BinOpSub NameLoad Num body Assign NameStore BinOpAdd Call AttributeLoad NameLoad attr SubscriptLoad NameLoad ExtSlice Index NameLoad Slice Slice NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign SubscriptStore NameLoad ExtSlice Index BinOpAdd NameLoad Num Slice NameLoad Assign SubscriptStore NameLoad ExtSlice Index BinOpAdd NameLoad Num Slice BinOpAdd NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad BinOpDiv Num NameLoad keyword NameLoad Assign NameStore Call NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad keyword TupleLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Num Assign NameStore BinOpSub SubscriptLoad AttributeLoad NameLoad attr Index Num BinOpMult SubscriptLoad NameLoad ExtSlice Ellipsis Index AttributeLoad NameLoad attr Slice SubscriptLoad NameLoad ExtSlice Ellipsis Slice Index AttributeLoad NameLoad attr Assign NameStore BinOpMult NameLoad TupleLoad NameLoad Assign NameStore NameLoad Assign NameStore BinOpMult NameLoad TupleLoad NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad body FunctionDef arguments args NameParam defaults body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults TupleLoad TupleLoad TupleLoad TupleLoad TupleLoad body Assign NameStore Num Assign NameStore Num Assign NameStore Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr Num Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd NameLoad TupleLoad NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad BinOpAdd NameLoad Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd NameLoad TupleLoad NameLoad NameLoad NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd NameLoad TupleLoad NameLoad NameLoad NameLoad keyword TupleLoad NameLoad NameLoad keyword BinOpAdd NameLoad TupleLoad NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd NameLoad TupleLoad NameLoad NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd NameLoad TupleLoad NameLoad NameLoad keyword TupleLoad NameLoad keyword BinOpAdd NameLoad TupleLoad NameLoad Assign NameStore Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd NameLoad TupleLoad Num NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd NameLoad TupleLoad Num NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad keyword Str Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr keyword Str Pass decorator_list Expr Call NameLoad TupleLoad Expr Call NameLoad TupleLoad Num Num keyword TupleLoad Num Num Expr Call NameLoad TupleLoad Num Num keyword TupleLoad Num Num Expr Call NameLoad TupleLoad Num Num keyword TupleLoad Num Num Expr Call NameLoad TupleLoad Num Num keyword TupleLoad Num Num Expr Call NameLoad TupleLoad Num Num keyword TupleLoad Num Num Pass decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Num Assign NameStore Num Assign NameStore Num Assign NameStore ListLoad Num Num Assign NameStore Num Assign NameStore Call NameLoad ListLoad NameLoad ListLoad ListLoad NameLoad ListLoad ListLoad ListLoad NameLoad ListLoad ListLoad SubscriptLoad NameLoad Index Num ListLoad SubscriptLoad NameLoad Index Num ListLoad NameLoad Assign TupleStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr ListLoad ListLoad BinOpAdd NameLoad BinOpMult BinOpMult BinOpPow NameLoad Num BinOpPow SubscriptLoad NameLoad Index Num Num NameLoad BinOpMult BinOpMult UnaryOpUSub NameLoad SubscriptLoad NameLoad Index Num NameLoad Num ListLoad BinOpMult BinOpMult UnaryOpUSub NameLoad SubscriptLoad NameLoad Index Num NameLoad BinOpAdd NameLoad BinOpMult BinOpMult BinOpPow NameLoad Num BinOpPow SubscriptLoad NameLoad Index Num Num NameLoad BinOpMult BinOpMult UnaryOpUSub NameLoad SubscriptLoad NameLoad Index Num NameLoad ListLoad Num BinOpMult BinOpMult UnaryOpUSub NameLoad SubscriptLoad NameLoad Index Num NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad ListLoad ListLoad BinOpMult NameLoad NameLoad ListLoad Num ListLoad Num Assign NameStore BinOpAdd SubscriptLoad Call AttributeLoad NameLoad attr NameLoad ExtSlice Slice Index NameLoad Index NameLoad BinOpPow SubscriptLoad NameLoad ExtSlice Slice Slice Index NameLoad Num Assign NameStore BinOpAdd SubscriptLoad Call AttributeLoad NameLoad attr NameLoad keyword Num ExtSlice Slice Index NameLoad Index NameLoad BinOpMult SubscriptLoad NameLoad ExtSlice Slice Num Slice Index NameLoad SubscriptLoad NameLoad ExtSlice Slice Num Slice Index NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad body If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub NameLoad Num NameLoad If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad keyword NameLoad keyword NameLoad Assign TupleStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr Assign TupleStore NameStore NameStore Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Assign TupleStore NameStore NameStore Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Assign TupleStore NameStore NameStore Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Assign TupleStore NameStore NameStore Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Assign TupleStore NameStore NameStore Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr Assign NameStore BinOpMult NameLoad Call AttributeLoad NameLoad attr TupleLoad BinOpSub NameLoad Num NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd NameLoad TupleLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad Slice Num Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd NameLoad TupleLoad NameLoad NameLoad Assign SubscriptStore NameLoad ExtSlice Ellipsis Index Num Slice Call AttributeLoad NameLoad attr Str NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad NameLoad Assign SubscriptStore NameLoad ExtSlice Ellipsis Index Num Slice Index Num Slice BinOpAdd NameLoad Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index Num Slice Slice Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index Num Slice For NameStore Call NameLoad Num BinOpSub NameLoad Num body Assign SubscriptStore NameLoad ExtSlice Ellipsis Index NameLoad Slice Index NameLoad Slice BinOpAdd Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Slice Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice BinOpMult SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Index NameLoad Call AttributeLoad NameLoad attr NameLoad For NameStore Call NameLoad BinOpSub NameLoad Num body Assign SubscriptStore NameLoad ExtSlice Ellipsis Index NameLoad Slice Index BinOpAdd NameLoad Num Slice UnaryOpUSub Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Assign SubscriptStore NameLoad ExtSlice Ellipsis Index BinOpAdd NameLoad Num Slice Index NameLoad Slice UnaryOpUSub Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Assign SubscriptStore NameLoad ExtSlice Ellipsis Index Num Slice Index Num Slice BinOpMult SubscriptLoad NameLoad ExtSlice Ellipsis Index Num Slice Index NameLoad Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad BinOpAdd NameLoad TupleLoad BinOpMult NameLoad NameLoad BinOpMult NameLoad NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad BinOpAdd NameLoad TupleLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd NameLoad TupleLoad NameLoad NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd NameLoad TupleLoad BinOpSub NameLoad Num NameLoad NameLoad For NameStore Call NameLoad NameLoad body Assign SubscriptStore NameLoad ExtSlice Ellipsis Index NameLoad Slice Slice BinOpAdd SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Index NameLoad Slice Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice For NameStore Call NameLoad BinOpSub NameLoad Num body Assign SubscriptStore NameLoad ExtSlice Ellipsis Index NameLoad Slice Slice BinOpAdd SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice Index BinOpAdd NameLoad Num Slice Call AttributeLoad NameLoad attr Str SubscriptLoad NameLoad ExtSlice Ellipsis Index NameLoad Slice SubscriptLoad NameLoad ExtSlice Ellipsis Index BinOpAdd NameLoad Num Slice Expr Call AttributeLoad NameLoad attr NameLoad BinOpMult NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad BinOpMult NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad BinOpMult NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Pass decorator_list Expr Call NameLoad Num Num Num Expr Call NameLoad Num Num Num Expr Call NameLoad Num Num Num Expr Call NameLoad Num Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Call AttributeLoad NameLoad attr Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Expr Call NameLoad Num Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Num Expr Call NameLoad Num Num Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num Num keyword TupleLoad Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Num keyword TupleLoad Expr Call NameLoad Num Num Num keyword TupleLoad Num keyword Call NameLoad BinOpAdd Num Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr Num keyword TupleLoad Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num Num keyword TupleLoad Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num Num keyword TupleLoad Num Num keyword TupleLoad Num Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num Num keyword TupleLoad Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num keyword TupleLoad Num Num keyword TupleLoad Num Num Expr Call NameLoad Num Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num Num keyword TupleLoad Num Expr Call NameLoad Num Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num Num keyword TupleLoad Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num Num Num keyword TupleLoad Num keyword TupleLoad BinOpSub Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num BinOpSub Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num BinOpSub Num Num Num keyword TupleLoad Num keyword TupleLoad Num Num BinOpSub Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num Num Num keyword TupleLoad Num keyword TupleLoad Num BinOpSub Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num BinOpSub Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num BinOpSub Num Num Num keyword TupleLoad Num keyword TupleLoad Num BinOpSub Num Num Expr Call NameLoad Num Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num Num Num keyword TupleLoad Num keyword TupleLoad BinOpSub Num Num Expr Call NameLoad Num Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num Num Num keyword TupleLoad Num keyword TupleLoad Num BinOpSub Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Call AttributeLoad AttributeLoad NameLoad attr attr Num keyword TupleLoad Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Num keyword TupleLoad Num Num Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num Num Num Expr Call NameLoad Num Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num keyword TupleLoad Num Num Expr Call NameLoad Num Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num Num Num Expr Call NameLoad Num Num Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr Num Num Num keyword TupleLoad Num Num keyword TupleLoad Num keyword Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num Num Num Call AttributeLoad AttributeLoad NameLoad attr attr BinOpSub Num Num Num keyword TupleLoad Num keyword TupleLoad BinOpSub Num Num Pass decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list decorator_list
N/A N/A 
Unit tests for gaussian_markov_chain module.
 N/A numpy np gaussian_markov_chain GaussianMarkovChain gaussian_markov_chain VaryingGaussianMarkovChain gaussian Gaussian GaussianMoments gaussian GaussianARD wishart Wishart WishartMoments gamma Gamma GammaMoments bayespy.utils random bayespy.utils linalg bayespy.utils misc bayespy.utils.misc TestCase kalman_filter N/A N/A y U A V mu0 Cov0 out N/A None N/A N/A 
    Perform Kalman filtering to obtain filtered mean and covariance.

    The parameters of the process may vary in time, thus they are
    given as iterators instead of fixed values.

    Parameters
    ----------
    y : (N,D) array
        "Normalized" noisy observations of the states, that is, the
        observations multiplied by the precision matrix U (and possibly
        other transformation matrices).
    U : (N,D,D) array or N-list of (D,D) arrays
        Precision matrix (i.e., inverse covariance matrix) of the observation 
        noise for each time instance.
    A : (N-1,D,D) array or (N-1)-list of (D,D) arrays
        Dynamic matrix for each time instance.
    V : (N-1,D,D) array or (N-1)-list of (D,D) arrays
        Covariance matrix of the innovation noise for each time instance.

    Returns
    -------
    mu : array
        Filtered mean of the states.
    Cov : array
        Filtered covariance of the states.

    See also
    --------
    rts_smoother
     N/A mu mu0 N/A Cov Cov0 N/A N/A N D N/A N/A np shape y N/A X N/A N/A np empty N/A N D N/A CovX N/A N/A np empty N/A N D D N/A M N/A N/A N/A np dot N/A N/A np dot Cov N/A U N/A 0 Cov Cov N/A L N/A N/A linalg chol M N/A mu N/A N/A np dot Cov N/A N/A linalg chol_solve L N/A N/A N/A np dot Cov N/A y N/A 0 mu N/A Cov N/A N/A np dot Cov N/A N/A linalg chol_solve L Cov N/A N/A X N/A N/A 0 N/A mu N/A N/A CovX N/A N/A 0 N/A N/A Cov N/A n N/A range N/A N/A len y 1 N/A N/A mu N/A N/A np dot N/A A N/A n mu N/A Cov N/A N/A N/A np dot N/A N/A np dot N/A A N/A n Cov N/A N/A A N/A n T N/A V N/A n N/A M N/A N/A N/A np dot N/A N/A np dot Cov N/A U N/A N/A n 1 Cov Cov N/A L N/A N/A linalg chol M N/A mu N/A N/A np dot Cov N/A N/A linalg chol_solve L N/A N/A N/A np dot Cov N/A y N/A N/A n 1 mu N/A Cov N/A N/A np dot Cov N/A N/A linalg chol_solve L Cov N/A Cov N/A N/A 0.5 Cov N/A 0.5 N/A Cov T N/A N/A X N/A N/A N/A n 1 N/A mu N/A N/A CovX N/A N/A N/A n 1 N/A N/A Cov N/A N/A X CovX N/A rts_smoother N/A N/A mu Cov A V removethis N/A None N/A N/A 
    Perform Rauch-Tung-Striebel smoothing to obtain the posterior.

    The function returns the posterior mean and covariance of each
    state. The parameters of the process may vary in time, thus they
    are given as iterators instead of fixed values.

    Parameters
    ----------
    mu : (N,D) array
        Mean of the states from Kalman filter.
    Cov : (N,D,D) array
        Covariance of the states from Kalman filter. 
    A : (N-1,D,D) array or (N-1)-list of (D,D) arrays
        Dynamic matrix for each time instance.
    V : (N-1,D,D) array or (N-1)-list of (D,D) arrays
        Covariance matrix of the innovation noise for each time instance.

    Returns
    -------
    mu : array
        Posterior mean of the states.
    Cov : array
        Posterior covariance of the states.

    See also
    --------
    kalman_filter
     N/A N N/A len mu N/A x N/A mu N/A N/A -1 N/A N/A Covx N/A Cov N/A N/A -1 N/A N/A N/A n N/A reversed N/A range N/A N 1 N/A N/A x_p N/A N/A np dot N/A A N/A n N/A mu N/A N/A n N/A N/A Cov_p N/A N/A N/A np dot N/A N/A np dot N/A A N/A n N/A Cov N/A N/A n N/A N/A N/A N/A A N/A n T N/A V N/A n N/A S N/A N/A N/A np linalg solve Cov_p N/A N/A np dot N/A A N/A n N/A Cov N/A N/A n N/A N/A N/A x N/A N/A mu N/A N/A n N/A N/A N/A np dot N/A S T N/A x x_p N/A Covx N/A N/A Cov N/A N/A n N/A N/A N/A N/A np dot N/A N/A np dot N/A S T N/A Covx Cov_p S N/A Covx N/A N/A 0.5 Covx N/A 0.5 N/A Covx T N/A N/A mu N/A N/A n N/A x N/A N/A Cov N/A N/A n N/A Covx N/A N/A mu Cov N/A TestGaussianMarkovChain N/A TestCase N/A create_model N/A N/A self N D N/A N/A N/A Mu N/A Gaussian N/A N/A N/A np random randn D N/A N/A np identity D N/A Lambda N/A Wishart D N/A N/A random covariance D N/A A N/A Gaussian N/A N/A N/A np random randn D D N/A N/A np identity D N/A V N/A Gamma D N/A N/A N/A np random rand D N/A X N/A GaussianMarkovChain Mu Lambda A V n N N/A Y N/A Gaussian X N/A N/A np identity D N/A N/A Y X Mu Lambda A V N/A test_plates N/A N/A self N/A N/A N/A 
        Test that plates are handled correctly.
         N/A test_message_to_mu0 N/A N/A self N/A N/A N/A N/A test_message_to_Lambda0 N/A N/A self N/A N/A N/A N/A test_message_to_A N/A N/A self N/A N/A N/A N/A test_message_to_v N/A N/A self N/A N/A N/A N/A test_message_to_child N/A N/A self N/A N/A N/A 
        Test the updating of GaussianMarkovChain.

        Check that the moments and the lower bound contribution are computed
        correctly.
         N/A D 3 N/A N 5 N/A N/A Y X Mu Lambda A V N/A N/A self create_model N D N/A y N/A N/A N/A np random randn N D N/A N/A N/A Y observe y N/A N/A N/A X update N/A N/A x_vb xnxn_vb xpxn_vb N/A N/A X get_moments N/A N/A mu0 mumu0 N/A N/A Mu get_moments N/A N/A icov0 logdet0 N/A N/A Lambda get_moments N/A N/A a aa N/A N/A A get_moments N/A N/A icov_x logdetx N/A N/A V get_moments N/A icov_x N/A N/A np diag icov_x N/A Z N/A N/A np einsum ...kij,...kk->...ij aa icov_x N/A U_diag N/A N/A N/A N/A icov0 Z N/A N/A N 2 N/A N/A icov_x Z N/A icov_x N/A U_super N/A N/A N 1 N/A N/A N/A N/A np dot N/A a T icov_x N/A U N/A N/A misc block_banded U_diag U_super N/A mu_prior N/A N/A np zeros N/A D N N/A N/A mu_prior N/A D N/A N/A np dot icov0 mu0 N/A Cov N/A N/A N/A np linalg inv N/A U N/A N/A np identity N/A D N N/A mu N/A N/A np dot Cov N/A mu_prior N/A N/A y flatten N/A xx N/A N/A N/A mu N/A N/A N/A N/A np newaxis N/A mu N/A N/A N/A np newaxis N/A Cov N/A mu N/A N/A np reshape mu N/A N D N/A xx N/A N/A np reshape xx N/A N D N D N/A N/A N/A self assertAllClose x_vb mu msg Incorrect mean N/A n N/A range N N/A N/A N/A N/A self assertAllClose N/A xnxn_vb N/A N/A n N/A N/A N/A xx N/A N/A n N/A N/A n N/A msg Incorrect second moment N/A n N/A range N/A N 1 N/A N/A N/A N/A self assertAllClose N/A xpxn_vb N/A N/A n N/A N/A N/A xx N/A N/A n N/A N/A N/A n 1 N/A msg Incorrect lagged second moment N/A ldet N/A N/A linalg logdet_cov Cov N/A H N/A N/A random gaussian_entropy N/A ldet N/A N D N/A xx N/A N/A np reshape xx N/A N/A N D N/A N D N/A mu N/A N/A np reshape mu N/A N/A N D N/A ldet N/A N/A logdet0 N/A N/A np sum N/A N/A N/A np ones N/A N/A N 1 D logdetx N/A P N/A N/A random gaussian_logpdf N/A N/A np einsum ...ij,...ij xx U N/A N/A np einsum ...i,...i mu mu_prior N/A N/A np einsum ...ij,...ij mumu0 icov0 N/A ldet N/A N D N/A l N/A N/A X lower_bound_contribution N/A N/A N/A self assertAllClose l N/A H P check N/A N/A N D plates mu Lambda A V N/A None None None None None N/A N/A N/A mu None N/A N/A mu N/A N/A N/A np random randn D N/A N/A Lambda None N/A N/A Lambda N/A N/A random covariance D N/A N/A A None N/A N/A A N/A N/A N/A np random randn D D N/A N/A V None N/A N/A V N/A N/A N/A np random rand D N/A X N/A GaussianMarkovChain mu Lambda A V plates plates n N N/A N/A u0 u1 u2 N/A N/A X _message_to_child N/A N/A mu mumu N/A N/A N/A N/A Gaussian _ensure_moments mu GaussianMoments ndim 1 get_moments N/A N/A Lambda _ N/A N/A N/A N/A Wishart _ensure_moments Lambda WishartMoments ndim 1 get_moments N/A N/A a aa N/A N/A N/A N/A Gaussian _ensure_moments A GaussianMoments ndim 1 get_moments N/A a N/A a N/A N/A np ones N/A N/A N 1 D D N/A aa N/A aa N/A N/A np ones N/A N/A N 1 D D D N/A N/A v _ N/A N/A N/A N/A Gamma _ensure_moments V GammaMoments get_moments N/A v N/A v N/A N/A np ones N/A N/A N 1 D N/A plates_C N/A X plates N/A plates_mu N/A X plates N/A C N/A N/A np zeros N/A plates_C N/A N D N D N/A plates_mu N/A N/A N/A np shape mu N/A -1 N/A m N/A N/A np zeros N/A plates_mu N/A N D N/A N/A m N/A N/A N/A 0 N/A N/A N/A np einsum ...ij,...j->...i Lambda mu N/A N/A C N/A N/A N/A 0 N/A N/A 0 N/A N/A Lambda N/A N/A np einsum ...dij,...d->...ij N/A aa N/A N/A N/A 0 N/A N/A N/A N/A v N/A N/A N/A 0 N/A N/A n N/A range 1 N/A N 1 N/A N/A N/A C N/A N/A N/A n N/A N/A n N/A N/A N/A N/A np einsum ...dij,...d->...ij N/A aa N/A N/A N/A n N/A N/A N/A N/A v N/A N/A N/A n N/A N/A N/A v N/A N/A N/A n N/A N/A None N/A N/A np identity D N/A n N/A range N/A N 1 N/A N/A N/A C N/A N/A N/A n N/A N/A N/A n 1 N/A N/A N/A N/A np einsum ...di,...d->...id N/A a N/A N/A N/A n N/A N/A N/A v N/A N/A N/A n N/A N/A N/A C N/A N/A N/A N/A n 1 N/A N/A n N/A N/A N/A N/A np einsum ...di,...d->...di N/A a N/A N/A N/A n N/A N/A N/A v N/A N/A N/A n N/A N/A N/A C N/A N/A N/A -1 N/A N/A -1 N/A N/A N/A v N/A N/A N/A -1 N/A N/A None N/A N/A np identity D N/A C N/A N/A np reshape C N/A plates_C N/A N/A N D N/A N D N/A Cov N/A N/A N/A np linalg inv C N/A Cov N/A N/A np reshape Cov N/A plates_C N/A N D N D N/A m0 N/A N/A np einsum ...minj,...nj->...mi Cov m N/A m1 N/A N/A np zeros N/A plates_C N/A N D D N/A m2 N/A N/A np zeros N/A plates_C N/A N/A N 1 D D N/A n N/A range N N/A N/A N/A m1 N/A N/A N/A n N/A N/A N/A N/A Cov N/A N/A N/A n N/A N/A n N/A N/A N/A np einsum ...i,...j->...ij N/A m0 N/A N/A N/A n N/A N/A m0 N/A N/A N/A n N/A N/A n N/A range N/A N 1 N/A N/A N/A m2 N/A N/A N/A n N/A N/A N/A N/A Cov N/A N/A N/A n N/A N/A N/A n 1 N/A N/A N/A np einsum ...i,...j->...ij N/A m0 N/A N/A N/A n N/A N/A m0 N/A N/A N/A N/A n 1 N/A N/A N/A N/A self assertAllClose m0 N/A u0 N/A N/A np ones N/A N/A np shape m0 N/A N/A N/A self assertAllClose m1 N/A u1 N/A N/A np ones N/A N/A np shape m1 N/A N/A N/A self assertAllClose m2 N/A u2 N/A N/A np ones N/A N/A np shape m2 N/A N/A N/A N/A check 4 1 N/A N/A check 4 3 N/A N/A check 4 3 mu N/A Gaussian N/A N/A N/A np random randn 3 N/A N/A random covariance 3 N/A N/A check 4 3 mu N/A Gaussian N/A N/A N/A np random randn 5 6 3 N/A N/A random covariance 3 plates N/A 5 6 N/A N/A check 4 3 mu N/A Gaussian N/A N/A N/A np random randn 3 N/A N/A random covariance 3 plates N/A 5 N/A N/A check 4 3 mu N/A Gaussian N/A N/A N/A np random randn 1 3 N/A N/A random covariance 3 plates N/A 5 N/A N/A check 4 3 plates N/A 5 mu N/A Gaussian N/A N/A N/A np random randn 3 N/A N/A random covariance 3 plates N/A N/A N/A check 4 3 plates N/A 5 mu N/A Gaussian N/A N/A N/A np random randn 1 3 N/A N/A random covariance 3 plates N/A 1 N/A N/A check 4 3 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand N/A N/A random covariance 3 N/A N/A check 4 3 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand N/A N/A random covariance 3 plates N/A 5 6 N/A N/A check 4 3 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand N/A N/A random covariance 3 plates N/A 5 N/A N/A check 4 3 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand 1 N/A N/A random covariance 3 plates N/A 5 N/A N/A check 4 3 plates N/A 5 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand N/A N/A random covariance 3 plates N/A N/A N/A check 4 3 plates N/A 5 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand N/A N/A random covariance 3 plates N/A 1 N/A N/A check 4 3 A N/A GaussianARD N/A N/A N/A np random randn 3 3 N/A N/A N/A np random rand 3 3 shape N/A 3 plates N/A 3 N/A N/A check 5 3 A N/A GaussianARD N/A N/A N/A np random randn 4 3 3 N/A N/A N/A np random rand 4 3 3 shape N/A 3 plates N/A 4 3 N/A N/A check 5 3 A N/A GaussianARD N/A N/A N/A np random randn 1 3 3 N/A N/A N/A np random rand 1 3 3 shape N/A 3 plates N/A 4 3 N/A N/A check 5 3 A N/A GaussianARD N/A N/A N/A np random randn 3 3 N/A N/A N/A np random rand 3 3 shape N/A 3 plates N/A 4 3 N/A N/A check 4 3 A N/A GaussianARD N/A N/A N/A np random randn 5 6 1 3 3 N/A N/A N/A np random rand 5 6 1 3 3 shape N/A 3 plates N/A 5 6 1 3 N/A N/A check 4 3 A N/A GaussianARD N/A N/A N/A np random randn 3 3 N/A N/A N/A np random rand 3 3 shape N/A 3 plates N/A 5 1 3 N/A N/A check 4 3 A N/A GaussianARD N/A N/A N/A np random randn 1 1 3 3 N/A N/A N/A np random rand 1 1 3 3 shape N/A 3 plates N/A 5 1 3 N/A N/A check 4 3 plates N/A 5 A N/A GaussianARD N/A N/A N/A np random randn 3 3 N/A N/A N/A np random rand 3 3 shape N/A 3 plates N/A 3 N/A N/A check 4 3 plates N/A 5 A N/A GaussianARD N/A N/A N/A np random randn 3 3 N/A N/A N/A np random rand 3 3 shape N/A 3 plates N/A 1 1 3 N/A N/A check 4 3 V N/A Gamma N/A N/A N/A np random rand 1 3 N/A N/A N/A np random rand 1 3 plates N/A 1 3 N/A N/A check 4 3 V N/A Gamma N/A N/A N/A np random rand 3 N/A N/A N/A np random rand 3 plates N/A 3 N/A N/A check 4 3 V N/A Gamma N/A N/A N/A np random rand 5 6 1 3 N/A N/A N/A np random rand 5 6 1 3 plates N/A 5 6 1 3 N/A N/A check 4 3 V N/A Gamma N/A N/A N/A np random rand 1 3 N/A N/A N/A np random rand 1 3 plates N/A 5 1 3 N/A N/A check 4 3 V N/A Gamma N/A N/A N/A np random rand 1 1 3 N/A N/A N/A np random rand 1 1 3 plates N/A 5 1 3 N/A N/A check 4 3 plates N/A 5 V N/A Gamma N/A N/A N/A np random rand 1 3 N/A N/A N/A np random rand 1 3 plates N/A 1 3 N/A N/A check 4 3 plates N/A 5 V N/A Gamma N/A N/A N/A np random rand 1 1 3 N/A N/A N/A np random rand 1 1 3 plates N/A 1 1 3 N/A mu 2 N/A Lambda 3 N/A A 4 N/A B 5 N/A v 6 N/A inputs N/A N/A -2 N/A 3 N/A X N/A GaussianMarkovChain N/A mu N/A N/A Lambda N/A N/A A B N/A v inputs inputs N/A V N/A N/A N/A np array N/A N/A N/A v N/A A 2 N/A N/A v A 0 N/A N/A N/A v A N/A v N/A A 2 N/A N/A v A N/A 0 N/A N/A v A 0 N/A N/A np array N/A N/A Lambda 0 0 N/A 0 v 0 N/A 0 0 v N/A m N/A N/A N/A N/A np array N/A N/A Lambda mu 0 0 N/A N/A np array N/A 0 N/A N/A v B N/A N/A inputs N/A 0 N/A 0 N/A N/A v B N/A N/A inputs N/A 1 N/A 0 N/A N/A np array N/A N/A N/A N/A v A B N/A N/A inputs N/A 0 N/A 0 N/A N/A N/A v A B N/A N/A inputs N/A 1 N/A 0 0 N/A Cov N/A N/A N/A np linalg inv V N/A mean N/A N/A np dot Cov m N/A N/A N/A X update N/A u N/A N/A X get_moments N/A N/A N/A self assertAllClose N/A u N/A 0 N/A mean N/A N/A N/A None N/A N/A N/A self assertAllClose N/A N/A u N/A 1 N/A N/A N/A u N/A 0 N/A N/A N/A None N/A N/A N/A u N/A 0 N/A N/A N/A N/A None N/A Cov N/A N/A N/A 0 1 2 N/A 0 1 2 None None N/A N/A N/A self assertAllClose N/A N/A u N/A 2 N/A N/A N/A u N/A 0 N/A N/A N/A -1 N/A N/A None N/A N/A u N/A 0 N/A N/A N/A 1 N/A None N/A N/A Cov N/A N/A N/A 0 1 N/A 1 2 None None N/A N/A test_smoothing N/A N/A self N/A N/A N/A 
        Test the posterior estimation of GaussianMarkovChain.

        Create time-variant dynamics and compare the results of BayesPy VB
        inference and standard Kalman filtering & smoothing.

        This is not that useful anymore, because the moments are checked much
        better in another test method.
         N/A N 500 N/A D 2 N/A A0 N/A N/A np array N/A N/A 0.9 -0.4 N/A 0.4 0.9 N/A A1 N/A N/A np array N/A N/A 0.98 -0.1 N/A 0.1 0.98 N/A l N/A N/A N/A N/A np linspace 0 1 N/A N 1 reshape N/A -1 1 1 N/A A N/A N/A N/A 1 l A0 N/A l A1 N/A v N/A N/A N/A np random rand D N/A V N/A N/A np diag v N/A C N/A N/A np identity D N/A X N/A N/A np empty N/A N D N/A Y N/A N/A np empty N/A N D N/A x N/A N/A np array N/A 0.5 -0.5 N/A N/A X N/A N/A 0 N/A x N/A N/A Y N/A N/A 0 N/A N/A x N/A N/A N/A np random multivariate_normal N/A N/A np zeros D C N/A n N/A range N/A N 1 N/A N/A x N/A N/A N/A np dot N/A A N/A N/A n N/A N/A x N/A N/A N/A np random multivariate_normal N/A N/A np zeros D V N/A N/A X N/A N/A N/A n 1 N/A x N/A N/A Y N/A N/A N/A n 1 N/A N/A x N/A N/A N/A np random multivariate_normal N/A N/A np zeros D C N/A Xh N/A GaussianMarkovChain N/A N/A np zeros D N/A N/A np identity D A N/A 1 v n N N/A Yh N/A Gaussian Xh N/A N/A np identity D plates N/A N N/A N/A N/A Yh observe Y N/A N/A N/A Xh update N/A Xh_vb N/A N/A Xh u N/A 0 N/A CovXh_vb N/A N/A N/A Xh u N/A 1 N/A N/A Xh_vb N/A N/A N/A N/A np newaxis N/A N/A Xh_vb N/A N/A N/A N/A N/A np newaxis N/A V N/A N N/A V N/A UY Y N/A U N/A N N/A C N/A N/A Xh CovXh N/A kalman_filter UY U A V N/A N/A np zeros D N/A N/A np identity D N/A N/A Xh CovXh N/A rts_smoother Xh CovXh A V N/A N/A N/A self assertTrue N/A N/A np allclose Xh_vb Xh N/A N/A N/A self assertTrue N/A N/A np allclose CovXh_vb CovXh N/A N/A TestVaryingGaussianMarkovChain N/A TestCase N/A test_plates_from_parents N/A N/A self N/A N/A N/A 
        Test that VaryingGaussianMarkovChain deduces plates correctly
         check N/A N/A plates_X plates_mu plates_Lambda plates_B plates_S plates_v N/A N/A N/A N/A N/A N/A N/A N/A D 3 N/A K 2 N/A N 4 N/A N/A N/A N/A np random seed 42 N/A mu N/A Gaussian N/A N/A N/A np random randn N/A plates_mu N/A D N/A N/A random covariance D N/A Lambda N/A Wishart N/A D N/A N/A np ones plates_Lambda N/A N/A random covariance D N/A B N/A GaussianARD N/A N/A N/A np random randn N/A plates_B N/A D D K N/A 1 N/A N/A N/A np random rand N/A plates_B N/A D D K shape N/A D K plates N/A plates_B N/A D N/A S N/A GaussianARD N/A N/A N/A np random randn N/A plates_S N/A N K N/A 1 N/A N/A N/A np random rand N/A plates_S N/A N K shape N/A K plates N/A plates_S N/A N N/A v N/A Gamma N/A 1 N/A N/A N/A np random rand N/A plates_v N/A 1 D N/A 1 N/A N/A N/A np random rand N/A plates_v N/A 1 D N/A X N/A VaryingGaussianMarkovChain mu Lambda B S v name X N/A N/A N/A self assertEqual plates_X N/A X plates msg Incorrect plates deduced N/A N/A N/A N/A check N/A N/A N/A check N/A 2 3 plates_mu N/A 2 3 N/A N/A check N/A 6 7 plates_Lambda N/A 6 7 N/A N/A check N/A 2 3 plates_B N/A 2 3 N/A N/A check N/A 2 3 plates_S N/A 2 3 N/A N/A check N/A 2 3 plates_v N/A 2 3 N/A N/A test_message_to_child N/A N/A self N/A N/A N/A m 1.0 N/A l 4.0 N/A b 2.0 N/A s N/A 3.0 8.0 N/A v 5.0 N/A X N/A VaryingGaussianMarkovChain N/A m N/A N/A l N/A N/A N/A b N/A N/A N/A s N/A 0 N/A N/A s N/A 1 N/A v N/A N/A u0 u1 u2 N/A N/A X _message_to_child N/A C N/A N/A np array N/A N/A N/A l N/A N/A N/A b 2 N/A N/A s N/A 0 2 v N/A N/A N/A b N/A s N/A 0 v 0 N/A N/A N/A N/A b N/A s N/A 0 v N/A v N/A N/A N/A b 2 N/A N/A s N/A 1 2 v N/A N/A N/A b N/A s N/A 1 v N/A 0 N/A N/A N/A b N/A s N/A 1 v v N/A Cov N/A N/A N/A np linalg inv C N/A m0 N/A N/A np dot Cov N/A N/A N/A l m N/A 0 N/A 0 N/A m1 N/A N/A N/A N/A np diag Cov N/A N/A N/A None N/A None N/A N/A m0 N/A N/A N/A N/A None 2 N/A m2 N/A N/A N/A N/A np diag Cov k 1 N/A N/A N/A None N/A None N/A N/A m0 N/A N/A 1 N/A N/A None N/A m0 N/A N/A -1 N/A N/A None N/A N/A N/A self assertAllClose m0 u0 N/A N/A N/A self assertAllClose m1 u1 N/A N/A N/A self assertAllClose m2 u2 check N/A N/A N D K plates mu Lambda B S V N/A None None None None None None N/A N/A N/A mu None N/A N/A mu N/A N/A N/A np random randn D N/A N/A Lambda None N/A N/A Lambda N/A N/A random covariance D N/A N/A B None N/A N/A B N/A N/A N/A np random randn D D K N/A N/A S None N/A N/A S N/A N/A N/A np random randn N/A N 1 K N/A N/A V None N/A N/A V N/A N/A N/A np random rand D N/A X N/A VaryingGaussianMarkovChain mu Lambda B S V plates plates n N N/A N/A u0 u1 u2 N/A N/A X _message_to_child N/A N/A mu mumu N/A N/A N/A N/A X parents N/A 0 get_moments N/A N/A Lambda _ N/A N/A N/A N/A X parents N/A 1 get_moments N/A N/A b bb N/A N/A N/A N/A X parents N/A 2 get_moments N/A N/A s ss N/A N/A N/A N/A X parents N/A 3 get_moments N/A N/A v _ N/A N/A N/A N/A X parents N/A 4 get_moments N/A v N/A v N/A N/A np ones N/A N/A N 1 D N/A plates_C N/A X plates N/A plates_mu N/A X plates N/A C N/A N/A np zeros N/A plates_C N/A N D N D N/A plates_mu N/A N/A N/A np shape mu N/A -1 N/A m N/A N/A np zeros N/A plates_mu N/A N D N/A N/A m N/A N/A N/A 0 N/A N/A N/A np einsum ...ij,...j->...i Lambda mu N/A A N/A N/A np einsum ...dik,...nk->...ndi b s N/A AA N/A N/A np einsum ...dikjl,...nkl->...ndij bb ss N/A N/A C N/A N/A N/A 0 N/A N/A 0 N/A N/A Lambda N/A N/A np einsum ...dij,...d->...ij N/A AA N/A N/A N/A 0 N/A N/A N/A N/A v N/A N/A N/A 0 N/A N/A n N/A range 1 N/A N 1 N/A N/A N/A C N/A N/A N/A n N/A N/A n N/A N/A N/A N/A np einsum ...dij,...d->...ij N/A AA N/A N/A N/A n N/A N/A N/A N/A v N/A N/A N/A n N/A N/A N/A v N/A N/A N/A n N/A N/A None N/A N/A np identity D N/A n N/A range N/A N 1 N/A N/A N/A C N/A N/A N/A n N/A N/A N/A n 1 N/A N/A N/A N/A np einsum ...di,...d->...id N/A A N/A N/A N/A n N/A N/A N/A v N/A N/A N/A n N/A N/A N/A C N/A N/A N/A N/A n 1 N/A N/A n N/A N/A N/A N/A np einsum ...di,...d->...di N/A A N/A N/A N/A n N/A N/A N/A v N/A N/A N/A n N/A N/A N/A C N/A N/A N/A -1 N/A N/A -1 N/A N/A N/A v N/A N/A N/A -1 N/A N/A None N/A N/A np identity D N/A C N/A N/A np reshape C N/A plates_C N/A N/A N D N/A N D N/A Cov N/A N/A N/A np linalg inv C N/A Cov N/A N/A np reshape Cov N/A plates_C N/A N D N D N/A m0 N/A N/A np einsum ...minj,...nj->...mi Cov m N/A m1 N/A N/A np zeros N/A plates_C N/A N D D N/A m2 N/A N/A np zeros N/A plates_C N/A N/A N 1 D D N/A n N/A range N N/A N/A N/A m1 N/A N/A N/A n N/A N/A N/A N/A Cov N/A N/A N/A n N/A N/A n N/A N/A N/A np einsum ...i,...j->...ij N/A m0 N/A N/A N/A n N/A N/A m0 N/A N/A N/A n N/A N/A n N/A range N/A N 1 N/A N/A N/A m2 N/A N/A N/A n N/A N/A N/A N/A Cov N/A N/A N/A n N/A N/A N/A n 1 N/A N/A N/A np einsum ...i,...j->...ij N/A m0 N/A N/A N/A n N/A N/A m0 N/A N/A N/A N/A n 1 N/A N/A N/A N/A self assertAllClose m0 N/A u0 N/A N/A np ones N/A N/A np shape m0 N/A N/A N/A self assertAllClose m1 N/A u1 N/A N/A np ones N/A N/A np shape m1 N/A N/A N/A self assertAllClose m2 N/A u2 N/A N/A np ones N/A N/A np shape m2 N/A N/A N/A N/A check 2 1 1 N/A N/A check 2 3 1 N/A N/A check 2 1 3 N/A N/A check 4 3 2 N/A N/A check 4 3 2 mu N/A Gaussian N/A N/A N/A np random randn 3 N/A N/A random covariance 3 N/A N/A check 4 3 2 mu N/A Gaussian N/A N/A N/A np random randn 5 6 3 N/A N/A random covariance 3 plates N/A 5 6 N/A N/A check 4 3 2 mu N/A Gaussian N/A N/A N/A np random randn 3 N/A N/A random covariance 3 plates N/A 5 N/A N/A check 4 3 2 mu N/A Gaussian N/A N/A N/A np random randn 1 3 N/A N/A random covariance 3 plates N/A 5 N/A N/A check 4 3 2 plates N/A 5 mu N/A Gaussian N/A N/A N/A np random randn 3 N/A N/A random covariance 3 plates N/A N/A N/A check 4 3 2 plates N/A 5 mu N/A Gaussian N/A N/A N/A np random randn 1 3 N/A N/A random covariance 3 plates N/A 1 N/A N/A check 4 3 2 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand N/A N/A random covariance 3 N/A N/A check 4 3 2 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand N/A N/A random covariance 3 plates N/A 5 6 N/A N/A check 4 3 2 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand N/A N/A random covariance 3 plates N/A 5 N/A N/A check 4 3 2 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand 1 N/A N/A random covariance 3 plates N/A 5 N/A N/A check 4 3 2 plates N/A 5 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand N/A N/A random covariance 3 plates N/A N/A N/A check 4 3 2 plates N/A 5 Lambda N/A Wishart N/A 10 N/A N/A N/A np random rand N/A N/A random covariance 3 plates N/A 1 N/A N/A check 4 3 2 B N/A GaussianARD N/A N/A N/A np random randn 3 3 2 N/A N/A N/A np random rand 3 3 2 shape N/A 3 2 plates N/A 3 N/A N/A check 4 3 2 B N/A GaussianARD N/A N/A N/A np random randn 5 6 3 3 2 N/A N/A N/A np random rand 5 6 3 3 2 shape N/A 3 2 plates N/A 5 6 3 N/A N/A check 4 3 2 B N/A GaussianARD N/A N/A N/A np random randn 3 3 2 N/A N/A N/A np random rand 3 3 2 shape N/A 3 2 plates N/A 5 3 N/A N/A check 4 3 2 B N/A GaussianARD N/A N/A N/A np random randn 1 3 3 2 N/A N/A N/A np random rand 1 3 3 2 shape N/A 3 2 plates N/A 5 3 N/A N/A check 4 3 2 plates N/A 5 B N/A GaussianARD N/A N/A N/A np random randn 3 3 2 N/A N/A N/A np random rand 3 3 2 shape N/A 3 2 plates N/A 3 N/A N/A check 4 3 2 plates N/A 5 B N/A GaussianARD N/A N/A N/A np random randn 3 3 2 N/A N/A N/A np random rand 3 3 2 shape N/A 3 2 plates N/A 1 3 N/A N/A check 4 3 2 S N/A GaussianARD N/A N/A N/A np random randn N/A 4 1 2 N/A N/A N/A np random rand N/A 4 1 2 shape N/A 2 plates N/A N/A 4 1 N/A N/A check 4 3 2 S N/A GaussianARD N/A N/A N/A np random randn 5 6 N/A 4 1 2 N/A N/A N/A np random rand 5 6 N/A 4 1 2 shape N/A 2 plates N/A 5 6 N/A 4 1 N/A N/A check 4 3 2 S N/A GaussianARD N/A N/A N/A np random randn N/A 4 1 2 N/A N/A N/A np random rand N/A 4 1 2 shape N/A 2 plates N/A 5 N/A 4 1 N/A N/A check 4 3 2 S N/A GaussianARD N/A N/A N/A np random randn 1 N/A 4 1 2 N/A N/A N/A np random rand 1 N/A 4 1 2 shape N/A 2 plates N/A 5 N/A 4 1 N/A N/A check 4 3 2 plates N/A 5 S N/A GaussianARD N/A N/A N/A np random randn N/A 4 1 2 N/A N/A N/A np random rand N/A 4 1 2 shape N/A 2 plates N/A N/A 4 1 N/A N/A check 4 3 2 plates N/A 5 S N/A GaussianARD N/A N/A N/A np random randn N/A 4 1 2 N/A N/A N/A np random rand N/A 4 1 2 shape N/A 2 plates N/A 1 N/A 4 1 N/A N/A check 4 3 2 V N/A Gamma N/A N/A N/A np random rand 1 3 N/A N/A N/A np random rand 1 3 plates N/A 1 3 N/A N/A check 4 3 2 V N/A Gamma N/A N/A N/A np random rand 3 N/A N/A N/A np random rand 3 plates N/A 3 N/A N/A check 4 3 2 V N/A Gamma N/A N/A N/A np random rand 5 6 1 3 N/A N/A N/A np random rand 5 6 1 3 plates N/A 5 6 1 3 N/A N/A check 4 3 2 V N/A Gamma N/A N/A N/A np random rand 1 3 N/A N/A N/A np random rand 1 3 plates N/A 5 1 3 N/A N/A check 4 3 2 V N/A Gamma N/A N/A N/A np random rand 1 1 3 N/A N/A N/A np random rand 1 1 3 plates N/A 5 1 3 N/A N/A check 4 3 2 plates N/A 5 V N/A Gamma N/A N/A N/A np random rand 1 3 N/A N/A N/A np random rand 1 3 plates N/A 1 3 N/A N/A check 4 3 2 plates N/A 5 V N/A Gamma N/A N/A N/A np random rand 1 1 3 N/A N/A N/A np random rand 1 1 3 plates N/A 1 1 3 N/A N/A check 4 3 2 B N/A GaussianARD N/A N/A N/A np random randn 3 3 2 N/A N/A N/A np random rand 3 3 2 shape N/A 3 2 plates N/A 3 S N/A GaussianARD N/A N/A N/A np random randn N/A 4 1 2 N/A N/A N/A np random rand N/A 4 1 2 shape N/A 2 plates N/A N/A 4 1 N/A N/A test_message_to_mu N/A N/A self N/A N/A N/A N/A test_message_to_Lambda N/A N/A self N/A N/A N/A N/A test_message_to_B N/A N/A self N/A N/A N/A N/A test_message_to_S N/A N/A self N/A N/A N/A N/A test_message_to_v N/A N/A self N/A N/A N/A N/A N/A