タグ

programmingとmathに関するkenjiro_nのブックマーク (6)

  • 数値計算の研究をしている学生が"数値計算に潜むとんでもないリスク"について話してみる - Qiita

    筆者は「精度保証付き数値計算」という分野で研究をしている大学院生です. 「数値計算は分かるけど」「精度保証付き数値計算?ナニソレ?」という方がほとんどだと思います. 「精度保証付き数値計算」の研究自体は30年ほど前から盛んに行われていますが,世間に浸透しているとは言えない状況です. 自分の研究分野が世間に知られていないのは何か少し寂しい感じがするので「精度保証付き数値計算」を少しでも広めるべく記事を投稿することにしました.(シリーズ化するかも知れません) 日は「精度保証付き数値計算」というワードだけでも覚えていただければ幸いです. 今回は"数値計算に潜むとんでもないリスク"に関してカジュアルにお話します. そして筆者の研究分野である「精度保証付き数値計算」の必要性を知ってもらえればなと思います. この記事を読み終える頃には計算機を信頼できなくなっているかも知れません(笑) ※不安を煽るこ

    数値計算の研究をしている学生が"数値計算に潜むとんでもないリスク"について話してみる - Qiita
  • ループ、再帰、gotoを使わずに1から100までを印字するC++プログラムは書けますか?

    回答 (11件中の1件目) 追記 再帰のルールをよく理解してませんでした。 分かりやすい例として載せておきます。 [code]#include template struct print { print() { std::cout << N << std::endl; } }; template struct Print { Print() { Print(); print(); } }; template<> struct Print<0> { Print() {} ...

    ループ、再帰、gotoを使わずに1から100までを印字するC++プログラムは書けますか?
  • 配列のインデックスは1始まりのほうがバグが少なくなる

    これ豆な

    配列のインデックスは1始まりのほうがバグが少なくなる
    kenjiro_n
    kenjiro_n 2017/04/08
    1件目から100件目の次として101件目から200件目までを取得するというたぐいの処理で面倒くさいと思わない?
  • いつからその方法で偏りのない乱数が得られると錯覚していた? - アスペ日記

    私はつい最近まで勘違いしていました。 ここのページに書いてあるような方法で、一様分布する整数が得られると。 int random(int n) { return (int)(( rand() / (RAND_MAX + 1.0) ) * n); } この方法、一見すると実に一様分布が得られそうに見えるんですよね。 どういう思考回路を通っているかというのを自己分析すると、次のような感じです。 1. rand() では 0〜RAND_MAX のランダムな整数が得られる。 2. それを RAND_MAX + 1 で割ると、[0, 1) に一様分布する実数が得られる。 3. [0, 1) の一様な実数を n 倍して小数点以下を切り捨てたら、0 から n-1 に一様分布する整数が得られる。 これの罠なところは、1 と(特に)3 が正しいというところだと思います。 ただ、2 がダウト。 思いっきりダウ

    いつからその方法で偏りのない乱数が得られると錯覚していた? - アスペ日記
  • 平面幾何におけるベクトル演算

    ここでは,ACM/ICPC頻出の平面幾何について,基的なベクトル演算を解説します。 最後にライブラリとしてソースコードを載せているので番では印刷して持っておくとよいでしょう。 ベクトルの基礎 デカルト座標系とユークリッド空間 スカラーとベクトル 点とベクトル ベクトルの和と差 ベクトルの利用 complex型の導入 絶対値,2点間の距離,単位ベクトル 法線ベクトル,単位法線ベクトル 内積と外積 内積・外積 2直線の直交判定・平行判定 点が線上にあるかないかの判定 直線と線分 直線と点の距離 線分と点の距離 線分の交差判定 線分の交点計算 直線の交点計算 ソースコード $Id: index.shtml 1825 2007-09-23 00:35:10Z SYSTEM $

  • 平面幾何におけるベクトル演算 » 直線と線分

    で求まります(ここで |x×y| は実数に対する絶対値, |x| はベクトルに対する絶対値と「絶対値」の意味が異なっている点に注意してください)。 コーディングは以下の通りです*1: // 点a,bを通る直線と点cとの距離 double distance_l_p(P a, P b, P c) { return abs(cross(b-a, c-a)) / abs(b-a); } 線分と点の距離 今度は線分と点の距離を考えてみましょう。 距離としてどのような値が欲しいのか,というのは問題依存なのですが, ここでは一般的な距離の定義に従って,点から「線分のどこか」への最短距離としてみます。 そうすると,線分 ab に垂直な直線で点 a を通る直線と点 b を通る直線に囲まれた領域(下図の左の赤色領域に相当)にある点であれば, 点から直線 ab への垂線が最短距離になります。 また,点 c がこ

    kenjiro_n
    kenjiro_n 2009/12/09
    というほど込み入った算法ではないけれど。
  • 1