Project

General

Profile

Actions

Feature #15869

closed

Add abs to Matrix

Added by bonafernando (Fernando Wolf Bona) about 2 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Target version:
-
[ruby-core:92803]

Description

While I was studying Markov Chain I had to find the maximum absolute value of the Matrix to divide the matrix in numbers from 0 to 1 to be able to make further analysis. Like this:

q = Matrix[ ... ]
max = q.to_a.flatten.map { |e| e.abs }.max
q = q / max

So this is the first of two features that I would like to contribute.

  1. Matrix.abs
  2. Matrix.max
Actions #1

Updated by bonafernando (Fernando Wolf Bona) about 2 years ago

  • Backport deleted (2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN)
  • Tracker changed from Bug to Feature

Updated by bonafernando (Fernando Wolf Bona) about 2 years ago

bonafernando (Fernando Wolf Bona) wrote:

While I was studying Markov Chain I had to find the maximum absolute value of the Matrix to divide the matrix in numbers from 0 to 1 to be able to make further analysis. Like this:

q = Matrix[ ... ]
max = q.to_a.flatten.map { |e| e.abs }.max
q = q / max

So this is the first of two features that I would like to contribute.

  1. Matrix.abs
  2. Matrix.max

PR: https://github.com/ruby/ruby/pull/2199

Updated by marcandre (Marc-Andre Lafortune) about 2 years ago

  • Assignee set to marcandre (Marc-Andre Lafortune)

Updated by shevegen (Robert A. Heiler) about 2 years ago

Interesting. Not sure if this has to do with Markov Chain per se, but for storing state
through automata (in bioinformatics), hidden markov models are also used. Perhaps
extending Matrix may be beneficial in general (for ruby as a larger ecosystem;
curiously enough, the third most often downloaded gem is diff-lcs, which is probably
useful in a variety of different applications; I came to it indirectly through Hamming
and Levensthein distances).

Actions #5

Updated by marcandre (Marc-Andre Lafortune) over 1 year ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF