ここから本文です

Maximaに関する以下のプログラムでの質問です。

zag********さん

2019/6/2109:00:03

Maximaに関する以下のプログラムでの質問です。

f:18*x^6+81*x^5+172*x^4+258*x^3+264*x^2+197*x+90$
g:factor(f);

(g) (x+2)*(3*x^2+4*x+5)*(6*x^3+7*x^2+8*x+9)

となりますが、「 f 」がもっと複雑な式なとき、因数分解をした
結果の「 g 」から、因数が何個で、それぞれの次数がどうなって
いるか?など因数をひとつづつ抜き出す方法がわかりません。
初歩的な質問で申し訳ありませんが教えてください。

Maximaの命令自体の解説はたくさんあり、理解できるのですが、
計算結果を自由に引き出して、それを使う方法を解説した
資料など、ご存じでしたら教えてください。

閲覧数:
20
回答数:
1

違反報告

ベストアンサーに選ばれた回答

mus********さん

2019/6/2119:27:24

重根を持たなければ、因数の個数は length(g) で分かります。
例示された多項式 g の場合は 3 を返します。

各因数へは part(g, 1)、part(g, 2)、part(g, 3) でアクセスできます。

多項式の次数は hipow で調べることができます。

例1:各因数を列挙する

map(lambda([i], part(g, i)), [1,2,3]);

例2:各因数の次数を列挙する

map(lambda([i], hipow(part(g, i), x)), [1,2,3]);

以上のことは全てマニュアルに書いてあるはずです。

明文化されていない機能は(今はあまりと思いますが)ソースコード(内のコメント)を検索すると良いと思います。

  • 質問者

    zag********さん

    2019/6/2123:27:18

    丁寧な回答有難うございました。良くわかりました。
    もっとマニュアルをよく読む必要があると感じました。
    あと、Lispの記述法も十分理解する必要がありそうだと
    反省しております。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる