416-637

193-634 subjects 638-849

Re: Numeric.new
0416 [fit0298@fi e] n + Numeric::Zero == Numeric::Zero + n  #=> true
+ 0417 [gotoken@ma h] なんか僕がネタ(?)みたいなので出て来ました ^^;;;
| + 0418 [daisu-ik@is ] 作ろうとする数のクラス(Numericのサブクラス)が可換環だったら,
| | + 0419 [daisu-ik@is ] 僕がわかってないだけなのかもしれませんが,
| | | + 0420 [gotoken@ma h] 僕がZEROの必要性として出している例は、Enumerable#sum です。
| | | | + 0424 [kdm@ko e- os] 1変数多項式の実現で ARRAY を係数列とみなした場合とか.
| | | | | 0425 [kdm@ko e- os] Cマガジンは読んでいないから, 要点を外しているかな?
| | | | + 0430 [sinara@bl de] 同感です。っていうか、数学的にはcoercingなんか必要ない。(^^;
| | | |   0432 [kdm@ko e- os] 良く分からない.
| | | |   0433 [matz@ze ab t] 原理的にはできます。たとえばObjectとFixnumとか。
| | | + 0429 [sinara@bl de] 私はこの前のライブラリでは迷った末、ZpをNumeric下においてしまいました。
| | |   0431 [rubikitch@ru] るびきちです。
| | + 0421 [gotoken@ma h] ひとつは、同一視の方法を明示することですかねえ。
| | + 0428 [sinara@bl de] いやここで必要なのを可換性じゃなくて結合性ですね。(^^;
| |   0434 [sinara@bl de] と言ってみたものの結構大変でした。おかげで新バージョンでは多変数多項式環を
| + 0427 [sinara@bl de] 私も、まさにこの「self.type::Zero」というのが、多用されそうな
+ 0426 [sinara@bl de] ruby-list がいいかと思ったのですが、、、この際ここでやりますか。

Re: A subtle Hash bug
0435 [matz@ze ab t] Oops, quick hack patch is attached.

FYI. 計算機代数 Lecture note
0439 [kdm@ko e- os] Risa/Asir の野呂正行さんの計算機代数についての lecture note が出ています.
0440 [sinara@bl de] ああ、興味深いですね。
+ 0443 [kdm@ko e- os] 申し訳ない.
+ 0445 [kdm@ko e- os] 今, 野呂さんのコメントが来たので入手方法をまとめてみます.
  0446 [sinara@bl de] 今日橋本さんにメールしたら、すぐ送っていただけるとの事でした。(^^

Algebraic Systems
0442 [sinara@bl de] 新しい polynomial ライブラリを
0452 [sinara@bl de] polynomial-1.80.tar.gz を置きました。
+ 0453 [rubikitch@ru] るびきちです。
| 0454 [sinara@bl de] 「RDtool がなかったら私は…が書けなかった」という言い回しを良く聞く
+ 0455 [sinara@bl de] 英語マニュアルも書いたので、http://www.ruby-lang.org/en/raa.html#Algebra
  0456 [rubikitch@ru] るびきちです。

sin(hoge) -> hoge.sin
0448 [horinout@ku ] ベクトルや行列など、数値を要素に持つクラスを定義した場合、要素毎
0449 [matz@ze ab t] fallbackを用意することそのものには反対しないのですが(という
0450 [horinout@ku ] # ruby-math だけの話でなくなって来たように思いますので、

Fw: [rubyist:0594] Numeric
0457 [zn@mb .n ft ] このような話があるのですが、どなたか
0458 [masa@st rs g] 以下のはどうでしょ。IntegerとFloatしか想定してませんが。
0459 [masa@st rs g] げげ。gsub("符合","符号")です。ついでにRDにしました。
0460 [zn@mb .n ft ] に取り込みました。

FW:  Re: class Real
0463 [masao-k@a- e] どもっ。

NArray#==
0464 [rubikitch@ru] NArrayを使っていてかなりひっかかるところがありました。
0465 [rubikitch@ru] 自己レスです。
0467 [masa@st rs g] うーむ、そうですか。要素同士の比較結果を配列で返す、という現状の
+ 0469 [keiju@is it ] ここはRubyの世界なんだからRubyでどうなっているかに従うべきでしょう. ==の
| 0470 [masa@st rs g] もちろん無闇に変えるべきではべきではないと思いますが...
| 0472 [matz@ru y- a] 他にとは「a == b が『aとbが等しい』という意味でないことによ
| 0473 [masa@st rs g] おっと、すみません。
| + 0474 [rubikitch@ru] るびきちです。
| | 0476 [masa@st rs g] 後者は [true, false] ですね?
| | 0478 [rubikitch@ru] ぐはっ、その通りです。
| | 0481 [masa@st rs g] 「文字列を破壊的に変更」でやろうとしたことですね。
| | 0482 [rubikitch@ru] るびきちです。
| + 0475 [daisu-ik@is ] assert_equal のためだけに限らず、
| | 0477 [rubikitch@ru] るびきちです。
| | 0479 [daisu-ik@is ] 本論とは別に、少しだけ気になったので。
| | 0480 [masa@st rs g] あってます。これは比較と四則演算にあてはまります。
| + 0483 [matz@ru y- a] 今の仕様だと == は常に真を返すわけで、それは外見から期待され
|   0484 [keiju@is it ] なんか, 私がいない間にだいぶ進んでいますが...
|   + 0485 [matz@ru y- a] おおっ、なつかしい。原案者なのにすっかり忘れてました。
|   + 0486 [masa@st rs g] 残念ですけど、現状のNArray#==は NArray#eqに変えることにします。
|     0487 [matz@ru y- a] というか、要素ごとの比較結果を単一のbooleanに変換することは
|     0488 [masa@st rs g] いえ、比較結果は boolean の配列になるので (今はbyteだけど)、
|     + 0489 [daisu-ik@is ] たとえば、Ruby を中間言語にして、
|     | 0493 [masa@st rs g] それは魅力的ですが、
|     | 0495 [rubikitch@ru] るびきちです。
|     | 0497 [horinout@ku ] 比較演算メソッドの名前ということでしたら、Fortran 式に
|     | + 0498 [rubikitch@ru] るびきちです。
|     | + 0499 [horinout@ku ] すみません。両方メソッドにする場合名前をどうするかということです
|     | | 0500 [rubikitch@ru] るびきちです。
|     | | 0501 [horinout@ku ] なんぼなんでも... ^_^
|     | + 0502 [masa@st rs g] 昨日リリースしたNArrayでは、そうしました。
|     + 0490 [matz@ru y- a] 分かるような分からないような、です。簡潔だというのはまあ当然
|     | 0492 [masa@st rs g] NArrayでは比較演算子を条件式に使わない、ということではだめでしょ
|     | 0494 [matz@ru y- a] 絶対駄目だとは言いませんが、必ず引っかかる人が出るので、どこ
|     + 0491 [keiju@is it ] んー. 私は、このぐらいならまあいいんじゃないかと思うんですけど, 大小比較
|     + 0496 [horinout@ku ] 出張に出てましたので、亀レスですみません。
|       0503 [masa@st rs g] (a < b) & (b < c) は期待どおりの結果を返します。ただし括弧を忘れ
+ 0471 [rubikitch@ru] るびきちです。

LU decomposition for matrix.rb
0504 [daisu-ik@is ] [ruby-list:30703] で提案した LU 分解について補足します。
0505 [yoshiki@cr p] 最初の池上さんの提起(割算、小数・分数問題)とは少し外れるかも
0506 [daisu-ik@is ] さっきのメール [ruby-math:00504] でまちがいをやらかしました。

Quaternion
0507 [moriq.kazuhi] どなたか Quaternion の Ruby 実装を書かれたことありますか?
0575 [moriq.kazuhi] 書いてみました。Ruby/SDL で何かぐりぐり(?)してみたいな。

Forward: Re: Ruby as opposed to Python?
0508 [matz@ru y- a] comp.lang.pythonからこのような話題が流れてきました。
0509 [sinara@bl de] 識者とか言うから答え難いわけ、、、(^^;
+ 0510 [matz@ru y- a] あ、そうか、心理的な盲点だな。
| + 0511 [ttate@ja st ] ML系の言語だとsml,mosmlでは `5 div 2 = 2' となり,
| | 0515 [ttate@ja st ] 前のものはあまり整理されていませんでしたので,一応もう少し
| + 0512 [kjana@os xa ] KCL は分数を返しましたけどねぇ.... CommonLisp の仕様までは知りませんが.
| | 0519 [sinara@bl de] 「1 は 1.0 で substitutable であってほしい」は、
| + 0513 [keiju@is it ] schemeって数の拡張ってできないでしょ? そういう処理系では、2.5になっても
|   + 0514 [matz@ru y- a] ちょっと調べてみます。CLの数システムもけっこう難しかったけど、
|   | 0516 [keiju@is it ] だと聞いています.
|   + 0518 [sinara@bl de] なるほど。
+ 0517 [gotoken@no w] 僕もそう思ってたんですけど、 p(-5/2) の結果を正しく予想でき
  0520 [sinara@bl de] 確かに -5/2 は即答できないなあ。(^^;

Re: 5/2 == 2 or 2.5 について
0522 [h-nakao@pc f] Common LISPなら、
0523 [sinara@bl de] 確かに 5 / 2 を「2 をかけると 5 になる数を求める演算である」と
+ 0524 [sinara@bl de] あ、2分の5だった。
+ 0525 [gotoken@no w] 僕は現状でいいと思いますが、有理数をそこまでやっつける必要は
  0526 [sinara@bl de] いやいや、これは「5 / 2 == 2 は数学的に不自然」という説への
  0527 [gotoken@no w] [ruby-math:00526]>
  0528 [sinara@bl de] なんか分からないけど、すごいといえばすごくすごい。

Re: 5/2 == 2 or 2.5 に
0529 [GEC01122@ni ] 有理数体は Euclid 整域にはならないと思いますが。
0530 [sinara@bl de] あ、失礼しました。確かに体は全て Euclid 整域になるのですが、
0531 [gotoken@no w] rational - irrational という対になってるので有理でいいんじゃ
+ 0532 [GEC01122@ni ] b が負の場合についての言及がありませんが、文意から考えて
| + 0534 [sinara@bl de] なるほど。でも、あえて法を負に取ることの意図が、標準形を負に取る
| + 0535 [gotoken@no w] いろいろ考えたんですけど (-5)/2 の値についてはむしろ好ましい
+ 0533 [sinara@bl de] irrational まで考えると派生の派生みたいで、本当の意味という
+ 0536 [toyofuku@ju ] ごとけんさん
+ 0537 [htkymst@to y] #%;file: c:/home/m18r/m1811rbm.chx
  0539 [GEC01122@ni ] これならわかります。
  + 0540 [gotoken@no w] リーダーズには
  + 0542 [sinara@bl de] 確かに体を Euclid 整域と見なしても体に関して新しい知見が得ら
    0544 [GEC01122@ni ] divmod で本質的なのは剰余の方なので、剰余に関して自然な

幾何とか (Re:  Re: 5/2 == 2 or 2.5 に)
0538 [gotoken@no w] 漢文は苦手だったのでかなりテキトーな意見ですが、その幾何は読
0541 [sinara@bl de] 「ユークリッド原論」で有理数の扱いはどんなんでしょ。

complex.rb problems
0543 [masa@st rs g] complex.rb に少し問題と思われる点があるので、以下のような修正を
0546 [keiju@is it ] うーん. 現状の動作に近いものとしては、こっちのほうがよいと感じますが...
0549 [masa@st rs g] Integer#/ との整合性もあるので、それでもよいかと思います。
0550 [keiju@is it ] 他の方の意見は如何でしょう?
0551 [masa@st rs g] float**float -> complex が自然だと思う理由は他に、
+ 0553 [GEC01122@ni ] 自分で再定義して対処していましたが、これは(充分検討したうえで)是非
| 0558 [keiju@is it ] いくつかは採用してよいと思っていますが, 微妙なものもありますし...
+ 0557 [keiju@is it ] ただ, Complexの実装は複数存在し得るわけですよね? 極座標表現の複素数とか.
  0560 [masa@st rs g] 今回の話は、
  + 0561 [GEC01122@ni ] 私も自然数の 1 ,有理整数の 1,有理数の Rational(1,1),実数の 1,複素数の
  | 0564 [keiju@is it ] 正木さんは、現状の枠組みを変えたほうがよいと主張されているわけですよね?
  | 0567 [hideto-i@rr ] 分からないことがありましたので質問させてください。
  | 0568 [keiju@is it ] すいません. 私が途中で意見を変えました. 今は、現行を変えて「int/int ->
  | 0572 [GEC01122@ni ] Float を使う method は
  | 0573 [keiju@is it ] それはいい案かも. 2項演算も結果の型が明示的に指定できる方法があるといい
  + 0565 [keiju@is it ] たしかにそうですね. 今の気分としては、**だけ特別扱いもなあって気分です。

7.divmod(-3)
0545 [sinara@bl de] divmod の話は Integer#/ と独立に考えられるので、サブジェクトを
0547 [h-nakao@pc f] Common LISPなら、整数の剰余については、2つの関数mod,remがあって、
0548 [matz@ru y- a] Integer#moduloとInteger#remainderの仕様はCLのmodとremにそれ

int / int -> ?
0552 [keiju@is it ] 話は落ち着いてしまったような気がしますが...
+ 0554 [matz@ru y- a] それはRationalを組み込みにしろということかしら。
| 0555 [keiju@is it ] そうです. まあ, autoloadでも実現できなくはないかもしれませんが.
| + 0556 [hideto-i@rr ] require 'float' しないと浮動小数は使えない、必要なときに
| | 0559 [keiju@is it ] その通りです.
| + 0562 [matz@ru y- a] それはちょっと... Floatはliteralがあるし、Mathモジュールは
|   0563 [keiju@is it ] うーん... autoloadにする. それじゃ問題は解決しないか...
|   0566 [matz@ru y- a] しません。
|   0569 [keiju@is it ] そうでもないと思うんですが, Math系のメソッド使っているライブラリってそん
|   0570 [matz@ru y- a] ライブラリはともかく、変更したら修正する必要のあるプログラム
|   0571 [masa@st rs g] ですね。
|   0574 [keiju@is it ] 型が分ってで使っていると、確にすっきりしているとは言えるんですよね. ただ、
+ 0576 [sinara@bl de] なんかお盆明けてみると、ずいぶん情勢が変わっていて、、、
  0577 [keiju@is it ] ども. 御久しぶりです.
  + 0578 [h-nakao@pc f] GNU Common LISP Version 2.2.2では、以下のようになります。
  | 0586 [keiju@is it ] ありがとうございます. うーむ. やっぱそういうものなのかな...
  | 0589 [gotoken@no w] ユーザが他の代数を同じように導入できるかという点も考えないと
  | + 0592 [sinara@bl de] ああ、良い例を思いついてもらいました。そういう事を
  | + 0596 [keiju@is it ] うーん. 判断を与えるとまずい? 正木さんの[ruby-math:00561]にあったように、
  |   0600 [gotoken@no w] [ruby-math:00596]>
  |   0606 [keiju@is it ] あ. そういう意味ですか. そういう意味では私もどっち(固定なのか非固定なの
  + 0579 [zn@mb .n ft ] それってto_sとほとんど同じになるような。
  | 0580 [sinara@bl de] 私は同じでいいと思うんですよ。
  + 0581 [sinara@bl de] なるほど gcd は除算の log n 倍ですか、それは感覚的に分かります。
  | 0584 [keiju@is it ] でしょ(^^;;;
  | 0588 [matz@ru y- a] たぶん、原さんの言う「最期の人」というのもそういう意味だと思
  | 0591 [sinara@bl de] そういう意味でした。
  | 0593 [matz@ru y- a] そうですね。私にはまだint/int -> rationalの嬉しさが数学的に
  | 0597 [keiju@is it ] まず, floatなくすのは、rationalの件とは独立の問題でしょう.
  | 0599 [matz@ru y- a] じゃあ、[ruby-math:00555]はなに? 冗談?
  | 0601 [keiju@is it ] あまりRuby本体のサイズを大きくしたくないってはなしだったから、そういう手
  | 0602 [matz@ru y- a] 「一般のユーザ」がどう思うのかは私には良く分かりませんが、た
  | + 0603 [GEC01122@ni ] 最近の石塚さんの意見にはほぼ賛成ですが、ここは少し違います。
  | | + 0604 [keiju@is it ] あ. 一応断っておきますが、ここまではまだ主張していません。
  | | | 0608 [gotoken@no w] そうです。Mathematica の場合は Sqrt[2] というオブジェクトが
  | | + 0609 [gotoken@no w] 無限精度の考え方は一通りではないですが、無限精度でもあらかじ
  | |   0610 [GEC01122@ni ] そういう意味だったら分かります。
  | |   0613 [keiju@is it ] しつれい(^^;;;
  | + 0605 [keiju@is it ] RubyってC/FORTRANレベルでいいって満足されると困るんですが(^^;;; それは,
  |   0607 [matz@ru y- a] 「無理がある」とは思っていません。が、違う部分があるのは事実
  |   0614 [keiju@is it ] うーん. 最後の例を見てください。
  |   0615 [matz@ru y- a] だって、Behaviorは動くけどアイディアは動かないもの。動く方が
  |   + 0616 [sinara@bl de] お久しぶりです。
  |   | + 0617 [matz@ru y- a] あ、それは嬉しいかも。
  |   | | 0618 [keiju@is it ] こっちの件はちょっとおいておいてですね...
  |   | | 0619 [matz@ru y- a] Behavior相当はね。ただ、私は本気であるとは言ってません。
  |   | + 0623 [keiju@is it ] ども.
  |   |   + 0624 [matz@ru y- a] これの意味が良く分からないんですが、Numericを頂点とするRuby
  |   |   + 0625 [sinara@bl de] 某同居人は行きます。私はびんぼで行けまへん。(^^;
  |   |     0626 [GEC01122@ni ] 私は次のようにしています。
  |   |     0627 [sinara@bl de] 実際この手のオブジェクトを組み込みで持ってもいいかも。
  |   |     0628 [GEC01122@ni ] 確かにその通りです。
  |   |     0629 [sinara@bl de] Eins ってドイツ語ですかね。Zero, Unity じゃだめかしら。
  |   + 0620 [keiju@is it ] それは言えますね.
  |     + 0621 [matz@ru y- a] ああ、そういえば明言してなかったかもしれませんが、途中から
  |     + 0622 [sinara@bl de] この件に関して言えば、Ruby 全般に使える加法に関して最弱のオブ
  + 0582 [daisu-ik@is ] 有理数ならば、むしろ gcd 計算をこまめにしたほうが効率があがると思います。
    + 0583 [keiju@is it ] うーむ.
    + 0594 [sinara@bl de] なるほど!やっぱり割れるときに割っておいた方が効率いいみたい

Rational#inspect [Re: int / int -> ?]
0585 [keiju@is it ] pの意味をちょっと取り違えていません? pって一応開発用だからなぁ... あんま
0587 [sinara@bl de] あ、いえ、p の意味は知っています。(^^;
0590 [sinara@bl de] あ、これは多項式(あるいは分数式)のクラスが、係数に何が
0595 [keiju@is it ] Complex#to_sはこれやっていますね.
0598 [matz@ru y- a] 気持ちは分からないでもないですが、その話は math ではやめましょう。

Rational の高速化
0635 [GEC01122@ni ] Rationalを組み込みにするという話は当分望み薄らしいので、Rational の
+ 0636 [ttate@kt ja ] 単純に拡張モジュールとして書いてしまうというものであれば,以前
+ 0637 [chikaoka-nob] Ruby初心者なので良く判らないのですが、高速化をはかるならば、
threads.html
top