2011-02-08 5 views
3

Я хочу найти характеристическое уравнение матрицы. Я знаю, как это делается математически, но как я могу отобразить его в форме уравнения? например: Учитывая матрицу:Как упростить и отобразить уравнение с помощью C?

3 7 9 
8 6 2 
1 8 6 

теперь, если предположим, что параметр, скажем, "б"; Следующим шагом я сделаю это;

3-b 7 9 
8 6-b 2 
1 8 6-b 

до здесь я могу только дисплей, делая это:

printf("%d - %c ", a[i][j],98); 

, но тогда как я нахожу этот определитель матрицы из здесь ?? мое окончательное уравнение должно быть формы, как

b^3 + 3b^2 - 4b +5 =0 

и все это упрощение должно быть сделано в программе. Можно ли это сделать в C? Если нет, есть ли другой способ или язык, который делает это упрощение возможным? Я не хочу просто отображать персонажа, я хочу, чтобы он был вовлечен в расчет и остался нетронутым в окончательном ответе. Благодарю .

+1

Почему тег Python? –

+0

Так как C является языком, содержащим полный язык, он эквивалентен тому, что он делает на любом другом языке, дополняющем формулировку. – vz0

+0

Вы хотите [символическое вычисление] (http://en.wikipedia.org/wiki/Symbolic_comput) в C? – Jacob

ответ

6

Это звучит так: symbolic computation. Он легко реализуется в MATLAB, если у вас есть Symbolic Math toolbox или в GNU Octave (как описано в этом tutorial), который свободно доступен.

Google рекомендует GiNaC для C++. Дальнейший поиск в Google может оказаться чем-то для C.

+0

да! это похоже на то, что я хотел. –

+1

@ user553492: тогда, если ответ вам полезен, повысьте его! – Francesco

+0

Вам не нужно символическое вычисление, чтобы найти коэффициенты характеристического полинома матрицы. – etarion