[GSoC 2019] WEEK 9!

I am so happy to pass the second evaluation!

This week is dedicated to the implementation of new iteration functionalities in Array module. Since the behaviour of __getitem__ is changed last week, we need to find a way to replace the old way of iterating arrays.

For this purpose, a generator is implemented to enable the iteration over each element, which was the old way in SymPy to iterate the array. This functionality is equivalent to flattening the array and then visiting one by one these elements, so the new class is named as Flatten. The advantage of generator will contribute to less memeory cose while iterating. This implementation corresponds as well the lazy-evaluation that I planned to implement in my proposal.

So the implementation is in #17308