224,841 research outputs found

    A fast algorithm for matrix balancing

    Get PDF
    As long as a square nonnegative matrix A contains sufficient nonzero elements, then the matrix can be balanced, that is we can find a diagonal scaling of A that is doubly stochastic. A number of algorithms have been proposed to achieve the balancing, the most well known of these being Sinkhorn-Knopp. In this paper we derive new algorithms based on inner-outer iteration schemes. We show that Sinkhorn-Knopp belongs to this family, but other members can converge much more quickly. In particular, we show that while stationary iterative methods offer little or no improvement in many cases, a scheme using a preconditioned conjugate gradient method as the inner iteration can give quadratic convergence at low cost

    Complex and detailed balancing of chemical reaction networks revisited

    Get PDF
    The characterization of the notions of complex and detailed balancing for mass action kinetics chemical reaction networks is revisited from the perspective of algebraic graph theory, in particular Kirchhoff's Matrix Tree theorem for directed weighted graphs. This yields an elucidation of previously obtained results, in particular with respect to the Wegscheider conditions, and a new necessary and sufficient condition for complex balancing, which can be verified constructively.Comment: arXiv admin note: substantial text overlap with arXiv:1502.0224

    Analysis of a Classical Matrix Preconditioning Algorithm

    Get PDF
    We study a classical iterative algorithm for balancing matrices in the LL_\infty norm via a scaling transformation. This algorithm, which goes back to Osborne and Parlett \& Reinsch in the 1960s, is implemented as a standard preconditioner in many numerical linear algebra packages. Surprisingly, despite its widespread use over several decades, no bounds were known on its rate of convergence. In this paper we prove that, for any irreducible n×nn\times n (real or complex) input matrix~AA, a natural variant of the algorithm converges in O(n3log(nρ/ε))O(n^3\log(n\rho/\varepsilon)) elementary balancing operations, where ρ\rho measures the initial imbalance of~AA and ε\varepsilon is the target imbalance of the output matrix. (The imbalance of~AA is maxilog(aiout/aiin)\max_i |\log(a_i^{\text{out}}/a_i^{\text{in}})|, where aiout,aiina_i^{\text{out}},a_i^{\text{in}} are the maximum entries in magnitude in the iith row and column respectively.) This bound is tight up to the logn\log n factor. A balancing operation scales the iith row and column so that their maximum entries are equal, and requires O(m/n)O(m/n) arithmetic operations on average, where mm is the number of non-zero elements in~AA. Thus the running time of the iterative algorithm is O~(n2m)\tilde{O}(n^2m). This is the first time bound of any kind on any variant of the Osborne-Parlett-Reinsch algorithm. We also prove a conjecture of Chen that characterizes those matrices for which the limit of the balancing process is independent of the order in which balancing operations are performed.Comment: The previous version (1) (see also STOC'15) handled UB ("unique balance") input matrices. In this version (2) we extend the work to handle all input matrice
    corecore