def generate_lowrank_matrix(n=<NUM_LIT:10>, m=<NUM_LIT:20>, k=<NUM_LIT:3>, eta=<NUM_LIT>, seed=<NUM_LIT>):
print("<STR_LIT>")<EOL>global Xtrue, Xobs<EOL>np.random.seed(seed)<EOL>Xtrue = np.sin(np.linspace(<NUM_LIT:0>, <NUM_LIT:2> * np.pi, n)).reshape(-<NUM_LIT:1>, <NUM_LIT:1>).dot(<EOL>np.cos(np.linspace(<NUM_LIT:0>, <NUM_LIT:2> * np.pi, m)).reshape(<NUM_LIT:1>, -<NUM_LIT:1>))<EOL>Xobs = Xtrue + eta * np.random.randn(n, m)<EOL>return Xobs, Xtrue<EOL>
Generate an n-by-m noisy low-rank matrix