235 research outputs found

    Recognizing sparse perfect elimination bipartite graphs

    Get PDF
    When applying Gaussian elimination to a sparse matrix, it is desirable to avoid turning zeros into non-zeros to preserve the sparsity. The class of perfect elimination bipartite graphs is closely related to square matrices that Gaussian elimination can be applied to without turning any zero into a non-zero. Existing literature on the recognition of this class and finding suitable pivots mainly focusses on time complexity. For n×nn \times n matrices with m non-zero elements, the currently best known algorithm has a time complexity of O(n3/logn)O(n^3/\log n). However, when viewed from a practical perspective, the space complexity also deserves attention: it may not be worthwhile to look for a suitable set of pivots for a sparse matrix if this requires Ω(n2)\Omega(n^2) space. We present two new algorithms for the recognition of sparse instances: one with a O(nm)O(n m) time complexity in Θ(n2)\Theta(n^2) space and one with a O(m2)O(m^2) time complexity in Θ(m)\Theta(m) space. Furthermore, if we allow only pivots on the diagonal, our second algorithm can easily be adapted to run in time O(nm)O(n m)

    A note on perfect partial elimination

    Get PDF
    In Gaussian elimination it is often desirable to preserve existing zeros (sparsity). This is closely related to perfect elimination schemes on graphs. Such schemes can be found in polynomial time. Gaussian elimination uses a pivot for each column, so opportunities for preserving sparsity can be missed. In this paper we consider a more flexible process that selects a pivot for each nonzero to be eliminated and show that recognizing matrices that allow such perfect partial elimination schemes is NP-hard

    (Quasi-)linear time algorithm to compute LexDFS, LexUP and LexDown orderings

    Full text link
    We consider the three graph search algorithm LexDFS, LexUP and LexDOWN. We show that LexUP orderings can be computed in linear time by an algorithm similar to the one which compute LexBFS. Furthermore, LexDOWN orderings and LexDFS orderings can be computed in time (n+mlogm)\left(n+m\log m\right) where nn is the number of vertices and mm the number of edges
    corecore