Feature #10077 » Implement_Matrix#column_merge.patch
| lib/matrix.rb | ||
|---|---|---|
|
# * #minor(*param)
|
||
|
# * #first_minor(row, column)
|
||
|
# * #cofactor(row, column)
|
||
|
# * #column_merge(*matrices)
|
||
|
#
|
||
|
# Properties of a matrix:
|
||
|
# * #diagonal?
|
||
| ... | ... | |
|
det_of_minor * (-1) ** (row + column)
|
||
|
end
|
||
|
#
|
||
|
# Merge matrices between columns.
|
||
|
#
|
||
|
# Matrix[[1, 2], [3, 4]].column_merge(Matrix[[5, 6]])
|
||
|
# => 1 2
|
||
|
# 3 4
|
||
|
# 5 6
|
||
|
#
|
||
|
def column_merge(*matrices)
|
||
|
if matrices.any?{|m| m.column_size != column_size }
|
||
|
raise ErrDimensionMismatch, "all matrices should have same column size"
|
||
|
end
|
||
|
new_matrix [self, *matrices].map(&:to_a).flatten(1)
|
||
|
end
|
||
|
#--
|
||
|
# TESTING -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||
|
#++
|
||