{"title":"Numerical linear system solving with parametric entries by error correction","authors":"Brice Boyer, E. Kaltofen","doi":"10.1145/2631948.2631956","DOIUrl":null,"url":null,"abstract":"We consider the problem of solving a full rank consistent linear system <i>A</i>(<i>u</i>)<b>x</b> = <i>b</i>(<i>u</i>) where the <i>m</i> x <i>n</i> matrix <i>A</i> and the <i>m</i>-dimensional vector <i>b</i> has entries that are polynomials in <i>u</i> over a field. We give an algorithm that computes the unique solution <b>x</b> = <b>f</b>(<i>u</i>)/<i>g</i>(<i>u</i>), which is a vector of rational functions, by evaluating the parameter <i>u</i> at distinct points. Those points ξ<sub>λ</sub> where the matrix <i>A</i> evaluates to a matrix <i>A</i>(ξ<sub>λ</sub>), with entries over the scalar field, of lower rank, or in the numeric setting to an ill-conditioned matrix, are not identified but accounted for by error-correcting code techniques. We also correct true errors where the evaluation at some <i>u</i> = ξ<sub>λ</sub> results in an erroneous, possibly full rank consistent and well-conditioned scalar linear system. Our algorithm generalizes Welch/Berlekamp decoding of Reed/Solomon error correcting codes and their numeric floating point counterparts.\n We have implemented our algorithms with floating point arithmetic. For the determination of the exact numerator and denominator degrees and number of errors we use singular values based numeric rank computations. The arising linear systems for the error-corrected parametric solution are demonstrated to be well-conditioned even when the input scalars have noise. In several initial experiments we have shown that our approach is numerically stable even for larger systems <i>m</i> = <i>n</i> = 100, provided the degrees in the solution are small (≤ 2). For smaller systems <i>m</i> = <i>n</i> = 10 with higher degrees (≤ 20) the algorithm works similarly to rational function recovery. Our implementation can correct 13 true errors in both settings.","PeriodicalId":308716,"journal":{"name":"Symbolic-Numeric Computation","volume":"76 2","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"7","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Symbolic-Numeric Computation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2631948.2631956","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 7
Abstract
We consider the problem of solving a full rank consistent linear system A(u)x = b(u) where the m x n matrix A and the m-dimensional vector b has entries that are polynomials in u over a field. We give an algorithm that computes the unique solution x = f(u)/g(u), which is a vector of rational functions, by evaluating the parameter u at distinct points. Those points ξλ where the matrix A evaluates to a matrix A(ξλ), with entries over the scalar field, of lower rank, or in the numeric setting to an ill-conditioned matrix, are not identified but accounted for by error-correcting code techniques. We also correct true errors where the evaluation at some u = ξλ results in an erroneous, possibly full rank consistent and well-conditioned scalar linear system. Our algorithm generalizes Welch/Berlekamp decoding of Reed/Solomon error correcting codes and their numeric floating point counterparts.
We have implemented our algorithms with floating point arithmetic. For the determination of the exact numerator and denominator degrees and number of errors we use singular values based numeric rank computations. The arising linear systems for the error-corrected parametric solution are demonstrated to be well-conditioned even when the input scalars have noise. In several initial experiments we have shown that our approach is numerically stable even for larger systems m = n = 100, provided the degrees in the solution are small (≤ 2). For smaller systems m = n = 10 with higher degrees (≤ 20) the algorithm works similarly to rational function recovery. Our implementation can correct 13 true errors in both settings.