Example #1
0
        /// <summary>
        /// Return N s.t.\ M' * N = 0.
        /// </summary>
        /// <returns></returns>
        public MatrixFixed LeftNullspace()
        {
            int k = Rank();

            if (k == n_)
            {
                Debug.WriteLine("VNL::SVD<T>::LeftNullspace() -- Matrix is full rank." + Convert.ToString(last_tol_));
            }
            return(U_.Extract(U_.Rows, n_ - k, 0, k));
        }
Example #2
0
 /// <summary>
 /// Return N s.t.\ M * N = 0.
 /// </summary>
 /// <param name="required_nullspace_dimension"></param>
 /// <returns></returns>
 public MatrixFixed Nullspace(int required_nullspace_dimension)
 {
     return(V_.Extract(V_.Rows, required_nullspace_dimension, 0, n_ - required_nullspace_dimension));
 }