638-849

416-637 subjects 833-1028

^ Rational の高速化
0638 [GEC01122 nif] 早速入手して拝見しました。大変参考になりました。

^ Rational の高速化
0639 [GEC01122 nif] 色々試してみた結果 gcd,reduce,new,Rational 位を C で書けば充分みたい

^ APRCL primality test
0640 [kdm kobe-kos] 直接には ruby-math の話題では無いのですが,

^ Field of Ruby/Mathematica
0641 [daisu-ik is.] いけがみと言います。作っている Ruby/Mathematica の話題を振らせて下さい。

^ Bugnum の積
0642 [kdm kobe-kos] Bignum の積 * に対抗した積をスクリプトで作ってみました.
0643 [kdm kobe-kos] 訂正.

^ NMatrix.parse
0644 [rubikitch ru] NMatrixで行列の指定をMATLABライクに行うNMatrix.parseを書いてみました。

^ Re: Forward: inconsistence in class complex
0645 [keiju ration] ruby-mathに行きます.
0646 [masa ir.isas] 削除賛成です。利用者としてはあってもなくてもいいんですが、
+ 0647 [daisu-ik is.] real part が @real だから、4文字で揃うのはいいですね。
| + 0648 [daisu-ik is.] Numeric が持つ
| | 0651 [kdm kobe-kos] Real に対する Integer と同様に
| + 0649 [gotoken notw] Comparable でなくなる点について Cris は OrderedNumeric を導
| | 0650 [daisu-ik is.] や、僕はそういったことを知りませんでした。%(..
| + 0652 [keiju ration] うーん. わからんでもないです.
+ 0657 [keiju ration] 進みが遅くて申し訳ない.
  0658 [masa ir.isas] 結構です。
  0659 [keiju ration] はい.
  0660 [masa ir.isas] わかりました。使ってみてからまた考えます。
  0661 [keiju ration] どうもです.

^ GMP Floating-point and Fast Automatic Differentiation
0653 [tayamagu num] 多倍長浮動小数点数(可変長)をrubyで使用したいと考えてます.
0654 [daisu-ik is.] BigFloat library はいかがですか。
0655 [tayamagu num] 紹介ありがとうございます. BigFloatも試してみたいと考えてます.

^ Re: [ruby-dev:16457] 今時の  "Algebra"
0656 [sinara blade] う、うっかり、ruby-dev に流してしもた。

^ gcd in rational.rb
0662 [t29x0595 ip.] rational.rbやmathn.rbの中にあるgcdなのですが、
0663 [sinara blade] mathn.rb のってのは、Integer#gcd2 ですね。これは因数分解
+ 0664 [daisu-ik is.] あてずっぽなので、信用してほしくないのですが、
| 0665 [sinara blade] 今読み返したら、私の N.gcd(N) のテストってのは、極端すぎてあまり
| 0666 [t29x0595 ip.] ご返答ありがとうございます。
+ 0667 [sinara blade] あ、mathn.rb は rational.rb を require してるので、
+ 0668 [keiju ration] ために作ってみただけですね. そんなものをmathnの先頭においておくのは何な
+ 0669 [sinara blade] あれ、とんちかんな事言ってるな。while がブロックを取るわけ

^ power
0670 [sinara blade] matrix.rb で ** の定義の中で
+ 0671 [t29x0595 ip.] 指数が0の時は、逆行列を先に計算すると勿体ないような気がします。
| + 0672 [sinara blade] ああ、確かに 0 の時はもったいないですね。
| | 0674 [t29x0595 ip.] 先ほどは行き違いで、同じようなことを書いてしまいました。
| | 0675 [sinara blade] ああ、これは私が書いていたのと一字一句同じです。
| | 0677 [sinara blade] と、思ったのですが、これも [ruby-math:00671] のコードも最後
| | 0679 [GEC01122 nif] 私は次のようにしています。
| | 0681 [sinara blade] やっぱり少しは違いますね。でも今回の場合、呼び出しの深さは
| | 0683 [t29x0595 ip.] 実用上スピードが求められるのは、行列が大きいときだと勝手に仮定すると、
| + 0673 [t29x0595 ip.] 書いてはみたものの、あまり速くないですね。
+ 0676 [keiju ration] ども.
  0678 [sinara blade] そうです。これはこれでいいと思います。

^ complex#/ problem
0680 [keiju ration] Matrix#detやMatrix#inverseの時に気が付くべきでしたが, Complex#/でも同様
0682 [sinara blade] やっぱりこれって Int/Int -> Rational と連動するんじゃないかなあ。
0684 [keiju ration] かなぁ... じゃなくてぇ. でも, 原さんは int/int->int派だったはずでしたが
0685 [sinara blade] いや、だから今回の案には私は反対なのです。
0686 [keiju ration] そうだったのかぁ(^^;;;
+ 0687 [sinara blade] 5. Matrix については 1. で、Complex は 3.
| 0692 [GEC01122 nif] 私の意見はいうまでもないと思って黙っていましたが、勿論賛成です。
| + 0694 [sinara blade] 固執してないですよ。固執してるとしたら、/ が Integer に対して
| + 0703 [keiju ration] でしょうね(^^;;;
+ 0688 [masa ir.isas] これに、other が Integer の Complex の場合の処理も
  0689 [keiju ration] えっと. otherがComplexでその実数部と虚数部が整数の時ってことですよね?
  0690 [masa ir.isas] あ、なるほど。失礼しました。

^ int/int [Re: complex#/ problem]
0691 [keiju ration] とりあえず. 後半だけにしぼって.
0693 [sinara blade] だいたい、そういう事です。
+ 0695 [daisu-ik is.] ruby 1.6.7 の bignum.c の rb_big_eq を見ると
| 0696 [matz ruby-la] なるほどそこが問題なのね。ほかのnumeric同様にfalseを返すので
+ 0697 [t29x0595 ip.] require "mathn"
  0698 [daisu-ik is.] それは、 mathn を require すると
  0699 [t29x0595 ip.] なるほど。
  0717 [daisu-ik is.] blade の namazu で検索しても PEP 238 がでてこなかったので、
  + 0719 [keiju ration] 心強くなりますね(^^;;
  + 0730 [sinara blade] 見てみました。Python は、さしあたって int/int -> float に
    0732 [matz ruby-la] 「float は real の近似」も「Rational が導入された時点で
    0734 [sinara blade] 多分 int/int -> float に耐えられない難民がたくさん出て
    0735 [daisu-ik is.] Python では // を切り下げ演算として残すらしいので、

^ Re: int/int [Re: compl
0700 [GEC01122 nif] 私の発言が反発を招いてしまったのなら残念です。
+ 0701 [sinara blade] これって、
| + 0704 [keiju ration] ちなみに, Smalltalkでは
| | + 0706 [GEC01122 nif] Unify=true を default にしたら? という意味です。
| | | 0707 [keiju ration] 常にってことです?
| | | + 0708 [matz ruby-la] そういうことです。もっとも「数学的きれいさ」を実現したいわけ
| | | + 0722 [GEC01122 nif] 例えば int/int -> int ならば
| | + 0713 [sinara blade] え、そうですか?「ボクこの前使いました」じゃ根拠にならないか。(^^;
| |   0720 [keiju ration] いや. ないとはっていません. 身近な話では, 2分検索とかありますので.
| + 0705 [GEC01122 nif] 正確にいうと、 int/int -> int の立場を取れば、当然
+ 0702 [keiju ration] 私もこれを聞きたいですね.
  0714 [sinara blade] まさに「体も Euclid 整域とみなす」ってことです。

^ Scalar class?
0709 [matz ruby-la] Integer#stepってメソッドがあって
+ 0710 [daisu-ik is.] まつもとさんのご指摘のように、#step を
| + 0711 [daisu-ik is.] さきほどのメールに書いたことをまとめると、僕の意見は、
| + 0715 [matz ruby-la] そうなんですか。そのような条件が必要だろうとは思っていて、そ
|   0721 [keiju ration] えー. 名は体を表すべきなので.
|   0723 [matz ruby-la] ま、それは納得できる主張ではあります。
|   0728 [keiju ration] 名前にこだわるまつもとさんとしてはね(^^;;
|   0729 [matz ruby-la] んじゃ、そういうことで。complex.rbでstepをundefしときますね。
+ 0712 [masa ir.isas] Floatの場合、こう書くのと idx に誤差が積もっていくとか
  0716 [daisu-ik is.] この場合、 n は (positive) Integer あるいは、to_i が意味を持つ場合に
  0718 [masa ir.isas] n は繰り返しの回数なので、非負の整数に限定しています。

^ $BBjL>K:$l$G$9 (^^;
0724 [GEC01122 nif] 正木です。
0725 [matz ruby-la] えーと、「離散的な順序に限った方が良い」っていうのはstepは
0726 [masa ir.isas] 私は離散的うんぬんというよりは、一般的な step は
0727 [matz ruby-la] それはあると思います。Floatに関して誤差が拡大しない扱いを行

^ $BBjL>K:$l$G$9 (^^;
0731 [GEC01122 nif] 正木です。
0733 [matz ruby-la] 誤差を含むFloatに「数学的な整合性」は常には期待できないのでは?

^ $BBjL>K:$l$G$9 (^^;
0736 [GEC01122 nif] 正木です。
+ 0737 [masa ir.isas] 0.0.step2( 11.7, 0.9 )
+ 0738 [matz ruby-la] そうなんでしょうか。naiveな実装では大きな誤差が出てしまう

^ $BBjL>K:$l$G$9 (^^;
0739 [GEC01122 nif] 正木です。

^ Re: Fixes for the new step methods in the range.c & numeric.c
0740 [matz ruby-la] 以下のようなメールがruby-talkに来たのですが、私にはどこがどう違うのか
0741 [masa ir.isas] 英語にするのが面倒なのでこっちに書きます。

^ Re: [ruby-dev:17021] Re: 標準添付案
0742 [horinout kur] 作者の田中さんが、ruby-dev に入ってないとか?

^ Re: [ruby-list:35091] Re: Y Combinator
0743 [gotoken notw] # マニアックなので ruby-math に持ってきました。
+ 0744 [ttate kt.jai] 僕ですね.
+ 0745 [sinara blade] そういえば、ごとけんさんの専門に近い話ですよね?
  + 0746 [sinara blade] いやあ、だからいい加減な話だって言ったでしょう?
  + 0747 [ttate kt.jai] 不動点定理っていろいろあるんですね.他にもあるのでしょうか?
    0748 [gotoken notw] 多分もっともよく知られてるのはいわゆる縮小写像の定理でしょう。
    0749 [sinara blade] やっぱり、不動点定理というと「球体上の連続変換は不動点を持つ」と

^ $BBjL>K:$l$G$9 (^^;
0750 [GEC01122 nif] 正木です。
0751 [sinara blade] F, V はある category のオブジェクトで、「写像」を射と考えます。

^ $BBjL>K:$l$G$9 (^^;
0752 [GEC01122 nif] 正木です。

^ [Q]Gamma & Zeta functions
0753 [mas star.le.] 今、Ruby で、Γ関数と Riemann の ζ関数とを使いたいと思っています。
0754 [GEC01122 nif] Real Class の修正が重なったのと、自分で使っていて、ある程度実用的になった
0755 [GEC01122 nif] [ruby-math:00754] での

^ hash of Rational
0756 [GEC01122 nif] ある計算中に次のような error が出ました。
0757 [keiju ration] 了解. Complex#hashも同じですので, そちらも直します.
0758 [matz ruby-la] そっちはすでに直っているように思います。
0759 [keiju ration] なおっていますね. 松本さんがチェックインしている気がしますね.
0760 [akr m17n.org] 指摘したのは私です。
0761 [keiju ration] なるほど. でも, 変更の理由は違うんですね.
0762 [daisu-ik is.] Rational だと、reduce してから hash をとらないと同一性が保証できません。
0763 [keiju ration] 正確には同一性ではないですね. 同値性でもないし, 何と呼ぶべきでしょうね...

^ 
0764 [matsushita k] 楕円弧の短径・長径・中心座標を求めたいのですが
0765 [gotoken notw] # どこらへんが ruby-math かはともかくとして

^ 楕円弧の決定 (Re: )
0766 [kdm kobe-kos] 条件が少ないので, 楕円弧が確定しないと思います.
0768 [toyofuku jui] 条件が足りなそうのは皆さんが書かれているとおりなので少し

^ 
0767 [matsushita k] 早速のお返事をありがとうございます。

^ 
0769 [matsushita k] 豊福様、どうもありがとうございます。

^ Miller-Rabin Algorithm
0770 [hironobu h2n] Miller-Rabin法という確率的に素数かどうかを判定するアルゴリズムをRubyの

^ Bignum#div
0771 [GEC01122 nif] ruby 1.7.3 (2002-10-04) [i686-linux] を使ってみました。
0772 [matz ruby-la] 追加します。

^ Rational#to_f
0773 [GEC01122 nif] 前にも書きましたが、現在の Rational#to_f は(round,ceil,floor も)
0785 [GEC01122 nif] [ruby-math:00773] での Rational#to_f に
0786 [keiju ration] ごめんなさい. 気にはなってはいたのですが...
0788 [GEC01122 nif] 私は逆に出来るだけ Float の実装に依存しない書き方の方が良いと思いますが。
+ 0790 [keiju ration] あ. 正木さんのコードを見ていて気が付きました. 分母や分子がfloatにする
+ 0791 [GEC01122 nif] と書きましたが、 Float の除算が予想以上に信用出来ないことが分かりました
  0792 [GEC01122 nif] 石塚さんの code 拝見しました。([ruby-math:00790] Re: Rational#to_f )
  + 0794 [keiju ration] うーん. 難しいなぁ...
  | + 0797 [GEC01122 nif] 64 bit Float の構成は
  | | 0798 [shudo comput] これは IEEE 754 の倍精度数のパラメータです。
  | | + 0799 [akr m17n.org] 昔、
  | | + 0800 [akr m17n.org] では C 言語前提ならなにが使えるかというと、
  | |   0803 [keiju ration] マジックナンバーといえば
  | |   0807 [matz ruby-la] 了解です。<float.h>って普遍的なんでしたっけ。
  | |   0808 [akr m17n.org] ANSI C ならば。
  | + 0809 [GEC01122 nif] やはり機種依存の code はまづいので、石塚さんの code を少し書き直した
  |   0811 [keiju ration] 妙にエレガントですね(^^;;; これにしようと思います.
  |   0812 [GEC01122 nif] どんな Float の実装があるか分からないのでなんとも言えませんが、
  + 0795 [GEC01122 nif] これは勘違いでした。
    + 0796 [matz ruby-la] がーん。
    | 0804 [GEC01122 nif] しゅどうさんの
    | 0805 [GEC01122 nif] ruby 1.7.3 (2002-11-07) [i686-linux] で色々試してみた結果から
    + 0801 [matz ruby-la] ところで、size==4でFixnumかどうかを判定しているようですが、
      0806 [GEC01122 nif] class Numeric
      0810 [keiju ration] 私も組み込みになると良いと思います. これって, (正の)Integerの実際のビッ

^ Forward: matrix.rb bug
0774 [matz ruby-la] 以下のような報告が来たのですが、どうなんでしょう?
0775 [keiju ration] えー. これは例の, 1/2 = 0 の副作用ですね.
0776 [matz ruby-la] なるほど。でも、
+ 0777 [daisu-ik is.] 件の determinant は 50 で、 -50 ではないです。
| 0778 [daisu-ik is.] 思いつくままに書いてみました。
| 0779 [daisu-ik is.] Fugal さんは本文で書き写し間違えてることに気がつきました。
+ 0780 [kdm kobe-kos] .....略
+ 0781 [keiju ration] 他にもいろいろメイルが飛んでいますが, これだけにリプライします.
  0782 [matz ruby-la] そうなんですか。
  0783 [keiju ration] ふーん. なるほど...
  0784 [matz ruby-la] 具体的な実装方法はまだ考えていませんでした。

^ Float#to_rational
0787 [GEC01122 nif] Float が(現在の実装で)表現している数値は
0789 [GEC01122 nif] Float#error の訂正です:
0793 [GEC01122 nif] [ruby-math:00789] Re: Float#to_rational で
0802 [shudo comput] 正木さんは、x86 プロセッサが載ったマシンをお使いだということが判ります。

^ Bessel関数
0813 [Masahide.Kik] きっかわともうします。
+ 0814 [rubikitch ru] るびきちです。
+ 0815 [matz ruby-la] 特殊というかなんというか、これらの関数はPOSIXにはあるので提
  + 0816 [akr m17n.org] FreeBSD のマニュアルには
  | 0817 [matz ruby-la] Linuxのmanには
  | + 0818 [akr m17n.org] もうちょっと調べてみました。
  | | 0819 [matz ruby-la] ですねえ。一番簡単な確認法は問答無用で突っ込んでみることだっ
  | + 0820 [hironobu h2n] 新参者が口をはさんですいません。
  + 0821 [Masahide.Kik]  Rubyは、いろいろな環境で動くだけに互換性に気を使わなければ

^ -3**2 == 9 ?
0822 [GEC01122 nif] [ruby-math:00773] Rational#to_f
0823 [matz ruby-la] ソースを見ると1.6でごちゃごちゃやってたのが1.8ではすっきりし
0824 [matz ruby-la] 分かった。1.6では"-3"を数値リテラルとして解釈してから、**の
0825 [matz ruby-la] ruby-devにCCします。
+ 0826 [GEC01122 nif] -1.5.floor ==  (-1.5).floor
| 0827 [matz ruby-la] 実際には「-3」をひとかたまりに認識してこの優先順位を期待する
| 0828 [GEC01122 nif] 数学の習慣では単項マイナスの優先順位は乗算よりは下です。
+ 0829 [akr m17n.org] 時期を逸してしまった感がありますが...
  0830 [matz ruby-la] もうちょっと具体的にお願いします。ちょっと考えたんですが、よ
  0831 [akr m17n.org] まず、どういう挙動にしたいのかという仕様が問題でしょう。どうもそのへん
  0832 [matz ruby-la] まったくです。いや、矛盾の少ない仕様がそうそうあるわけではな
  0834 [akr m17n.org] 仕様が複数出て来る程に人的資源が潤沢なわけではないようで。
  0835 [matz ruby-la] そのようですね、まあ、しょうがない。
  + 0836 [keiju ration] でもないんじゃないかな... 単項演算子`-' とか(+)はなくして, リテラルだ
  | 0837 [matz ruby-la] となると、符号の反転のためには演算子ではなく.negateのような
  | 0840 [keiju ration] でも, '-'単項演算子をなくすってのは, やり過ぎかも(^^;;; 逆に ** をなく
  | + 0841 [matz ruby-la] あ、やっぱり?
  | | 0842 [keiju ration] いや. 私は, '**'演算子あった方がいいんですけどね(^^;;; 冪演算子が定義
  | | 0844 [daisu-ik is.] いけがみです。'**' 演算子はあったほうが嬉しい派。
  | | + 0845 [hironobu h2n] exp modulo n には、普通はsquare-and-multiplyというアルゴリズムを使いま
  | | + 0847 [keiju ration] いや. そうだとは思ったんですが, そんなに需要があるとは想像できなかった
  | |   0848 [matz ruby-la] 公開鍵暗号では大きい数値を扱うので良く使われるのだそうです。
  | |   0849 [keiju ration] ほー. なるほど...
  | + 0843 [keiju ration] 話は戻りますが.
  + 0838 [akr m17n.org] 考え方を知るためのネタとして出したので、とくに採用すべきだというわけで
    0839 [matz ruby-la] あ、もちろん。
    0846 [akr m17n.org] merd では
threads.html
top