--- !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 Matrix 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 require 'mathn'. 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: Matrix[*rows]
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.[](*rows)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.rows(rows, copy = true)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.columns(columns)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.diagonal(*values)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.scalar(n, value)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.scalar(n, value)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.identity(n)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.unit(n)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.I(n)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.zero(n)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.row_vector(row)
- !ruby/struct:SM::Flow::LI
label: "*"
body: Matrix.column_vector(column)
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: [](i, j)
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #row_size "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #column_size "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #row(i) "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #column(j) "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #collect "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #map "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #minor(*param) "
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: " #regular? "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #singular? "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #square? "
type: :BULLET
- !ruby/struct:SM::Flow::P
body: "Matrix arithmetic:"
- !ruby/object:SM::Flow::LIST
contents:
- !ruby/struct:SM::Flow::LI
label: "*"
body: *(m)
- !ruby/struct:SM::Flow::LI
label: "*"
body: +(m)
- !ruby/struct:SM::Flow::LI
label: "*"
body: -(m)
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #/(m) "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #inverse "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #inv "
- !ruby/struct:SM::Flow::LI
label: "*"
body: **
type: :BULLET
- !ruby/struct:SM::Flow::P
body: "Matrix functions:"
- !ruby/object:SM::Flow::LIST
contents:
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #determinant "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #det "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #rank "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #trace "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #tr "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #transpose "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #t "
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: " #coerce(other) "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #row_vectors "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #column_vectors "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #to_a "
type: :BULLET
- !ruby/struct:SM::Flow::P
body: "String representations:"
- !ruby/object:SM::Flow::LIST
contents:
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #to_s "
- !ruby/struct:SM::Flow::LI
label: "*"
body: " #inspect "
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