Shuai Wei, Enyi Tang, Tianyu Liu, N. Müller, Zhenyu Chen
{"title":"基于无限精度算法的自动数值分析","authors":"Shuai Wei, Enyi Tang, Tianyu Liu, N. Müller, Zhenyu Chen","doi":"10.1109/SERE.2014.35","DOIUrl":null,"url":null,"abstract":"Numerical analysis is an important process for creating reliable numerical software. However, traditional analysis methods rely on manual estimation by numerical analysts, which is restricted by the problem size. Although some state-of-art software packages can check whether a program is numerical unstable, they cannot tell whether it is caused by ill-posed problem itself or by some improper implementation practices, while these packages work on the floating point values in the program. In this paper, we introduce an automatic framework that utilizes infinite-precision arithmetic to analyze large-scale numerical problems by computer. To eliminate rounding errors, the computing process iterates itself to increase intermediate precision until the calculation reaches the desired final precision. Then the framework perturbs the inputs and intermediate values of a certain numerical problem. By checking the gaps among different program outputs, the framework helps us understand whether the problem is well-conditioned or ill-conditioned. The framework also compares the infinite-precision arithmetic with fixed-precision arithmetic. The evaluation of a bunch of classical problems shows that our framework is able to detect the ill-conditioning in large-scale problems effectively.","PeriodicalId":248957,"journal":{"name":"2014 Eighth International Conference on Software Security and Reliability","volume":"135 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Automatic Numerical Analysis Based on Infinite-Precision Arithmetic\",\"authors\":\"Shuai Wei, Enyi Tang, Tianyu Liu, N. Müller, Zhenyu Chen\",\"doi\":\"10.1109/SERE.2014.35\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Numerical analysis is an important process for creating reliable numerical software. However, traditional analysis methods rely on manual estimation by numerical analysts, which is restricted by the problem size. Although some state-of-art software packages can check whether a program is numerical unstable, they cannot tell whether it is caused by ill-posed problem itself or by some improper implementation practices, while these packages work on the floating point values in the program. In this paper, we introduce an automatic framework that utilizes infinite-precision arithmetic to analyze large-scale numerical problems by computer. To eliminate rounding errors, the computing process iterates itself to increase intermediate precision until the calculation reaches the desired final precision. Then the framework perturbs the inputs and intermediate values of a certain numerical problem. By checking the gaps among different program outputs, the framework helps us understand whether the problem is well-conditioned or ill-conditioned. The framework also compares the infinite-precision arithmetic with fixed-precision arithmetic. The evaluation of a bunch of classical problems shows that our framework is able to detect the ill-conditioning in large-scale problems effectively.\",\"PeriodicalId\":248957,\"journal\":{\"name\":\"2014 Eighth International Conference on Software Security and Reliability\",\"volume\":\"135 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-06-30\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2014 Eighth International Conference on Software Security and Reliability\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SERE.2014.35\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 Eighth International Conference on Software Security and Reliability","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SERE.2014.35","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Automatic Numerical Analysis Based on Infinite-Precision Arithmetic
Numerical analysis is an important process for creating reliable numerical software. However, traditional analysis methods rely on manual estimation by numerical analysts, which is restricted by the problem size. Although some state-of-art software packages can check whether a program is numerical unstable, they cannot tell whether it is caused by ill-posed problem itself or by some improper implementation practices, while these packages work on the floating point values in the program. In this paper, we introduce an automatic framework that utilizes infinite-precision arithmetic to analyze large-scale numerical problems by computer. To eliminate rounding errors, the computing process iterates itself to increase intermediate precision until the calculation reaches the desired final precision. Then the framework perturbs the inputs and intermediate values of a certain numerical problem. By checking the gaps among different program outputs, the framework helps us understand whether the problem is well-conditioned or ill-conditioned. The framework also compares the infinite-precision arithmetic with fixed-precision arithmetic. The evaluation of a bunch of classical problems shows that our framework is able to detect the ill-conditioning in large-scale problems effectively.