///// <summary>
    /////
    ///// </summary>
    ///// <typeparam name="T"></typeparam>
    ///// <param name="matrix"></param>
    ///// <returns></returns>
    //public static ValueVector<T>[] MatrixVectorColumns<T>(Span2D<T> matrix)
    //    where T : INumber<T>
    //{
    //    var rows = matrix.Height;

    //    var vectors = new ValueVector<T>[rows];

    //    for (int i = 0; i < rows; i++)
    //    {
    //        vectors[i] = new ValueVector<T>(matrix.GetColumn(i).ToArray());
    //    }

    //    return vectors;
    //}
    #endregion

    #region List the Rows of a Matrix
    /// <summary>
    ///
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="matrix"></param>
    /// <returns></returns>
    public static T[][] MatrixRows <T>(Span2D <T> matrix)
    {
        var columns = matrix.Width;

        var vectors = new T[columns][];

        for (int i = 0; i < columns; i++)
        {
            vectors[i] = matrix.GetRow(i).ToArray();
        }

        return(vectors);
    }