Your IP : 18.191.118.36
--- !ruby/object:RI::ClassDescription
attributes: []
class_methods:
- !ruby/object:RI::MethodSummary
name: "[]"
- !ruby/object:RI::MethodSummary
name: column_vector
- !ruby/object:RI::MethodSummary
name: columns
- !ruby/object:RI::MethodSummary
name: diagonal
- !ruby/object:RI::MethodSummary
name: identity
- !ruby/object:RI::MethodSummary
name: new
- !ruby/object:RI::MethodSummary
name: row_vector
- !ruby/object:RI::MethodSummary
name: rows
- !ruby/object:RI::MethodSummary
name: scalar
- !ruby/object:RI::MethodSummary
name: zero
comment:
- !ruby/struct:SM::Flow::P
body: The <tt>Matrix</tt> class represents a mathematical matrix, and provides methods for creating special-case matrices (zero, identity, diagonal, singular, vector), operating on them arithmetically and algebraically, and determining their mathematical properties (trace, rank, inverse, determinant).
- !ruby/struct:SM::Flow::P
body: Note that although matrices should theoretically be rectangular, this is not enforced by the class.
- !ruby/struct:SM::Flow::P
body: Also note that the determinant of integer matrices may be incorrectly calculated unless you also <tt>require 'mathn'</tt>. This may be fixed in the future.
- !ruby/struct:SM::Flow::H
level: 2
text: Method Catalogue
- !ruby/struct:SM::Flow::P
body: "To create a matrix:"
- !ruby/object:SM::Flow::LIST
contents:
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix[*rows] </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.[](*rows) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.rows(rows, copy = true) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.columns(columns) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.diagonal(*values) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.scalar(n, value) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.scalar(n, value) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.identity(n) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.unit(n) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.I(n) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.zero(n) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.row_vector(row) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> Matrix.column_vector(column) </tt>
type: :BULLET
- !ruby/struct:SM::Flow::P
body: "To access Matrix elements/columns/rows/submatrices/properties:"
- !ruby/object:SM::Flow::LIST
contents:
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> [](i, j) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #row_size </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #column_size </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #row(i) </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #column(j) </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #collect </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #map </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #minor(*param) </tt>"
type: :BULLET
- !ruby/struct:SM::Flow::P
body: "Properties of a matrix:"
- !ruby/object:SM::Flow::LIST
contents:
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #regular? </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #singular? </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #square? </tt>"
type: :BULLET
- !ruby/struct:SM::Flow::P
body: "Matrix arithmetic:"
- !ruby/object:SM::Flow::LIST
contents:
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> *(m) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> +(m) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> -(m) </tt>
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #/(m) </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #inverse </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #inv </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: <tt> ** </tt>
type: :BULLET
- !ruby/struct:SM::Flow::P
body: "Matrix functions:"
- !ruby/object:SM::Flow::LIST
contents:
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #determinant </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #det </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #rank </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #trace </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #tr </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #transpose </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #t </tt>"
type: :BULLET
- !ruby/struct:SM::Flow::P
body: "Conversion to other data types:"
- !ruby/object:SM::Flow::LIST
contents:
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #coerce(other) </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #row_vectors </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #column_vectors </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #to_a </tt>"
type: :BULLET
- !ruby/struct:SM::Flow::P
body: "String representations:"
- !ruby/object:SM::Flow::LIST
contents:
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #to_s </tt>"
- !ruby/struct:SM::Flow::LI
label: "*"
body: "<tt> #inspect </tt>"
type: :BULLET
constants: []
full_name: Matrix
includes:
- !ruby/object:RI::IncludedModule
name: ExceptionForMatrix
instance_methods:
- !ruby/object:RI::MethodSummary
name: "*"
- !ruby/object:RI::MethodSummary
name: "**"
- !ruby/object:RI::MethodSummary
name: +
- !ruby/object:RI::MethodSummary
name: "-"
- !ruby/object:RI::MethodSummary
name: /
- !ruby/object:RI::MethodSummary
name: ==
- !ruby/object:RI::MethodSummary
name: "[]"
- !ruby/object:RI::MethodSummary
name: clone
- !ruby/object:RI::MethodSummary
name: coerce
- !ruby/object:RI::MethodSummary
name: collect
- !ruby/object:RI::MethodSummary
name: column
- !ruby/object:RI::MethodSummary
name: column_size
- !ruby/object:RI::MethodSummary
name: column_vectors
- !ruby/object:RI::MethodSummary
name: compare_by_row_vectors
- !ruby/object:RI::MethodSummary
name: det
- !ruby/object:RI::MethodSummary
name: determinant
- !ruby/object:RI::MethodSummary
name: eql?
- !ruby/object:RI::MethodSummary
name: hash
- !ruby/object:RI::MethodSummary
name: init_rows
- !ruby/object:RI::MethodSummary
name: inspect
- !ruby/object:RI::MethodSummary
name: inv
- !ruby/object:RI::MethodSummary
name: inverse
- !ruby/object:RI::MethodSummary
name: inverse_from
- !ruby/object:RI::MethodSummary
name: map
- !ruby/object:RI::MethodSummary
name: minor
- !ruby/object:RI::MethodSummary
name: rank
- !ruby/object:RI::MethodSummary
name: regular?
- !ruby/object:RI::MethodSummary
name: row
- !ruby/object:RI::MethodSummary
name: row_size
- !ruby/object:RI::MethodSummary
name: row_vectors
- !ruby/object:RI::MethodSummary
name: singular?
- !ruby/object:RI::MethodSummary
name: square?
- !ruby/object:RI::MethodSummary
name: t
- !ruby/object:RI::MethodSummary
name: to_a
- !ruby/object:RI::MethodSummary
name: to_s
- !ruby/object:RI::MethodSummary
name: tr
- !ruby/object:RI::MethodSummary
name: trace
- !ruby/object:RI::MethodSummary
name: transpose
name: Matrix
superclass: Object