function varargout = svds(varargin)
%SVDS   Find a few largest singular values and vectors of a gpuArray matrix.
%   S = SVDS(A)
%   S = SVDS(A,K)
%   S = SVDS(A,K,'largest')
%   S = SVDS(A,K,'largest',NAME,VALUE)
%   S = SVDS(A,K,'largest',OPTIONS)
%   
%   [U,S,V] = SVDS(A,...)
%   [U,S,V,FLAG] = SVDS(A,...)
%   
%   The following syntaxes are not supported for gpuArray:
%   [...] = SVDS(A,K,'smallest')
%   [...] = SVDS(A,K,'smallestnz')
%   
%   Example:
%    
%       A = gpuArray(gallery('neumann',100));
%       sl = SVDS(A,10)
%   
%   A must be double matrix. Both real and
%   complex types are supported.
%   
%   See also SVD, EIGS, GPUARRAY, GPUARRAY/SVD, GPUARRAY/EIG.


%   Copyright 2010-2017 The MathWorks, Inc.

% try...catch prevents error being reported by internal
try
    [varargout{1:nargout}] = parallel.internal.flowthrough.svds(varargin{:});
catch ME
    throw(ME);
end