--- !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