Skip to content

Commit

Permalink
Updated matrix.py and docs
Browse files Browse the repository at this point in the history
matrix.py
- removed overloaded __len__
  • Loading branch information
jerela committed Nov 4, 2023
1 parent 27927ea commit 3693d07
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 6 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@ name: Check tests

on:
push:
#branches: [ "master" ]
branches: [ "**" ]
pull_request:
branches: [ "**" ]
#branches: [ "master" ]

jobs:
build:
Expand Down
61 changes: 61 additions & 0 deletions mola.clustering.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module mola.clustering</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head><body bgcolor="#f0f0f8">

<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="mola.html"><font color="#ffffff">mola</font></a>.clustering</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:c%3A%5Cusers%5Clavik%5Conedrive%5Cdocuments%5Cgithub%5Cpython-linear-algebra%5Cmola%5Cclustering.py">c:\users\lavik\onedrive\documents\github\python-linear-algebra\mola\clustering.py</a></font></td></tr></table>
<p></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>

<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="math.html">math</a><br>
</td><td width="25%" valign=top></td><td width="25%" valign=top></td><td width="25%" valign=top></td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>

<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-distance_euclidean_pow"><strong>distance_euclidean_pow</strong></a>(p1, p2)</dt><dd><tt>Return&nbsp;the&nbsp;squared&nbsp;Euclidean&nbsp;distance&nbsp;between&nbsp;two&nbsp;points.<br>
If&nbsp;you&nbsp;want&nbsp;to&nbsp;retrieve&nbsp;the&nbsp;actual&nbsp;Euclidean&nbsp;distance,&nbsp;take&nbsp;the&nbsp;square&nbsp;root&nbsp;of&nbsp;the&nbsp;result.&nbsp;However,&nbsp;using&nbsp;this&nbsp;squared&nbsp;version&nbsp;is&nbsp;computationally&nbsp;more&nbsp;efficient.<br>
&nbsp;<br>
Arguments:<br>
p1&nbsp;--&nbsp;list:&nbsp;the&nbsp;first&nbsp;point<br>
p2&nbsp;--&nbsp;list:&nbsp;the&nbsp;second&nbsp;point</tt></dd></dl>
<dl><dt><a name="-distance_taxicab"><strong>distance_taxicab</strong></a>(p1, p2)</dt><dd><tt>Return&nbsp;the&nbsp;taxicab&nbsp;distance&nbsp;(also&nbsp;known&nbsp;as&nbsp;Manhattan&nbsp;distance)&nbsp;between&nbsp;two&nbsp;points.<br>
&nbsp;<br>
Arguments:<br>
p1&nbsp;--&nbsp;list:&nbsp;the&nbsp;first&nbsp;point<br>
p2&nbsp;--&nbsp;list:&nbsp;the&nbsp;second&nbsp;point</tt></dd></dl>
<dl><dt><a name="-find_c_means"><strong>find_c_means</strong></a>(data, num_centers=2, max_iterations=100, distance_function=&lt;function distance_euclidean_pow at 0x000002575B236E50&gt;, initial_centers=None)</dt><dd><tt>Return&nbsp;the&nbsp;cluster&nbsp;centers&nbsp;and&nbsp;the&nbsp;membership&nbsp;matrix&nbsp;of&nbsp;points&nbsp;using&nbsp;soft&nbsp;k-means&nbsp;clustering&nbsp;(also&nbsp;known&nbsp;as&nbsp;fuzzy&nbsp;c-means).<br>
&nbsp;<br>
This&nbsp;algorithm&nbsp;is&nbsp;well-suited&nbsp;to&nbsp;cluster&nbsp;data&nbsp;that&nbsp;is&nbsp;not&nbsp;clearly&nbsp;separable&nbsp;into&nbsp;distinct&nbsp;clusters.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<br>
Arguments:<br>
data&nbsp;--&nbsp;Matrix:&nbsp;the&nbsp;data&nbsp;containing&nbsp;the&nbsp;points&nbsp;to&nbsp;be&nbsp;clustered<br>
num_centers&nbsp;--&nbsp;int:&nbsp;the&nbsp;number&nbsp;of&nbsp;cluster&nbsp;centers&nbsp;to&nbsp;be&nbsp;found&nbsp;(default&nbsp;2)<br>
max_iterations&nbsp;--&nbsp;int:&nbsp;the&nbsp;maximum&nbsp;number&nbsp;of&nbsp;iterations&nbsp;where&nbsp;cluster&nbsp;centers&nbsp;are&nbsp;updated&nbsp;(default&nbsp;100)<br>
distance_function&nbsp;--&nbsp;function:&nbsp;the&nbsp;distance&nbsp;function&nbsp;to&nbsp;be&nbsp;used&nbsp;(default&nbsp;Euclidean&nbsp;distance);&nbsp;options&nbsp;are&nbsp;squared&nbsp;Euclidean&nbsp;distance&nbsp;(distance_euclidean_pow)&nbsp;and&nbsp;taxicab&nbsp;distance&nbsp;(distance_taxicab)<br>
initial_centers&nbsp;--&nbsp;Matrix:&nbsp;the&nbsp;initial&nbsp;cluster&nbsp;centers;&nbsp;if&nbsp;not&nbsp;specified,&nbsp;they&nbsp;are&nbsp;initialized&nbsp;randomly&nbsp;(default&nbsp;None)</tt></dd></dl>
<dl><dt><a name="-find_k_means"><strong>find_k_means</strong></a>(data, num_centers=2, max_iterations=100, distance_function=&lt;function distance_euclidean_pow at 0x000002575B236E50&gt;, initial_centers=None)</dt><dd><tt>Return&nbsp;the&nbsp;cluster&nbsp;centers&nbsp;using&nbsp;hard&nbsp;k-means&nbsp;clustering.<br>
&nbsp;<br>
Note&nbsp;that&nbsp;there&nbsp;is&nbsp;no&nbsp;guarantee&nbsp;that&nbsp;the&nbsp;algorithm&nbsp;converges.&nbsp;This&nbsp;is&nbsp;why&nbsp;you&nbsp;should&nbsp;use&nbsp;several&nbsp;restarts&nbsp;or&nbsp;fuzzy&nbsp;k-means&nbsp;(function&nbsp;<a href="#-find_c_means">find_c_means</a>()&nbsp;in&nbsp;this&nbsp;module).<br>
&nbsp;<br>
Arguments:<br>
data&nbsp;--&nbsp;Matrix:&nbsp;the&nbsp;data&nbsp;containing&nbsp;the&nbsp;points&nbsp;to&nbsp;be&nbsp;clustered<br>
num_centers&nbsp;--&nbsp;int:&nbsp;the&nbsp;number&nbsp;of&nbsp;centers&nbsp;to&nbsp;be&nbsp;found&nbsp;(default&nbsp;2)<br>
max_iterations&nbsp;--&nbsp;int:&nbsp;the&nbsp;maximum&nbsp;number&nbsp;of&nbsp;iterations&nbsp;where&nbsp;cluster&nbsp;centers&nbsp;are&nbsp;updated&nbsp;(default&nbsp;100)<br>
distance_function&nbsp;--&nbsp;function:&nbsp;the&nbsp;distance&nbsp;function&nbsp;to&nbsp;be&nbsp;used&nbsp;(default&nbsp;Euclidean&nbsp;distance);&nbsp;options&nbsp;are&nbsp;squared&nbsp;Euclidean&nbsp;distance&nbsp;(distance_euclidean_pow)&nbsp;and&nbsp;taxicab&nbsp;distance&nbsp;(distance_taxicab)<br>
initial_centers&nbsp;--&nbsp;Matrix:&nbsp;the&nbsp;initial&nbsp;cluster&nbsp;centers;&nbsp;if&nbsp;not&nbsp;specified,&nbsp;they&nbsp;are&nbsp;initialized&nbsp;randomly&nbsp;(default&nbsp;None)</tt></dd></dl>
<dl><dt><a name="-random"><strong>random</strong></a>()<font color="#909090"><font face="helvetica, arial"> method of <a href="random.html#Random">random.Random</a> instance</font></font></dt><dd><tt><a href="#-random">random</a>()&nbsp;-&gt;&nbsp;x&nbsp;in&nbsp;the&nbsp;interval&nbsp;[0,&nbsp;1).</tt></dd></dl>
</td></tr></table>
</body></html>
2 changes: 1 addition & 1 deletion mola.regression.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>

<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-fit_nonlinear"><strong>fit_nonlinear</strong></a>(independent_values, dependent_values, h, J, initial=None, max_iters=100.0)</dt><dd><tt>Returns&nbsp;the&nbsp;estimated&nbsp;parameters&nbsp;of&nbsp;a&nbsp;nonlinear&nbsp;model&nbsp;using&nbsp;the&nbsp;Gauss-Newton&nbsp;iteration&nbsp;algorithm.<br>
<td width="100%"><dl><dt><a name="-fit_nonlinear"><strong>fit_nonlinear</strong></a>(independent_values, dependent_values, h, J, initial=None, max_iters=100)</dt><dd><tt>Returns&nbsp;the&nbsp;estimated&nbsp;parameters&nbsp;of&nbsp;a&nbsp;nonlinear&nbsp;model&nbsp;using&nbsp;the&nbsp;Gauss-Newton&nbsp;iteration&nbsp;algorithm.<br>
&nbsp;<br>
Arguments:<br>
independent_values&nbsp;--&nbsp;Matrix:&nbsp;the&nbsp;matrix&nbsp;of&nbsp;independent&nbsp;values<br>
Expand Down
13 changes: 13 additions & 0 deletions mola.utils.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@
precision&nbsp;--&nbsp;float:&nbsp;the&nbsp;maximum&nbsp;allowed&nbsp;difference&nbsp;between&nbsp;matching&nbsp;elements&nbsp;(default&nbsp;1e-12)<br>
&nbsp;<br>
Raises&nbsp;an&nbsp;exception&nbsp;if&nbsp;'left'&nbsp;and&nbsp;'right'&nbsp;have&nbsp;different&nbsp;dimensions.</tt></dd></dl>
<dl><dt><a name="-get_mean"><strong>get_mean</strong></a>(data, along='col')</dt><dd><tt>Return&nbsp;the&nbsp;mean&nbsp;of&nbsp;a&nbsp;matrix.<br>
&nbsp;<br>
Arguments:<br>
data&nbsp;--&nbsp;Matrix:&nbsp;the&nbsp;matrix&nbsp;whose&nbsp;mean&nbsp;is&nbsp;to&nbsp;be&nbsp;calculated<br>
along&nbsp;--&nbsp;string:&nbsp;the&nbsp;dimension&nbsp;along&nbsp;which&nbsp;the&nbsp;mean&nbsp;is&nbsp;to&nbsp;be&nbsp;calculated&nbsp;(default&nbsp;'col')</tt></dd></dl>
<dl><dt><a name="-identity"><strong>identity</strong></a>(rows, cols=None)</dt><dd><tt>Return&nbsp;a&nbsp;square&nbsp;identity&nbsp;matrix.<br>
&nbsp;<br>
Arguments:<br>
Expand All @@ -56,6 +61,14 @@
delimiter&nbsp;--&nbsp;character:&nbsp;specifies&nbsp;the&nbsp;delimiter&nbsp;that&nbsp;separates&nbsp;data&nbsp;values&nbsp;in&nbsp;the&nbsp;text&nbsp;file&nbsp;(default&nbsp;,)<br>
&nbsp;<br>
If&nbsp;no&nbsp;delimiter&nbsp;is&nbsp;given,&nbsp;the&nbsp;file&nbsp;is&nbsp;assumed&nbsp;to&nbsp;be&nbsp;in&nbsp;comma-separated&nbsp;values&nbsp;format.</tt></dd></dl>
<dl><dt><a name="-transpose_list"><strong>transpose_list</strong></a>(data)</dt><dd><tt>Return&nbsp;the&nbsp;transpose&nbsp;of&nbsp;a&nbsp;2D&nbsp;list.<br>
&nbsp;<br>
Arguments:<br>
data&nbsp;--&nbsp;list:&nbsp;the&nbsp;2D&nbsp;list&nbsp;to&nbsp;be&nbsp;transposed</tt></dd></dl>
<dl><dt><a name="-uniques"><strong>uniques</strong></a>(data)</dt><dd><tt>Return&nbsp;the&nbsp;unique&nbsp;rows&nbsp;of&nbsp;a&nbsp;2D&nbsp;matrix&nbsp;or&nbsp;list.<br>
&nbsp;<br>
Arguments:<br>
data&nbsp;--&nbsp;Matrix&nbsp;or&nbsp;list:&nbsp;the&nbsp;matrix&nbsp;or&nbsp;list&nbsp;whose&nbsp;unique&nbsp;rows&nbsp;are&nbsp;to&nbsp;be&nbsp;returned</tt></dd></dl>
<dl><dt><a name="-write_matrix_to_file"><strong>write_matrix_to_file</strong></a>(matrix, file_name, delimiter=',')</dt><dd><tt>Write&nbsp;a&nbsp;matrix&nbsp;to&nbsp;a&nbsp;text&nbsp;file.<br>
&nbsp;<br>
Arguments:<br>
Expand Down
3 changes: 0 additions & 3 deletions mola/matrix.py
Original file line number Diff line number Diff line change
Expand Up @@ -370,9 +370,6 @@ def get(self,i,j):
"""Get the element at specified position."""
return self.data[i][j]

def __len__(self):
return self.n_rows

# define what happens when the matrix is converted to a string, such as when print(Matrix) is called
def __str__(self, precision = 4):
"""Define the string representation of Matrix.
Expand Down

0 comments on commit 3693d07

Please sign in to comment.