<?php /* * Modified : 19/dec/2009 * Pier-AndrÃ© Bouchard St-Amant pabsta [at]Â econ.queensu.ca * Changes : * - Introduction of the PLU decomposition of square matrices (through lu() for users, and PLU internally) * - Significant improvement in stability and speed for inversion and the computation of the determinant. * * * Modified : 22/Nov/2009 * Pier-AndrÃ© Bouchard St-Amant pabsta [at] econ.queensu.ca<br> * Kingston - Canada * Changes : * - Internal convention : zeros are no longer stored in memory. All functions were changed to reflect this. This is transparent to users. * - Performance improvements for large sparse matrices (based on above), mostly for multiplication and inversion. * - Four new functions : utrig, ltrig, diag and smooth : * upper triangular matrix, lower triangular matrix, diagonal matrix and smooth small number to zero (see documentation). * - Correction of numerous bugs. * * Modified : 10/Nov/2009 * Pier-AndrÃ© Bouchard St-Amant pabsta [at]Â econ.queensu.ca * Kingston - Canada * - Changes : * 1) (Almost) all function specs so that inputs are matrix objects. * 2) Deletion of five functions (including some "statistical" ones) and two global variables * 3) Introduction of nine new "basic" functions * - get_data, get_value, set_value, get_columns, get_rows, set_columns, set_rows, delete_columns, delete_rows * - print_matrix (mostly for debugging purpose, as it prints a <table>) * 4) Introduction of eleven new mathematical functions : * - point to point product and division. * - eye (identity matrix), ones (matrix of ones), zeros (matrix of zeros) and random matrix "quasi-constructors" * - max, min of a column * - point to point greater than, greater or equal than, smaller than, smaller or equal, equal * 5) Correction of numerous bugs. * 6) Translation of spanish to english, identation and uniformisation of the function names * * - Comments : * a) All mathematical functions are written to ressemble paper algebra : * - AxB ==>Â $A->times($B); * - A-B ==>Â $A->minus($B); * - A^(-1) ==>Â $A->inv(); * - A' ==> $A->prime(); * - det(A) ==>Â $A->det($A); * - etc. * This restricts nested calls, but augment readability. * b) The algorithm for matrix inversion is based on PLU decomposition. The algorithm performs relatively well numerically, but it requires an order of 2*n^2 x sizeof(doubles) of memory space. * c) Error messages are echoed to the standard output (likely to be your webpage) * * A class for operations on matrices * Creation date: 30/sept/2005 * Diego Carrera - Kleber BaÃo * Guayaquil - Ecuador (Spanish version) */ ?>

Return current item: Matrix new