C++による数学プログラムスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG主に
・解法のプログラム化
・計算ルーチンの最適化
・各種計算の近似方法
・各種数学ライブラリー
などで盛り上がるとうれしいです。
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG一番速いのはどれ?
0006デフォルトの名無しさん
NGNGプログラムスレ
0007じゅじゅ
NGNG0008デフォルトの名無しさん
NGNGhttp://www.nr.com/
アウェー C++
http://www.nr.com/cpp-blurb.html
0009デフォルトの名無しさん
NGNGBlitz++
TNT
を検討してます。
用途は、3Dソフトもどきの開発です。
どちらが計算精度や速度、機能的に優れているのでしょうか?
他にもあれば教えて欲しいです。
0010デフォルトの名無しさん
NGNGC++ 相談室のは「++」は何なのでしょう?
00111
NGNGその本って、日本語版も出てましたよね?
付いてくるライブラリがバグってるらしいから
買わなかったけど、上のアドレスで修正版が手に入るなら
買ってみようかな・・・。
0012デフォルトの名無しさん
NGNGhttp://www.nag-j.co.jp/IntelProducts/winMKL.htm
で決まり。
ただの受け売りだけど(汗)
0013デフォルトの名無しさん
NGNGプログラミングの為の数学と算数
http://pc3.2ch.net/test/read.cgi/tech/997150743/
★数学を禿げしく理解するスレinプログラム板★
http://pc3.2ch.net/test/read.cgi/tech/1029077872/
0014デフォルトの名無しさん
NGNGパパ倍制度でやっちゃうぞ〜
で、どうやんの?
0015デフォルトの名無しさん
NGNGとりあえず、「64ビット符号なし整数の加算・乗算を32/16/8
ビット整数型変数を用いて行う」あたりからやってみよう。
これは「手で行う筆算」と同様にすればすぐできるから、次
に減算と除算、そして符号の処理を入れてみる。
あとは、同様の方法でいくらでも桁数を上げられるね。
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG最速の行列計算関数うpして!
0018デフォルトの名無しさん
NGNGこれって読んだ人います?
0019デフォルトの名無しさん
NGNGなんでアセンブラ化するの?
処理をグラフィックカードとかに委譲しやすく実装するのが常識でしょう?
アセンブラ化した方が、グラフィックカードに処理を渡しやすくなるの?
0020デフォルトの名無しさん
NGNGC++ではレジスタを参照できないからだよ。低脳
0021デフォルトの名無しさん
NGNGずいぶん昔の書き込みにレスするもんだ。
0022デフォルトの名無しさん
NGNG4x4のマトリックスを格納できるクラス、CMatrixに
<,>,<=,>=オペレータを定義したいのです。
0023デフォルトの名無しさん
NGNG大小の基準はなんだ?
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNGそう言われてみれば、C++にはvalarrayあったっけ。
でもどのスレでもvalarrayについて書かれたレスなかったような。
この際ですから議論しましょう。
0027デフォルトの名無しさん
NGNGWindows上で任意精度整数(無限精度整数)を扱うライブラリって何が良いのでしょうか?
ネットで調べたところ、UNIX上で動くライブラリばかりでWin32環境で作動するライブラリがありません。
唯一NTLというライブラリが見つかったのですが、
任意精度整数だけでなくたくさんの機能があるためLIBのサイズが8MBもあります。
唐突な質問で申し訳ございませんが、ご存知の方いらっしゃいましたらよろしくお願いします。
NTLのサイト
http://www.shoup.net/
0028デフォルトの名無しさん
NGNGSTLの配列だYO!
基本的にvectorより早いから、使えるときには使おう。
0029デフォルトの名無しさん
NGNG上にもあるけど、小さいのがいいなら自分で作ったほうがいいかも。
四則演算程度ならスグできるだろうし、あとは必要に応じて
演算子を追加していけばOKだと思う。
俺も中学のときにBASICで無限精度の計算ルーチン作ったから、
落ち着いてやればきっとできると思う。
もしくはNTLを解読して、必要な部分だけ引っ張ってくるとか。
ソースは見てないけど、インライン展開が多いからLIBが大きいんじゃないかな?
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG多倍長整数クラス誰か作って。
んじゃ下以下の人、よろしく。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
003322
NGNG基準ですか。。。3x3なら、3つのベクトルの大きさを利用して
求めるのが手だと思ったのですが、4x4はさっぱり分かりません。
ようは、STLで使えるようにしたかったんです。
さすがにマトリックスをmapのキーとして使うような状況は想像できませんが
念のため、マトリックスクラスにオペレーター定義をしておきたいのです。
0034デフォルトの名無しさん
NGNG003522
NGNGそれはやってみましたが、行列式の性質とか実はよく知りません。
異なるMatrixが同じ行列式を持つことはあるのでしょうか?
0036デフォルトの名無しさん
NGNG003735
NGNGやっぱりそうかー。
16個の値を元にハッシュして出来た値を基準にして比較すれば
できそうだけど、数学的なマトリックスの大小関係では無いんですよね。
#そもそも、マトリックスに大小関係があるかどうかも知りません。
まぁSTLで使うだけなら「異なるマトリックスが同じ基準値をとることがない」
ってことだけクリアーできればOKだから、ハッシュでやってみるかな。
ハッシュテーブルのサイズがどれくらいになるか見当もつかないけど。
0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGどういった方法がありますか?
0041店長
NGNG例: R^2 と R の場合
a=0.1415926...
b=0.4142135...
f(a,b)=0.14411452912365...
で写像を作れば R^2 を全順序付けることは可能
http://www.google.com/search?num=100&hl=ja&ie=Shift_JIS&q=%8F%87%8F%98%8FW%8D%87+%91S%8F%87%8F%98+%94%BC%8F%87%8F%98&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0042デフォルトの名無しさん
NGNG004337
NGNG気遣いありがとう。
終盤になってコロコロと平気で話を変えるヘボSEのせいでマジで死にそう。
今月で終わればいいが。。。
0044デフォルトの名無しさん
NGNG004540
NGNG移動は
|1 0 0 0|
|0 1 0 0|
|0 0 1 0|
|x y z 1|
こんな感じです。
0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNG平行移動をパラメータとして扱うためには3x3じゃなくて
普通は4x4行列を使います。
詳しくは「宇治杜中」ってサイトでどうぞ。3D野郎は既知だろうけど。
0048デフォルトの名無しさん
NGNG特に意識する必要はないと思うけど・・・。
どんなルーチンを考えていますか?
005122
NGNGうーんと、わたしもよく分からないんですが(^^;
これは線形代数とかの分野になるんでしょうか?
明日にでも大きい本屋に行って買ってきます。
0052デフォルトの名無しさん
NGNGじゃ純粋な回転は?
005340
NGNG回転順がXYZだとすれば、Rが回転Matrixです。
3x3と一緒です。
R = Rx * Ry * Rz
| 1 0 0 0 | = Rx
| 0 cx sx 0 |
| 0 -sx cx 0 |
| 0 0 0 1 |
| cy 0 -sy 0 | = Ry
| 0 1 0 0 |
| sy 0 cy 0 |
| 0 0 0 1 |
| cz sz 0 0 | = Rz
| -sz cz 0 0 |
| 0 0 1 0 |
| 0 0 0 1 |
sx = sin(RotateX), sy = sin(RotateY), sz = sin(RotateZ)
cx = cos(RotateX), cy = cos(RotateY), cz = cos(RotateZ)
0054デフォルトの名無しさん
NGNG| 0 y 0 0 |
| 0 0 z 0 |
| 0 0 0 1 |
H =G(x,y,z)* Rx(φ1)*Ry(φ1)*Rz(φ1)*MOVE(x,y,z)
と分解したいって事だね?
005540
NGNGScale * Shear * Rotate * Translate
とやるのが普通だと思うのですが、
Scale = ScalePivot * Scale
Rotate = RotatePivot * Rotate
を前処理でやらせる感じでしょうか。
※ScalePivotとRotatePivotの行列は、Translateと同じ形です。
005640
NGNG0057デフォルトの名無しさん
NGNG次に回転行列を 任意ベクトルに積しても大きさは変化しない
|a0,b0,c0| ---> (a0^2+b0^2+c0^2)=1
|a1,b1,c1| ---> (a1^2+b1^2+c1^2)=1
|a2,b2,c2| ---> (a2^2+b2^2+c2^2)=1
もし変化したなら、その変化分は伸張によるとすれば求まるのでは?
005840
NGNG>任意ベクトルに積しても大きさは変化しない
これ知りませんでした。(もしくは完全に忘れたか)
TranslateとScaleは取得できました。
RotateをRotateX,RotateY,RotateZに分解するには
どうすればいいでしょうか?
0059デフォルトの名無しさん
NGNGそれだとa+biとa-biの大小はどうなるの?
0060デフォルトの名無しさん
NGNGその順に分解したいなら
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/999294620_53/IMG0002.JPG
でも必ず分解出来るかどうかは判らない
006140
NGNG「でも必ず分解出来るかどうかは判らない」ってのは
ちょっと嫌だな・・・。
たとえばどういう場合に分解できなくなります?
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNG実効性のあるFFT導入くらいはやらないとお勉強以上の意味はない。
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG#include <float.h>
#include <stdio.h>
unsigned int_controlfp(unsigned int,unsigned int);
#define UP _controlfp(_RC_UP,_MCW_RC)
#define DOWN _controlfp(_RC_DOWN,_MCW_RC)
#define NEAE _controlfp(_RC_NEAR,_MCW_RC3)
class Interval
{
double min,max;
public:
Interval(double a= 0);
Interval(double a,double b);
void Print(void);
friend Interval operator+(const Interval &x, const Interval &y);
friend Interval operator-(const Interval &x, const Interval &y);
friend Interval operator*(const Interval &x, const Interval &y);
friend Interval operator/(const Interval &x, const Interval &y);
};
0067デフォルトの名無しさん
NGNGとfriend Interval operator+(const Interval &x, const Interval &y);
の意味がわからない 教えてください
0068デフォルトの名無しさん
NGNG#define UP _controlfp(_RC_UP,_MCW_RC)
#define DOWN _controlfp(_RC_DOWN,_MCW_RC)
#define NEAE _controlfp(_RC_NEAR,_MCW_RC3)
で、0捨1入、上、下への丸めの指定でした。
すいません。
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG#include <cfloat>
#include <cstdio>
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG0075デフォルトの名無しさん
NGNG0076
NGNGC++はどう見ても連続じゃなさそう
そうなると自明に微分不能に・・・
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNG(だろうか?)
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG0082中卒
NGNG0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNG0085デフォルトの名無しさん
NGNG. | `ヽ、 ,..l-―''Z-‐''Z._,.-( ___,
. ト、| ヽ`く ト、 ´ ′ `´ ∠_.ィ
| | l ヽl `i ´ ム_.ィ
l. | l l i |::.............._ { C++の野郎は気にくわねぇ!
'、ー-ゝ、l. |i l l| l |l:::::::::::::::::`'ーz__ |
ヽ. ミ>‐ッ、|,ィ-‐ッへィ-‐''¨了:::::::ーz ム 徹底的に反逆するぜ、
、_ヽ、ミ/ / / /,.--―、`'j::::::::ーz 了
ヽ、 ̄7´, イニミ-、i l /-┘jニ..⌒` }:::::::<_ ノ この「VisualAgeCOBOLのカズマ」がな!
ヽ/∠_ミヽ/⌒〉 l/''¨ス pゝ `'j::iへ、Z ぐ ト、
// .`ー}`フ l `'''  ̄'''" jリ ヘ }Z /^ | lヽ
/ .| \ __ r'フ /了/ | .|::|
l l ̄――v`i 「ーt'´::::/^ .} |::|
ヽヽ ,.-‐-‐ー} /|__,,..ルヘL__ ノ .|::|
ヽ`、_,,,,,__ノ_,,. -‐'¨´ _,.,.,.,.,.,.,,ヽ / ノミl
_,,..〉-‐'',ニ¨-―-、''""" 〈 / /ミ/
_,.-‐''¨ ,.-‐'¨フ´ `ヽ ∨ /ミ/
`'ー、 y′ / ミへ.._ ヽ/ミ/
`ーィ ゝ, ミく 人二ヽ li/
0086見るなー
NGNG微分トポロジーは?
■ このスレッドは過去ログ倉庫に格納されています