問題タブ [algebraic-number]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
523 参照

c++ - 代数的数の計算

正多角形で正確な計算をしたいと思います。そのために、以下のコードを書きました。しかし、式cos*cosはコンパイルされません。どうやら、私が使用している代数型には乗算が定義されていません。他のアプローチを試す必要があると思います。現時点では、次の 2 つの候補があるようです。

  1. RSはより高度な代数機能を提供しているようで、CGAL はそれをサポートしています。しかし、関連するヘッダーに乗算演算子が表示されないため、希望どおりに乗算が行われるとは思えません。
  2. leda::realは代数実数の型のようです。おそらくコードを書き直す必要がありますが、同様の結果が得られるはずです。おそらくcos、CGAL で計算した をそのような に変換することさえできleda::realます。LEDA ヘッダーには、少なくともoperator*. LEDA は無料で使用できますが、まだクローズド ソースです。そしてleda_real.hCGAL 4.3 は奇妙に見えます: それはleda_realnotを参照してleda::realいるので、古いバージョンの LEDA 用に書かれているのかもしれません。そして、どうやらそれ自体が含まれているようで、これはかなり無意味に見えます。

任意のnに対して通常のn角形を記述できる正確な CGAL カーネルを構築するには、これらの代替手段のうちどれが最適ですか? これらのいずれかがまったく機能しますか? 私が見逃している別の選択肢はありますか?

私のコンピュータには RS も LEDA もインストールされていないので、ビルドを開始する前に十分な知識を得た上で意見を求めたいと思います。