recurse on givens argument to function()
2010/1/30 Yoshua Bengio :
> Would it be possible to recurse on the givens? e.g.
>
> fh1. function([i, j], z, givens {x:xx,y:yy,givens:{ii:i+1, jj:j* j} } )
>
> where xx and yy are defined in terms of ii and jj.
It would be a good idea, and it would solve the current limitation that givens cannot overlap because of potential ambiguity in the order of substitution. The reason for the limitation is that givens is a dictionary and the order is not defined (between e.g. x and y here). However nesting gives a partial ordering that we can use.
We might also decide to not have a givens dictionary, but to insist on a givens list and say that function() will use givens from left to right, or right to left, (not sure which is better) and that's that. Then there is no need for sub dictionaries.
We might also say that nested dictionaries will be flattened to a list using algorithm X, and then generally define givens in terms of the case of it being a list.
> Would it be possible to recurse on the givens? e.g.
>
> fh1. function([i, j], z, givens {x:xx,y:yy,givens:{ii:i+1, jj:j* j} } )
>
> where xx and yy are defined in terms of ii and jj.
It would be a good idea, and it would solve the current limitation that givens cannot overlap because of potential ambiguity in the order of substitution. The reason for the limitation is that givens is a dictionary and the order is not defined (between e.g. x and y here). However nesting gives a partial ordering that we can use.
We might also decide to not have a givens dictionary, but to insist on a givens list and say that function() will use givens from left to right, or right to left, (not sure which is better) and that's that. Then there is no need for sub dictionaries.
We might also say that nested dictionaries will be flattened to a list using algorithm X, and then generally define givens in terms of the case of it being a list.
Leave a comment