Skip to content
Snippets Groups Projects
Commit 5811c44c authored by Erik Strand's avatar Erik Strand
Browse files

Work on first gradient descent problem

parent fdd324dc
No related branches found
No related tags found
No related merge requests found
......@@ -20,6 +20,18 @@ def compute_dct_matrix(n_samples):
return dct_matrix
def compute_differences(recovered_dct, inverse_dct_matrix, sample_values):
return sample_values - np.matmul(inverse_dct_matrix, recovered_dct)
def loss_e(differences, subset_indices):
return np.linalg.norm(differences[subset_indices])
def grad_e(differences, dct_matrix, subset_indices):
return -2 * np.matmul(dct_matrix[:,subset_indices], differences[subset_indices])
if __name__ == "__main__":
f1 = 697 # Hz
f2 = 1209 # Hz
......@@ -59,3 +71,10 @@ if __name__ == "__main__":
plt.plot(subset_sample_times, subset_sample_values)
plt.savefig("fig_d.png")
plt.close()
# Part (e)
recovered_dct = np.random.normal(0.0, 1.0, (n_samples))
differences = compute_differences(recovered_dct, inverse_dct_matrix, sample_values)
loss = loss_e(differences, subset_indices)
grad = grad_e(differences, dct_matrix, subset_indices)
print(grad)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment