U:RDoc::NormalClass[iI" Matrix:ET@I" Object;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"[The +Matrix+ class represents a mathematical matrix. It provides methods for creating ;TI"Cmatrices, operating on them arithmetically and algebraically, ;TI"Wand determining their mathematical properties (trace, rank, inverse, determinant).;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading: leveli: textI"Method Catalogue;T@o; ;[I"To create a matrix:;To:RDoc::Markup::List: @type: BULLET: @items[o:RDoc::Markup::ListItem: @label0;[o; ;[I"Matrix[*rows];To;;0;[o; ;[I"Matrix.[](*rows);To;;0;[o; ;[I"#Matrix.rows(rows, copy = true);To;;0;[o; ;[I"Matrix.columns(columns);To;;0;[o; ;[I"2Matrix.build(row_count, column_count, &block);To;;0;[o; ;[I"Matrix.diagonal(*values);To;;0;[o; ;[I"Matrix.scalar(n, value);To;;0;[o; ;[I"Matrix.identity(n);To;;0;[o; ;[I"Matrix.unit(n);To;;0;[o; ;[I"Matrix.I(n);To;;0;[o; ;[I"Matrix.zero(n);To;;0;[o; ;[I"Matrix.row_vector(row);To;;0;[o; ;[I"!Matrix.column_vector(column);To;;0;[o; ;[I"*Matrix.empty(row_count, column_count);To;;0;[o; ;[I"Matrix.hstack(*matrices);To;;0;[o; ;[I"Matrix.vstack(*matrices);T@o; ;[I"CTo access Matrix elements/columns/rows/submatrices/properties:;To;;;;[o;;0;[o; ;[I"#[](i, j);To;;0;[o; ;[I"#row_count (row_size);To;;0;[o; ;[I" #column_count (column_size);To;;0;[o; ;[I" #row(i);To;;0;[o; ;[I"#column(j);To;;0;[o; ;[I" #collect;To;;0;[o; ;[I" #map;To;;0;[o; ;[I" #each;To;;0;[o; ;[I"#each_with_index;To;;0;[o; ;[I"#find_index;To;;0;[o; ;[I"#minor(*param);To;;0;[o; ;[I"#first_minor(row, column);To;;0;[o; ;[I"#cofactor(row, column);To;;0;[o; ;[I"#adjugate;To;;0;[o; ;[I"+#laplace_expansion(row_or_column: num);To;;0;[o; ;[I",#cofactor_expansion(row_or_column: num);T@o; ;[I"Properties of a matrix:;To;;;;[o;;0;[o; ;[I"#diagonal?;To;;0;[o; ;[I" #empty?;To;;0;[o; ;[I"#hermitian?;To;;0;[o; ;[I"#lower_triangular?;To;;0;[o; ;[I" #normal?;To;;0;[o; ;[I"#orthogonal?;To;;0;[o; ;[I"#permutation?;To;;0;[o; ;[I" #real?;To;;0;[o; ;[I"#regular?;To;;0;[o; ;[I"#singular?;To;;0;[o; ;[I" #square?;To;;0;[o; ;[I"#symmetric?;To;;0;[o; ;[I"#unitary?;To;;0;[o; ;[I"#upper_triangular?;To;;0;[o; ;[I" #zero?;T@o; ;[I"Matrix arithmetic:;To;;;;[o;;0;[o; ;[I" #*(m);To;;0;[o; ;[I" #+(m);To;;0;[o; ;[I" #-(m);To;;0;[o; ;[I" #/(m);To;;0;[o; ;[I" #inverse;To;;0;[o; ;[I" #inv;To;;0;[o; ;[I"#**;To;;0;[o; ;[I"#+@;To;;0;[o; ;[I"#-@;T@o; ;[I"Matrix functions:;To;;;;[o;;0;[o; ;[I"#determinant;To;;0;[o; ;[I" #det;To;;0;[o; ;[I"#hstack(*matrices);To;;0;[o; ;[I" #rank;To;;0;[o; ;[I" #round;To;;0;[o; ;[I" #trace;To;;0;[o; ;[I"#tr;To;;0;[o; ;[I"#transpose;To;;0;[o; ;[I"#t;To;;0;[o; ;[I"#vstack(*matrices);T@o; ;[I"Matrix decompositions:;To;;;;[ o;;0;[o; ;[I" #eigen;To;;0;[o; ;[I"#eigensystem;To;;0;[o; ;[I" #lup;To;;0;[o; ;[I"#lup_decomposition;T@o; ;[I"Complex arithmetic:;To;;;;[ o;;0;[o; ;[I" conj;To;;0;[o; ;[I"conjugate;To;;0;[o; ;[I" imag;To;;0;[o; ;[I"imaginary;To;;0;[o; ;[I" real;To;;0;[o; ;[I" rect;To;;0;[o; ;[I"rectangular;T@o; ;[I"$Conversion to other data types:;To;;;;[ o;;0;[o; ;[I"#coerce(other);To;;0;[o; ;[I"#row_vectors;To;;0;[o; ;[I"#column_vectors;To;;0;[o; ;[I" #to_a;T@o; ;[I"String representations:;To;;;;[o;;0;[o; ;[I" #to_s;To;;0;[o; ;[I" #inspect;T: @fileI"lib/matrix.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"+lib/matrix/eigenvalue_decomposition.rb;T;0o;;[;I"$lib/matrix/lup_decomposition.rb;T;0;0;0[[ I"column_count;TI"R;T: publicFI"lib/matrix.rb;T[ I"column_size;T@æ;F@ç[ I" rows;TI"R;T:protectedF@ç[U:RDoc::Constant[iI"SELECTORS;FI"Matrix::SELECTORS;T00o;;[;@Ü;0@Ü@cRDoc::NormalClass0[[I"Enumerable;To;;[;@Ü;0@ç[[I" class;T[[;[[I"I;F@ç[I"[];F@ç[I" build;F@ç[I"column_vector;F@ç[I" columns;F@ç[I" diagonal;F@ç[I" empty;F@ç[I" hstack;F@ç[I" identity;F@ç[I"new;T@ç[I"row_vector;F@ç[I" rows;F@ç[I" scalar;F@ç[I" unit;F@ç[I" vstack;F@ç[I" zero;F@ç[;[[: private[[I" instance;T[[;[U[I"*;T@ç[I"**;T@ç[I"+;T@ç[I"+@;T@ç[I"-;T@ç[I"-@;T@ç[I"/;F@ç[I"==;T@ç[I"[];F@ç[I" adjugate;F@ç[I" clone;F@ç[I" coerce;F@ç[I" cofactor;F@ç[I"cofactor_expansion;T@ç[I" collect;F@ç[I" column;F@ç[I"column_vectors;F@ç[I"component;F@ç[I" conj;F@ç[I"conjugate;F@ç[I"det;T@ç[I" det_e;F@ç[I"determinant;F@ç[I"determinant_e;F@ç[I"diagonal?;F@ç[I" each;F@ç[I"each_with_index;F@ç[I" eigen;F@ç[I"eigensystem;F@ç[I" element;F@ç[I"elements_to_f;F@ç[I"elements_to_i;F@ç[I"elements_to_r;F@ç[I" empty?;F@ç[I" eql?;F@ç[I"find_index;T@ç[I"first_minor;F@ç[I" hash;F@ç[I"hermitian?;F@ç[I" hstack;F@ç[I" imag;F@ç[I"imaginary;F@ç[I" index;F@ç[I" inspect;F@ç[I"inv;F@ç[I" inverse;F@ç[I"laplace_expansion;F@ç[I"lower_triangular?;F@ç[I"lup;F@ç[I"lup_decomposition;F@ç[I"map;F@ç[I" minor;F@ç[I" normal?;F@ç[I"orthogonal?;F@ç[I"permutation?;F@ç[I" rank;F@ç[I" rank_e;F@ç[I" real;F@ç[I" real?;F@ç[I" rect;F@ç[I"rectangular;F@ç[I" regular?;F@ç[I" round;F@ç[I"row;F@ç[I"row_count;F@ç[I" row_size;T@ç[I"row_vectors;F@ç[I"singular?;F@ç[I" square?;F@ç[I"symmetric?;F@ç[I"t;F@ç[I" to_a;F@ç[I" to_s;F@ç[I"tr;F@ç[I" trace;F@ç[I"transpose;F@ç[I" unitary?;F@ç[I"upper_triangular?;F@ç[I" vstack;F@ç[I" zero?;F@ç[;[[;[ [I"[]=;F@ç[I"determinant_bareiss;F@ç[I"set_component;F@ç[I"set_element;F@ç[[I"ConversionHelper;To;;[;@Ü;0@ç[U:RDoc::Context::Section[i0o;;[;0;0[@Ü@ß@â@âcRDoc::TopLevel