فرض کنید قصد داریم یک معادله از درجه سوم را حل کنیم. برای این کار می توانید از دستور کاردانو برای حل معادلات درجه سوم استفاده کنید و سه جواب معادله را به صورت کاملا دقیق محاسبه کنید.این روش حل، مثالی از یک الگوریتم تحلیلی است. ولی با وجود مزایای روش های تحلیلی موارد زیر تامل برانگیز هستند:
- در مقاصد کاربردی به جواب کاملا دقیق محتاجیم یا اینکه یک جواب تخمینی ولی با دقتی قابل قبول پاسخگوی نیاز ما است؟
- آیا برای معادلات با درجه بیشتر از 3 هم روشی مانند کاردانو وجود دارد؟ اگر خواستیم ریشه های یک تابع که چند جمله ای نیست و روشی تحلیلی برای حل آن نداریم پیدا کنیم چه؟
- فرض کنید می خواهیم برنامه ای بنویسیم که ریشه های یک تابع را بیابد. اگر بخواهیم برنامه ما توابع زیادی را پشتیبانی کند و از روش های تحلیلی هم برای ریشه یابی استفاده کند، نیازمند یک کتابخانه محاسبات نمادین هستیم. جدای از این، پیچیدگی اجرای الگوریتم های تحلیلی اغلب بیشتر از روش های عددی است. پیاده سازی برخی الگوریتم های تحلیلی طاقت فرسا است و ...
موارد بالا و موارد دیگر باعث می شود در مقاصد کاربردی به جای استفاده از الگوریتم های تحلیلی که مبتنی بر روش های جبری حل مسئله هستند از الگوریتم های عددی که اغلب اتکا بر آنالیز عددی دارند استفاده کنیم. برای مثال در بحث یافتن ریشه توابع می توان به روش های نیوتن و تصنیف اشاره کرد.در اغلب روش های عددی می توان خطای پاسخ بدست آمده را کنترل کرد و آن را به میزان مورد نیاز کاهش داد و این موضوع در کنار ساده تر بودن پیاده سازی، الگوریتم های عددی را تبدیل به گزینه ای مناسب برای محاسبات کاربردی کرده است.