class Spark::Mllib::MatrixAdapter

Public Class Methods

new(*args) click to toggle source
# File lib/spark/mllib/ruby_matrix/matrix_adapter.rb, line 7
def self.new(*args)
  object = self.allocate

  if args.size == 2
    # Matrix is initialized from Matrix
    # Arguments: rows, column count
    object.__send__(:original_initialize, *args)
  else
    object.__send__(:initialize, *args)
  end

  object
end
new(type, rows, cols, values=nil) click to toggle source
Calls superclass method
# File lib/spark/mllib/ruby_matrix/matrix_adapter.rb, line 23
def initialize(type, rows, cols, values=nil)
  case type
  when :dense
    values = values.dup
    if rows * cols == values.size
      # Values are on one row
      # 2x2 => [1,2,3,4]
      values = values.each_slice(cols).to_a
    else
      # 2x2 => [[1,2], [3,4]]
    end
  when :sparse
    values = Array.new(rows) { Array.new(cols) { 0.0 } }
  else
    raise Spark::MllibError, 'Unknow vector type.'
  end

  super(values, cols)
end
Also aliased as: original_initialize

Public Instance Methods

original_initialize(type, rows, cols, values=nil)
Alias for: new
shape() click to toggle source
# File lib/spark/mllib/ruby_matrix/matrix_adapter.rb, line 43
def shape
  [row_count, column_count]
end
values() click to toggle source
# File lib/spark/mllib/ruby_matrix/matrix_adapter.rb, line 47
def values
  @values || to_a
end