{"title":"采用误差校正方法求解参数项线性系统","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":"{\"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}","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
摘要
我们考虑求解一个全秩一致线性系统a (u)x = b(u)的问题,其中m × n矩阵a和m维向量b在一个域上的u上有多项式项。我们给出了一个算法,计算唯一解x = f(u)/g(u),这是一个有理函数的向量,通过在不同的点上计算参数u。那些点ξλ,其中矩阵A计算为矩阵A(ξλ),在标量域上有较低秩的条目,或者在数字设置中为病态矩阵,这些点不能被识别,而是由纠错代码技术来解释。我们还修正了在某些u = ξλ处的求值导致错误的、可能是满秩一致的、条件良好的标量线性系统的真错误。我们的算法推广了Reed/Solomon纠错码的Welch/Berlekamp解码及其数字浮点对偶。我们已经用浮点运算实现了我们的算法。为了确定精确的分子和分母度和误差数,我们使用基于奇异值的数值秩计算。证明了当输入标量有噪声时,误差校正参数解所产生的线性系统是条件良好的。在几个初始实验中,我们已经证明,即使对于较大的系统m = n = 100,只要解中的度很小(≤2),我们的方法在数值上也是稳定的。对于较小的系统m = n = 10,具有较高的度(≤20),该算法的工作原理类似于有理函数恢复。我们的实现可以在两种设置中纠正13个真实错误。
Numerical linear system solving with parametric entries by error correction
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.