Sha256: 6656c370ccf5deec4f052ae1faa0ccc2b6fed5c695d418ffdee8ee0e37e4554a

Contents?: true

Size: 573 Bytes

Versions: 2

Compression:

Stored size: 573 Bytes

Contents

module Silicium
  module Sparse
    # here goes the Sparse class
    class SparseMatrix
      # #
      # A static method for initializing sparse matrix from a regular one
      # @param [Array] mat - Source matrix for conversion
      def self.sparse(mat)
        new = SparseMatrix.new(mat.count, mat[0].count)
        i = 0
        mat.each do |row|
          j = 0
          row.each do |elem|
            new.add(i, j, elem) unless elem.zero?
            j += 1
          end
          i += 1
        end
        new
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
silicium-0.0.22 lib/silicium/conversions.rb
silicium-0.0.21 lib/silicium/conversions.rb