/// <summary>
/// performs back substitution
/// </summary>
/// <param name="w"></param>
/// <param name="u"></param>
/// <param name="vt"></param>
/// <param name="rhs"></param>
/// <param name="dst"></param>
public static void BackSubst(InputArray w, InputArray u,
InputArray vt, InputArray rhs, OutputArray dst)
{
if (w == null)
{
throw new ArgumentNullException(nameof(w));
}
if (u == null)
{
throw new ArgumentNullException(nameof(u));
}
if (vt == null)
{
throw new ArgumentNullException(nameof(vt));
}
if (rhs == null)
{
throw new ArgumentNullException(nameof(rhs));
}
if (dst == null)
{
throw new ArgumentNullException(nameof(dst));
}
w.ThrowIfDisposed();
u.ThrowIfDisposed();
vt.ThrowIfDisposed();
rhs.ThrowIfDisposed();
dst.ThrowIfNotReady();
NativeMethods.core_SVD_static_backSubst(w.CvPtr, u.CvPtr, vt.CvPtr, rhs.CvPtr, dst.CvPtr);
dst.Fix();
}