Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

matrixライブラリの2.6.0での変更の対応など #2527

Merged
merged 14 commits into from
May 11, 2021

Conversation

universato
Copy link
Contributor

@universato universato commented Apr 15, 2021

最初に

#1977「2.6.0 対応残り」のmatrixライブラリに対するものです。

下記のページに対応しています。

やったこと

※ 最初の2コミットで、古いバージョンの分岐を削除しています。

2.6.0で追加された以下のメソッドを追加しました。

  • Matrix#map!, Matrix#collect!
  • Matrix#[]=
  • Vector#map!, Vector#collect!
  • Vector#[]=

2.6.0で、下記のメソッドが、引数で要素を限定できるようになっていたので、その旨を追記しました。

  • Matrix#map, Matrix#collect

下記のメソッドは2.6.0から再定義しなくなったので、#@until 2.6.0を付与。

  • Matrix#clone, Vector#clone

冒頭の=== Complex クラスとの併用を削除

require 'complex'をしなくてもComplexは使え、1.8以前の古い記述が冒頭に大きく残っているようだったので、削除しました。

p require 'matrix'  #=> true
p require 'complex' #=> false

古い内部向けのメソッドらを削除

Vectorcompare_byMatrixcompare_by_row_vectorsを削除しました。
Vectorinit_elementsメソッドの記述を削除しました。

rankメソッドの注意書きについて

[[c:Float]] を使用すると、精度が不足するため、誤った結果が生じる可能性があることに注意してください。
代わりに、[[c:Rational]] や [[c:BigDecimal]] などの正確なオブジェクトを使用することを検討してください。

この文章は、英語版の方の説明を持ってきています。

https://github.com/ruby/matrix/blob/387e5b426fec31e6092280093681b03a59094641/lib/matrix.rb#L1418-L1420

参考

@universato universato changed the title matrixライブラリの2.6.0での変更の対応 matrixライブラリの2.6.0での変更の対応など Apr 24, 2021
refm/api/src/matrix/Matrix Outdated Show resolved Hide resolved
@znz znz merged commit a85bbba into rurema:master May 11, 2021
@universato universato deleted the matrix branch May 18, 2021 10:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants