Isosurface.QEFSolver.svd_solve_ATA_ATb C# (CSharp) Method

svd_solve_ATA_ATb() private method

private svd_solve_ATA_ATb ( float ATA, Vector3 ATb, Vector3 &x ) : void
ATA float
ATb Vector3
x Vector3
return void
        void svd_solve_ATA_ATb(float[,] ATA, Vector3 ATb, out Vector3 x
)
        {
            float[,] V = new float[,] { { 1, 0, 0 }, { 0, 1, 0 }, { 0, 0, 1 } };
            Vector3 sigma;

            svd_solve_sym(ATA, out sigma, ref V);

            // A = UEV^T; U = A / (E*V^T)
            float[,] Vinv;
            svd_pseudoinverse(out Vinv, sigma, V);
            x = Multiply(Vinv, ATb);
        }