function Ak = approx(A, k)
% given matrix A and number k of top eigenvalues
% an approximation Ak is calculated via SVD
% k < m,n
    [m, n] = size(A);
    lo = m;
    if ( n < m )
        lo = n;
    end
    if ( lo < k )
        k = lo;
    end
    [U, S, V] = svd(A);
    svk = svds(A, k);
    uk = U(:,[1:k]);
    vk = V(:,[1:k]);
    Ak = uk * diag(svk) * vk';
%    plaatje is niet wenslijk in een functie, laten we erbuiten
%    weergeven
%    image(Ak);
