class Algebra::MatrixAlgebraQuint

Attributes

lefti[R]
righti[R]

Public Class Methods

new(matrix, left = nil, right = nil, lefti = nil, righti = nil) click to toggle source
Calls superclass method Algebra::MatrixAlgebraTriplet::new
# File lib/algebra/matrix-algebra-triplet.rb, line 200
def initialize(matrix, left = nil, right = nil, lefti = nil, righti = nil)
  super(matrix, left, right)
  @lefti = lefti ? lefti : @left_type.unity
  @righti = righti ? righti : @right_type.unity
end

Public Instance Methods

divide_c!(j, c) click to toggle source
Calls superclass method Algebra::MatrixAlgebraTriplet#divide_c!
# File lib/algebra/matrix-algebra-triplet.rb, line 257
def divide_c!(j, c)
  @righti.multiply_r!(j, c)
  super
end
divide_r!(i, c) click to toggle source
Calls superclass method Algebra::MatrixAlgebraTriplet#divide_r!
# File lib/algebra/matrix-algebra-triplet.rb, line 252
def divide_r!(i, c)
  @lefti.multiply_c!(i, c)
  super
end
dup() click to toggle source
# File lib/algebra/matrix-algebra-triplet.rb, line 212
def dup
  self.class.new(body.dup, left.dup, right.dup, lefti.dup, righti.dup)
end
mix_c!(i, j, c = nil) click to toggle source
Calls superclass method Algebra::MatrixAlgebraTriplet#mix_c!
# File lib/algebra/matrix-algebra-triplet.rb, line 267
def mix_c!(i, j, c = nil)
  @righti.mix_r!(j, i, c ? -c : -1)
  super
end
mix_r!(i, j, c = nil) click to toggle source
Calls superclass method Algebra::MatrixAlgebraTriplet#mix_r!
# File lib/algebra/matrix-algebra-triplet.rb, line 262
def mix_r!(i, j, c = nil)
  @lefti.mix_c!(j, i, c ? -c : -1)
  super
end
multiply_c!(j, c) click to toggle source
# File lib/algebra/matrix-algebra-triplet.rb, line 247
def multiply_c!(j, c)
  @righti.divide_r!(j, c)
  super
end
multiply_r!(i, c) click to toggle source
# File lib/algebra/matrix-algebra-triplet.rb, line 242
def multiply_r!(i, c)
  @lefti.divide_c!(i, c)
  super
end
replace(other) click to toggle source
# File lib/algebra/matrix-algebra-triplet.rb, line 221
def replace(other)
  initialize(other.body, other.left, other.right, other.lefti, other.righti)
  self
end
sswap_r!(i, j) click to toggle source

ElementaryOpeartion

Calls superclass method Algebra::MatrixAlgebraTriplet#sswap_r!
# File lib/algebra/matrix-algebra-triplet.rb, line 227
def sswap_r!(i, j)
  @lefti.swap_c!(i, j) # sswap_c doesn't exist
  super
end
swap_c!(i, j) click to toggle source
Calls superclass method Algebra::MatrixAlgebraTriplet#swap_c!
# File lib/algebra/matrix-algebra-triplet.rb, line 237
def swap_c!(i, j)
  @righti.swap_r!(i, j)
  super
end
swap_r!(i, j) click to toggle source
Calls superclass method Algebra::MatrixAlgebraTriplet#swap_r!
# File lib/algebra/matrix-algebra-triplet.rb, line 232
def swap_r!(i, j)
  @lefti.swap_c!(i, j)
  super
end
to_a()
Alias for: to_ary
to_ary() click to toggle source
# File lib/algebra/matrix-algebra-triplet.rb, line 206
def to_ary
  [body, left, right, lefti, righti]
end
Also aliased as: to_a
transpose() click to toggle source
# File lib/algebra/matrix-algebra-triplet.rb, line 216
def transpose
  self.class.new(body.transpose, right.transpose, left.transpose,
                 righti.transpose, lefti.transpose)
end