How to generate random automorphisms on finite field vector spaces?

16 Views Asked by At

I want to make random combinatorial puzzles of this format:

There are 7 lights and 7 buttons. Each button switches certain lights between off/on. The buttons and lights start at "off".

To generate such a puzzle randomly, I would generate a random basis $\{v_1, ... v_7\}$ of the vector space $Z_2^7$, so that each switch $i$ controls the lights that are given $1$ in the vector $v_i$.

This is essentially generating a random basis for $Z_2^7$. How would I do that?