[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 20:18 / Filesize : 259 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングの為の数学と算数 vol.2



1 名前:デフォルトの名無しさん [04/09/05 16:22]
プログラムに必要な数学、算数に関する話題について
語りましょう。TIPS/Q&Aスレです。

511 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 18:39:10 ]
基地(ry

512 名前:デフォルトの名無しさん mailto:507は小学生? [2006/03/29(水) 20:09:24 ]
>>507
右端は揃うんじゃマイカ?

マジレスすると、敷き詰める画像のサイズが640と480の公約数である必要がある。


513 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 20:17:27 ]
どうしても正方形が好きならね。

514 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 22:22:06 ]
480って32で……あれぇ?うぅー?

515 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 23:42:36 ]
勘でいうとAdjustWindowRectしてないから

516 名前:デフォルトの名無しさん mailto:sage [2006/03/30(木) 09:24:33 ]
テクスチャで貼っててピクセルがずれている悪寒。

517 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 01:31:23 ]
>>498
>>507
お前さ
いい加減あちこちにマルチポストするの止めろよ
もしくは解決したなら解決したと全てのスレに書いて回れ

518 名前:デフォルトの名無しさん mailto:sage [2006/03/31(金) 23:45:54 ]
地球の下側は反対に回っているってどういう意味ですか?
上も下も繋がっているんだから回る方向は同じじゃないの?

519 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 02:22:08 ]
>>518
オーストラリアの世界地図 でググってみるといいかも
方向という単語の意味の問題だから、ここはスレ違いかも



520 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 03:18:09 ]
北半球の人間はオーストラリアが下だろと認識している
南半球の人間はロシアが下だろと認識している

521 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 04:01:57 ]
南半球では西から日が昇るんだよね?


522 名前:デフォルトの名無しさん mailto:sage [2006/03/32(土) 11:13:29 ]
右からだよ

523 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 08:07:38 ]
ラグナロクみたいなオンラインゲームでステータスを表示したり、
所持アイテムを表示したりする、ウィンドウについて。
これって、どうやって実装してるんでしょうか?
ただ単に固定されてるウィンドウをつくるなら、ウィンドウのテクスチャ描いて、
それを張って、座標が決まっているのでそこに文字やらなんやら表示すれば良いと
思うんですけど、
オンラインゲームに存在するウィンドウって、windowsのウィンドウみたいに
マウスでクリックすると自由に動かすことができますよね?
これって、APIで一つ一つ子ウィンドウを作って、そこに表示させてるんでしょうか?
もしくは、他に方法とかあるんでしょうか、助言をよろしくお願いします。

524 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 08:27:33 ]
pc8.2ch.net/test/read.cgi/gamedev/1137730564/543

525 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 08:28:25 ]
>>523
つ[DirectX]
後スレ違い。

526 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 14:00:59 ]
DirectXは直接的にはかんけいないだろ

527 名前:デフォルトの名無しさん mailto:sage [2006/04/03(月) 04:30:12 ]
>>523
>>517

528 名前:デフォルトの名無しさん mailto:sage [2006/04/07(金) 13:54:31 ]
>526
「数学と算数」よりは関係あるけどな。

529 名前:デフォルトの名無しさん [2006/04/24(月) 11:15:56 ]
>528
そうか?



530 名前:デフォルトの名無しさん [2006/04/24(月) 13:10:28 ]
>>528
クリッピングや論理演算は数学の範疇だと思うんだけどな

531 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 12:28:25 ]
ハァ?
DirectXはスレ違いだし、クリッピングの話なんてどこにも出てないが?

532 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 14:21:17 ]
DirectX 描画者たち

窓の中の昴〜♪

533 名前:ルカ [2006/04/26(水) 16:58:08 ]
sgn←これなんて読むの?だれかがシグネーチャー?って読んでたんだけどそれでオッケイなんですか?
てかこれどういう意味?符号関数ってなんですか・・・
すいませんここはプログラムとかそういうサイトっぽいけどたぶんここしか頼れる所がないので・・・
大学の数学で出てきたんですけどもしよろしければ誰か教えてください(>_<)

534 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 17:02:02 ]
もうシグネチャーでいいと思うよ。

まあ、マジレスすると、符号関数でぐぐればいくらでも説明出てくる。

535 名前:デフォルトの名無しさん [2006/04/26(水) 18:13:04 ]
現在、固有値および固有ベクトルを求めるプログラムを作成しているのですが
固有ベクトルの求め方で質問させていただきたいことがあります。
固有値はハウスホルダー変換と2分法で求めました。
その後、逆反復法を用いようと思っているのですが、
初期ベクトルの決め方と、繰り返し回数がわからず困っています。
どなたか教えていただけないでしょうか?

536 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 20:23:48 ]
sgnと関数でぐぐるだけでも出てきそうなもんだが試した訳ではない。

537 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 01:34:48 ]
sgnでググってみたら一番上がFortranの(だと思う)sgn関数の説明だった。
sgnの読み方はともかく、意味は分かるだろう。符号関数とも書いてるから
探しているものという確認も取れるし。

そしてシグネーチャーでオッケイかを知りたければシグネーチャから思いつく
綴りを全部辞書で調べろ。

538 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 02:01:54 ]
>>535
初期ベクトルは、求めたい固有ベクトルの成分がゼロ、
もしくは、よほどゼロに近くない限りなんでもいいんじゃない?
ランダムなベクトルにするとか。
例え、偶然にも求めたい固有ベクトルの成分がゼロの初期ベクトルを
選んでしまったとしても、なんだかんだで誤差が出てくるので、なんとかなるかも。
収束は遅くなるだろうけど。

繰り返し回数は、求めたい精度に達するまでやればいいと思う。
Aを行列、aを固有値、xを求めた固有ベクトル、として、
(x,Ax)/(x,x)を計算すれば、固有値aの近似値が求まるから、
その精度を、既に求まっている固有値aと比較するとか。


539 名前:535 mailto:sage [2006/04/27(木) 11:26:58 ]
なるほど、ありがとうございました。
参考にさせていただきます。



540 名前:デフォルトの名無しさん [2006/05/03(水) 12:47:46 ]
行列を使って非斉次の連立方程式を解くんだが、
行列の成分の

90%が0
8%が1
2%がその他

という行列を解くには
どんなアルゴリズムを使えば高速に解ける?

こういう行列に限り高速にできるとか
そんなアルゴリズムないかなと思ったんだが。


541 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 14:35:25 ]
どこが非ゼロなのか、という情報がないとなんともいえない。
非ゼロの位置に特徴が無い場合は、行列をリスト表現して計算するくらいしか。

542 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 17:01:03 ]
>>541
サンクス
非ゼロの位置に規則性はないわ。
あきらめとく。


543 名前:デフォルトの名無しさん mailto:sage [2006/05/03(水) 18:30:42 ]
"sparse matrix"でググれば英語ばかりだが参考になりそうなサイトが出てくる

544 名前:デフォルトの名無しさん [2006/05/05(金) 01:27:02 ]
1:30〜

たけしのコマネチ大学数学科
live22x.2ch.net/test/read.cgi/livecx/1146759594/

545 名前:デフォルトの名無しさん mailto:sage [2006/05/07(日) 17:26:16 ]
>542
非零が疎な行列だと反復法系のアルゴリズムが案外早いぞ。

546 名前:デフォルトの名無しさん [2006/05/23(火) 08:07:13 ]
朝倉から「コンピュータ代数ハンドブック」、定評のあるModern Computer Algebra 2nd ed.の
待望の翻訳!!、なる案内がきたが、定評と待望についてよろしく。

しかし\31,500とはずいぶんだな。

547 名前:デフォルトの名無しさん [2006/06/15(木) 10:42:40 ]
保守

548 名前:デフォルトの名無しさん [2006/07/16(日) 09:13:35 ]
保守

549 名前:マイク ◆yrBrqfF1Ew mailto:sage [2006/07/19(水) 14:31:54 ]
おい以下の問題がわからないので中卒の俺でもわかるようにPerlのコードをまじえて教えろ。

n個の区間Ii = [ai, bi](i=1,2,...,n)が与えられる時重なりを持つ区間の対を
全て列挙したい。なお[ai, bi]は実数の集合{x∈R | ai <= x <= bi}を表し、
二つの区間IiとIjが重なりを持つとは[ai, bi]∩[aj, bj]が空集合でないことを
意味する。全てのi = 1,2,..,nに対してaiとbiは整数でai<=biを満たし、
また任意のiとj(i != j)に対してai != ajを仮定する。区間のデータは
端の値aiとbiが配列で与えられており2つの数の大小比較や四則演算などの基本操作は
全てO(1)時間で可能とする。

(i) 区間対全てに対してそれぞれ重なりの有無を調べて
該当するものを列挙する方法が要する時間量を述べよ。

(ii) 重なりを持つ区間対の総数をkとする時、そのような区間対を列挙する
O(nlogn+k)時間のアルゴリズムを与えよ。

(iii) 重なりを持つ区間対を列挙するのではなく、その総数kのみを出力する
O(nlogn)時間のアルゴリズムを与えよ。



550 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 15:07:18 ]
Perl 以外でもいいですか?

551 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 15:23:21 ]
>550
>549に代わってお願いします。
ぜひC++で(ry

552 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 15:23:34 ]
>>糞コテ
そういう態度だから何処へ行っても嫌われる。

553 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 21:59:50 ]
>549
死に晒せヴォケ

554 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 07:11:30 ]
550 じゃないが

>>551
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2409.cpp

方針は以下:

(1) は自明.
(2) はソートして左から数える.ソートしたおかげで単調性が得られ,
  一度交わらなくなったらそれより先を調べる必要がなくなる.
(3) は (2) でどこまで調べないといけないかを二分探索を行う.

555 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 08:09:59 ]
拙いPerlですが。
sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28099

(i) 区間対の個数はO(nn)、重なりの有無の判定はO(1)だから、全体でO(nn)。

(ii) >>554に同じ。

(iii) 与えられた区間の始点と終点を列挙し、ソートし、各点に何個の始点・終点が重なっているか調べる。
区間のネストの数を把握しながらこの列を走査して重なりの総数を得る。
実際のコードでは始点・終点の個数の計算と最後の操作を一つのループで行っている。

556 名前:マイク ◆yrBrqfF1Ew [2006/07/20(木) 19:23:08 ]
>>554-555
・・・
2chネラにこんなことを言うのもあれだが
お前らすげーな。
どこの金子勇的風貌の京大院生だ?

557 名前:デフォルトの名無しさん mailto:sage [2006/07/20(木) 22:30:46 ]
大学で情報やれば大体やるぞ。
今からでも勉強してみたらどうでい。

558 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 08:15:10 ]
二次元上の多角形の面積を求めるには外積で一発ですが、
三次元上の多面体の体積を求めるには何か方法はありませんか?

559 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 10:47:51 ]
O = (0,0,0), A = (ax,ay,az), B = (bx,by,bz), C = (cx,cy,cz)
4面体OABCの体積は
1/6( ax by cz + ay bz cx + az bx cy - az by cx - ax bz cy - ay bx cz )



560 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 10:49:24 ]
外積っていうより行列式に見える……。外積と行列式って関係あったっけ?

561 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 11:00:04 ]
そりゃあるさ

562 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 12:06:07 ]
>>558
外積

563 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 16:12:50 ]
n次元体積を求めるにはベクトル出して行列式で一発じゃないのか?


564 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 16:14:36 ]
3次元なら体積は (a×b)・c = det(a b c)だし

565 名前:デフォルトの名無しさん mailto:sage [2006/07/30(日) 18:27:31 ]
精度や対応できる形状をどこまでの範囲にするか決めないとな
体積を求めたい多面体が凸でない場合は4面体の和に分割するところが面倒かもよ
凸多面体でも分け方によって誤差が変わってくるからそんなに簡単ではないかもよ

566 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 16:49:43 ]
おのおのの面に対して、原点とその面でつくられる錐体の符号付体積を足せばいいんでないの?


567 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 18:06:17 ]
向き付けはどうすんのよ?

568 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 20:54:07 ]
>566
対象が凸多面体で原点を多面体の内部か表面にとればそれは正しい

569 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 21:45:34 ]
>>568
符号付き、というのはたぶん
原点から見て裏面が見えてるときはマイナスの体積、ということだろうから
そうすると原点に関して星状であるという条件はいらなくなるよ

Aが星状というのは原点とAの任意の点とを結ぶ線分がAに含まれることね




570 名前:デフォルトの名無しさん mailto:sage [2006/08/06(日) 23:55:55 ]
あ、ほんとだ

571 名前:デフォルトの名無しさん [2006/08/07(月) 12:48:29 ]
NURBS曲面同士の衝突判定がしたいんだけど
便利なライブラリ or 公式とかある?

もしもなかったら、
衝突判定がしやすい曲面の表現方法教えてもらえませんか。


572 名前:デフォルトの名無しさん mailto:sage [2006/08/07(月) 21:29:19 ]
どんなものを表現したいのかね

573 名前:デフォルトの名無しさん [2006/08/07(月) 21:41:17 ]
NURBSやベジェのように、制御点を移動することで
形状を簡単に変えることができるものであればいいんですが、
球も表現したかったのでNURBSを考えていました。


574 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 11:21:05 ]
>>571
NURBS曲面かどうか調べてないが、Newtonとか言うGAME向けの物理演算ライブラリがある

575 名前:デフォルトの名無しさん [2006/10/01(日) 18:50:02 ]
当選小計率 (数.数%) = 当選小計 ÷ 販売額 × 100倍%
当選口指数 {数.数} = 当選口数 ÷ 販売口数 × 100万倍
sea.advenbbs.net/bbs/yybbs.cgi?mode=res&no=1593&id=loto66

576 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:30:01 ]
中学あたりからの学習要綱を網羅した数学ドリルサイトみたいなのないですか?

577 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 11:02:11 ]
サンプルコードが理解出来ないレベルなら、素直に諦めて勉強し直した方がいい。

578 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 11:02:53 ]
ゴバーク

579 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 10:21:15 ]
正射影について教えてください。

マウス(2次元)座標をゲーム画面(3次元)の座標に
変換したいんだけれど、
やり方がわからないです。

[やりたいこと]
大航海時代Onlineのように、
「キャタクターの行先(目的地)」を「地面をマウスクリックする」ことにより
指定し、その後、キャラクターが動き出す。

ということをやりたいと考えています。




580 名前:デフォルトの名無しさん mailto:sage [2006/11/03(金) 10:29:29 ]
>>579
DirectXを使っているならDirectX隔離スレへ。
その他3D表示ライブラリを使っているならそれらのスレへ。
そうでないなら自分で勝手に計算汁。

581 名前:579 mailto:sage [2006/11/03(金) 10:37:51 ]
>>580
スレ違いスマソ。
DirectX隔離スレ逝ってきます。

582 名前:デフォルトの名無しさん [2006/11/23(木) 14:10:24 ]
グレゴリウスの定義を用いて入力した日が何曜日であるか、を表示するプログラムのアルゴリズムってどんな感じになるかわかりますか?

ちなみに
・グレゴリウスの定義

・西暦1年1月1日は月曜日
・1年365日だが、閏年は366日
・4または400で割り切れる年は閏年
・100で割り切れるのは閏年ではない

もしわかった方いましたらお願いします

583 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 14:15:04 ]
>>582
C++の擬似コードだと、こんな感じかなぁ・・・

main(){Youbi 曜日; カレンダーを見る(新聞の日付, &曜日);
if (時計の時間<新聞配達時間) 曜日.進める;
return 曜日;}

584 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 15:01:22 ]
>>582
普通はAPIを使う。
こんな所で質問してる奴が組んだ物は怖くて信用おけないから。

関係無いけど、ANSI C準拠のtime()関数系の1970/01/01 00:00:00からの通算秒で
有効桁31bitの場合は、全部閏年で換算しておk。

585 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 15:06:49 ]
int zeller(int year, int month, int day)
{
 if (month < 3) {
  year--; month += 12;
 }
 return (year + year / 4 - year / 100 + year / 400 + (13 * month + 8) / 5 + day) % 7;
}

586 名前:デフォルトの名無しさん [2006/12/10(日) 12:20:07 ]
ttp://bal4u.dip.jp/mt/program/archives/2005/11/f_millerrabinex.html
にあるprime-test()で多倍長整数の場合、最初に判定を間違える数って何?

587 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 13:01:52 ]
>>582
マジレスすると西暦1年1月1日にはまだグレゴリオ暦は発明されていなかった罠。

588 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 15:35:33 ]
>>587
遡及的に定義できる。

589 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 17:39:40 ]
>>586
ミラーラビンテストでぐぐったら強擬素数ってのが出てきた。
あとは頑張れ。



590 名前:デフォルトの名無しさん mailto:sage [2006/12/10(日) 20:48:11 ]
>>586 底を何にするかで変わるから、一般的にパッと見つける方法はない。なので一つ一つ調べなさい。
>>589 強擬素数はフェルマーテスト

591 名前:デフォルトの名無しさん mailto:sage [2006/12/11(月) 02:24:03 ]
フェルマーテストで誤判定される数は、擬素数とかカーマイケル数。
適当いったらだめなんじゃね。

592 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 00:24:50 ]
すいません、スレ違いかも知れませんが
他に適当なスレが見つからなくて。

私は会社の事務員なのですが、
手間のかかる手作業がありまして、パソコンにやらせたいのです。
職場の人員のスキル的に見て、自分でやるしかない状況です。
エクセルのVBAで何度かプログラムを組んだことのあるレベルです。
以下が問題の概要です。

1から100までの整数の並びがある。
そのうちランダムに20個程度の数が欠番となっている。
この状態から、残った数を並べ替え、
隣り合う数同士の差の絶対値が全体でなるべく等しくなるように、
つまり等間隔に並ぶようにしたい。

ここ一ヶ月くらい悩んでみましたが、アイディアが浮かびません。
何か既存のアルゴリズムで、応用できそうなものを紹介してもらえませんか。

593 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 00:31:57 ]
>>592
判りにくいな。例えば、1, 2, 90, 91があったら1, 90, 2, 91に並べ替えるってことか?
#前者は隣同士の差が1, 88, 1で、後者は89, -88, 89だから後者の方が差の絶対値はほぼ均等になる。

594 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 00:39:09 ]
>>592
総当りで調べるとかかなぁ。
「隣同士の差」の分散辺りを評価基準にして、全部の組み合わせ試して一番分散の小さいのを選ぶ。

595 名前:592 mailto:sage [2006/12/17(日) 00:52:03 ]
>>593
わかりにくくてすみません。
実例を出すべきでした。
まさに、その後者のように並べたいのです。
今は人間がエクセル上で手作業であれこれと
数値を入れ替えし、納得いく結果になるまで
3日はかかってしまいます。

>>594
分散、とは統計学の用語ですか。
調べてみます。

596 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 06:08:03 ]
80の総当りだと約10^119通り、3日じゃ終わらん。

単純に、小さい値と大きい値で2つに分けて、ソート後交互に配置じゃだめなん?

597 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 08:18:01 ]
インターリーブ決定みたいなもんかな。
>596でよさそうだけど。

598 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 12:29:10 ]
たとえば
 1, 22, 23, 24, 25, 26, ..., 99, 100
というデータに対して>>596をすると
 1, 61, 22, 62, 23, 63, 24, 64, ..., 59, 99, 60, 100
となって、「隣同士の差」のレンジは20にもなってしまう

しかしたとえば
 1, 22, 42, 23, 43, 24, 44, 25, 45, ..., 39, 59, 40, 60, 41, 61,
 81, 100, 80, 99, 79, 98, 78, 97, ..., 64, 84, 63, 83, 62, 82
というほうほうならレンジは2

599 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 16:18:54 ]
>596
それならソートしただけのデータでもインジャネ?

相対的な距離に関する最適解は総当りじゃないと求まらないんじゃない?
しかも「分散の小さい物」という条件だから足切りも出来ない。



600 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 22:37:12 ]
判定関数を>>598のいうようなレンジとかにすれば枝切りもできるようになるね

601 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 21:47:49 ]
RSA暗号を実装しようとしてて、2048ビットの鍵長の元に暗号化・復号を行っています。
整数乗算についてなんですが、2048ビット程度だと、fftかまして乗算しても恩恵はない。
と聞きました。実際のところはどうなんでしょうか?どなたか検証サイトなどご存知ではありませんか?

602 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 01:05:13 ]
FFTの計算量評価の式から実際に求めるしかないね。
乗算が加算よりどれだけ遅いかも評価に入れなきゃいけないだろうし。

603 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 01:45:31 ]
FFTの時間は実装レベル次第だから、実際に組んで比較するのが一番。

604 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 12:31:04 ]
>>601
RSA の乗算+剰余演算の場合、FFT による方法じゃなくて、
Montgomery multiplication っていう高速化手法があるよ。

検証したことはないけど、2048 ビット程度では FFT の効果はない
あるいは逆効果ってのはそうだと思う。
せめて1万ワードくらいの長さはないと。

605 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 12:37:35 ]
ああ、あと、ワード長が2のべきになってる場合、
上位・下位半分ずつ、再帰的に計算することで
乗算回数減らす方法もある。
下位桁の乗算結果使って、上位桁の乗算をサボる。

昔、RSA のプログラムの最適化の仕事したことあるけど、
「単純に畳み込みで乗算 & 引き放し法的な剰余」を
「再帰乗算 & Montgomery 乗算法」に変えたら
鍵長256bitでも動作速度を250倍以上速くできた。

606 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 12:41:24 ]
補足:
速度250倍達成は、あと、
バイト単位で多倍長整数演算してたのを、
1ワード32ビット単位に変えたのも含めてだわ。

607 名前:デフォルトの名無しさん mailto:age [2006/12/27(水) 13:26:09 ]
おながいします(´・ω・`)

CADのプログラムですが、CADの掲示板で質問してるけど、3次元の幾何計算の話なので、あまり回答が返ってきません。
誰か助けてぇえええ!!

www.mura.sh/bbs/wwwbbs.cgi?print+200612/06120169.txt

608 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 13:52:38 ]
回答した人に失礼な話だ

609 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 15:42:41 ]
>608
そうはいってもあそこはCADユーザーの掲示板で、
プログラム関係はほとんどレスがつかないんですよ。(´・ω・`)
餅は餅屋ということで、こっちにも質問してみる。



610 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 16:54:00 ]
>607,609
マルチポストうぜぇよ。
見たら解答ちゃんと出てんじゃねぇか。
それを理解出来ないお前の頭までは救えねぇよヴォケ。

611 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 16:58:17 ]
>610
横のソリッドがX軸方向に伸びてるならいい。
しかしそれ以外の方向ならお手上げなんだけど。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<259KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef