В этой главе будут рассмотрены программные средства, позволяющие проводить обработку как числовой, так и символьной информации, а также осуществлять вычисления с большой степенью точности и оперировать огромными числами.
Большинство компьютерных программ, предназначенных для вычислений, работают только с числовыми выражениями. Как правило их результаты бывают приближенными, ведь при операциях с вещественными числами происходит их округление. В последнее время все большее распространение приобретают системы для научных и инженерных расчетов, избавленные от подобных недостатков. Они способны использовать в процессе вычислений математические теоремы и факты. Так, широко известное тригонометрическое тождество гласит, что sin2x+cos2x=1 для любого x. Ни один калькулятор не способен применить это тождество в процессе преобразований, в то время как такие программы, как Mathematica или Maxima, предназначенные для символьных вычислений, легко справляются с подобными задачами.
Там, где необходимо выполнить вычисления точно, либо осуществить аналитическое преобразование, например, упростить сложное математическое выражение, вычислить в символьном виде производную или первообразную заданной функции, разложить ее в ряд Тейлора, найти корни уравнения, заданного в достаточно общем виде и т. д., применяются так называемые системы компьютерной алгебры (системы символьных вычислений). Отметим также особую роль подобных систем в техническом и математическом образовании. Они позволяют проверить результаты громоздких математических расчетов и наглядно представить сложные математические объекты.
Мировым лидером среди подобного рода систем справедливо считается программа Mathematica. Ее версии доступны пользователям различных операционных систем, в том числе Windows и Linux. Следует отметить, что эта программа, заслуженно пользующаяся популярностью, стоит достаточно дорого.
Другой системой компьютерной алгебры, рассматриваемой в этом курсе, является Maxima. Эта программа распространяется под лицензией GNU, что позволяет рекомендовать ее широкому кругу пользователей. У каждой из этих двух программ есть свои сильные и слабые стороны. Удобный графический интерфейс является несомненным достоинством программы Mathematica, в то время как Maxima зачастую дает более корректные ответы. Так, например, при вычислении первообразной функции xn Maxima просит уточнить значение n, так как при n = -1 результатом является функция ln x, а при других n первообразная равна xn+1/(n+1). Программа Mathematica для такой функции всегда в качестве первообразной выдает значение xn+1/(n+1), хотя если в качестве функции задать 1/x, то получим верный результат - ln x. Другими представителями систем такого рода являются программы Mathcad и Maple, но в данном курсе они рассмaтриваться не будут.