t50_matriz_dispersa_densa 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/Documentacion/Fraccion.html +816 -0
  2. data/Documentacion/Gemfile.html +109 -0
  3. data/Documentacion/LICENSE_txt.html +126 -0
  4. data/Documentacion/Matriz.html +405 -0
  5. data/Documentacion/Matriz_Dispersa.html +159 -0
  6. data/Documentacion/Matriz_densa.html +479 -0
  7. data/Documentacion/Object.html +212 -0
  8. data/Documentacion/Rakefile.html +114 -0
  9. data/Documentacion/SparseMatrix.html +775 -0
  10. data/Documentacion/SparseVector.html +307 -0
  11. data/Documentacion/T50MatrizDispersaDensa.html +167 -0
  12. data/Documentacion/TestMatrix.html +467 -0
  13. data/Documentacion/bin/t50_matriz_dispersa_densa.html +54 -0
  14. data/Documentacion/created.rid +13 -0
  15. data/Documentacion/images/brick.png +0 -0
  16. data/Documentacion/images/brick_link.png +0 -0
  17. data/Documentacion/images/bug.png +0 -0
  18. data/Documentacion/images/bullet_black.png +0 -0
  19. data/Documentacion/images/bullet_toggle_minus.png +0 -0
  20. data/Documentacion/images/bullet_toggle_plus.png +0 -0
  21. data/Documentacion/images/date.png +0 -0
  22. data/Documentacion/images/find.png +0 -0
  23. data/Documentacion/images/loadingAnimation.gif +0 -0
  24. data/Documentacion/images/macFFBgHack.png +0 -0
  25. data/Documentacion/images/package.png +0 -0
  26. data/Documentacion/images/page_green.png +0 -0
  27. data/Documentacion/images/page_white_text.png +0 -0
  28. data/Documentacion/images/page_white_width.png +0 -0
  29. data/Documentacion/images/plugin.png +0 -0
  30. data/Documentacion/images/ruby.png +0 -0
  31. data/Documentacion/images/tag_green.png +0 -0
  32. data/Documentacion/images/wrench.png +0 -0
  33. data/Documentacion/images/wrench_orange.png +0 -0
  34. data/Documentacion/images/zoom.png +0 -0
  35. data/Documentacion/index.html +172 -0
  36. data/Documentacion/js/darkfish.js +118 -0
  37. data/Documentacion/js/jquery.js +32 -0
  38. data/Documentacion/js/quicksearch.js +114 -0
  39. data/Documentacion/js/thickbox-compressed.js +10 -0
  40. data/Documentacion/lib/Fraccion_rb.html +54 -0
  41. data/Documentacion/lib/gcd_rb.html +52 -0
  42. data/Documentacion/lib/matriz_densa_rb.html +54 -0
  43. data/Documentacion/lib/matriz_dispersa_rb.html +58 -0
  44. data/Documentacion/lib/matriz_rb.html +58 -0
  45. data/Documentacion/lib/t50_matriz_dispersa_densa/version_rb.html +52 -0
  46. data/Documentacion/lib/t50_matriz_dispersa_densa_rb.html +72 -0
  47. data/Documentacion/rdoc.css +763 -0
  48. data/Documentacion/test/tc_matrix_rb.html +62 -0
  49. data/Gemfile +4 -0
  50. data/LICENSE.txt +22 -0
  51. data/README.md +67 -0
  52. data/Rakefile +10 -0
  53. data/bin/t50_matriz_dispersa_densa +3 -0
  54. data/lib/Fraccion.rb +128 -0
  55. data/lib/gcd.rb +7 -0
  56. data/lib/matriz.rb +71 -0
  57. data/lib/matriz.rb~ +136 -0
  58. data/lib/matriz_densa.rb +128 -0
  59. data/lib/matriz_densa.rb~ +148 -0
  60. data/lib/matriz_dispersa.rb +276 -0
  61. data/lib/matriz_dispersa.rb~ +275 -0
  62. data/lib/t50_matriz_dispersa_densa.rb +27 -0
  63. data/lib/t50_matriz_dispersa_densa.rb~ +7 -0
  64. data/lib/t50_matriz_dispersa_densa/version.rb +3 -0
  65. data/t50_matriz_dispersa_densa.gemspec +19 -0
  66. data/test/tc_matrix.rb +57 -0
  67. data/test/tc_matrix.rb~ +57 -0
  68. metadata +115 -0
@@ -0,0 +1,212 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: Object</title>
9
+
10
+ <link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="./js/jquery.js" type="text/javascript" charset="utf-8"></script>
13
+ <script src="./js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
14
+ <script src="./js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="./js/darkfish.js" type="text/javascript" charset="utf-8"></script>
16
+
17
+ </head>
18
+ <body id="top" class="class">
19
+
20
+ <div id="metadata">
21
+ <div id="home-metadata">
22
+ <div id="home-section" class="section">
23
+ <h3 class="section-header">
24
+ <a href="./index.html">Home</a>
25
+ <a href="./index.html#classes">Classes</a>
26
+ <a href="./index.html#methods">Methods</a>
27
+ </h3>
28
+ </div>
29
+ </div>
30
+
31
+ <div id="file-metadata">
32
+ <div id="file-list-section" class="section">
33
+ <h3 class="section-header">In Files</h3>
34
+ <div class="section-body">
35
+ <ul>
36
+
37
+ <li><a href="./lib/gcd_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
38
+ class="thickbox" title="lib/gcd.rb">lib/gcd.rb</a></li>
39
+
40
+ </ul>
41
+ </div>
42
+ </div>
43
+
44
+
45
+ </div>
46
+
47
+ <div id="class-metadata">
48
+
49
+ <!-- Parent Class -->
50
+ <div id="parent-class-section" class="section">
51
+ <h3 class="section-header">Parent</h3>
52
+
53
+ <p class="link">BasicObject</p>
54
+
55
+ </div>
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+ <!-- Method Quickref -->
64
+ <div id="method-list-section" class="section">
65
+ <h3 class="section-header">Methods</h3>
66
+ <ul class="link-list">
67
+
68
+ <li><a href="#method-i-gcd">#gcd</a></li>
69
+
70
+ </ul>
71
+ </div>
72
+
73
+
74
+
75
+ </div>
76
+
77
+ <div id="project-metadata">
78
+
79
+
80
+ <div id="fileindex-section" class="section project-section">
81
+ <h3 class="section-header">Files</h3>
82
+ <ul>
83
+
84
+ <li class="file"><a href="./Gemfile.html">Gemfile</a></li>
85
+
86
+ <li class="file"><a href="./LICENSE_txt.html">LICENSE.txt</a></li>
87
+
88
+ <li class="file"><a href="./Rakefile.html">Rakefile</a></li>
89
+
90
+ </ul>
91
+ </div>
92
+
93
+
94
+ <div id="classindex-section" class="section project-section">
95
+ <h3 class="section-header">Class/Module Index
96
+ <span class="search-toggle"><img src="./images/find.png"
97
+ height="16" width="16" alt="[+]"
98
+ title="show/hide quicksearch" /></span></h3>
99
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
100
+ <fieldset>
101
+ <legend>Quicksearch</legend>
102
+ <input type="text" name="quicksearch" value=""
103
+ class="quicksearch-field" />
104
+ </fieldset>
105
+ </form>
106
+
107
+ <ul class="link-list">
108
+
109
+ <li><a href="./Fraccion.html">Fraccion</a></li>
110
+
111
+ <li><a href="./Matriz.html">Matriz</a></li>
112
+
113
+ <li><a href="./Matriz_Dispersa.html">Matriz_Dispersa</a></li>
114
+
115
+ <li><a href="./Matriz_densa.html">Matriz_densa</a></li>
116
+
117
+ <li><a href="./Object.html">Object</a></li>
118
+
119
+ <li><a href="./SparseMatrix.html">SparseMatrix</a></li>
120
+
121
+ <li><a href="./SparseVector.html">SparseVector</a></li>
122
+
123
+ <li><a href="./T50MatrizDispersaDensa.html">T50MatrizDispersaDensa</a></li>
124
+
125
+ <li><a href="./TestMatrix.html">TestMatrix</a></li>
126
+
127
+ </ul>
128
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
129
+ </div>
130
+
131
+
132
+ </div>
133
+ </div>
134
+
135
+ <div id="documentation">
136
+ <h1 class="class">Object</h1>
137
+
138
+ <div id="description" class="description">
139
+
140
+ </div><!-- description -->
141
+
142
+
143
+
144
+
145
+ <div id="5Buntitled-5D" class="documentation-section">
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+
154
+ <!-- Methods -->
155
+
156
+ <div id="public-instance-method-details" class="method-section section">
157
+ <h3 class="section-header">Public Instance Methods</h3>
158
+
159
+
160
+ <div id="gcd-method" class="method-detail ">
161
+ <a name="method-i-gcd"></a>
162
+
163
+
164
+ <div class="method-heading">
165
+ <span class="method-name">gcd</span><span
166
+ class="method-args">(u, v)</span>
167
+ <span class="method-click-advice">click to toggle source</span>
168
+ </div>
169
+
170
+
171
+ <div class="method-description">
172
+
173
+
174
+
175
+
176
+
177
+ <div class="method-source-code" id="gcd-source">
178
+ <pre>
179
+ <span class="ruby-comment"># File lib/gcd.rb, line 1</span>
180
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">gcd</span>(<span class="ruby-identifier">u</span>, <span class="ruby-identifier">v</span>)
181
+ <span class="ruby-identifier">u</span>, <span class="ruby-identifier">v</span> = <span class="ruby-identifier">u</span>.<span class="ruby-identifier">abs</span>, <span class="ruby-identifier">v</span>.<span class="ruby-identifier">abs</span>
182
+ <span class="ruby-keyword">while</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
183
+ <span class="ruby-identifier">u</span>, <span class="ruby-identifier">v</span> = <span class="ruby-identifier">v</span>, <span class="ruby-identifier">u</span> <span class="ruby-operator">%</span> <span class="ruby-identifier">v</span>
184
+ <span class="ruby-keyword">end</span>
185
+ <span class="ruby-identifier">u</span>
186
+ <span class="ruby-keyword">end</span></pre>
187
+ </div><!-- gcd-source -->
188
+
189
+ </div>
190
+
191
+
192
+
193
+
194
+ </div><!-- gcd-method -->
195
+
196
+
197
+ </div><!-- public-instance-method-details -->
198
+
199
+ </div><!-- 5Buntitled-5D -->
200
+
201
+
202
+ </div><!-- documentation -->
203
+
204
+ <div id="validator-badges">
205
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
206
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
207
+ Rdoc Generator</a> 2</small>.</p>
208
+ </div>
209
+
210
+ </body>
211
+ </html>
212
+
@@ -0,0 +1,114 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
+ <head>
7
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
8
+
9
+ <title>File: Rakefile [RDoc Documentation]</title>
10
+
11
+ <link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet" />
12
+
13
+ <script src="./js/jquery.js" type="text/javascript"
14
+ charset="utf-8"></script>
15
+ <script src="./js/thickbox-compressed.js" type="text/javascript"
16
+ charset="utf-8"></script>
17
+ <script src="./js/quicksearch.js" type="text/javascript"
18
+ charset="utf-8"></script>
19
+ <script src="./js/darkfish.js" type="text/javascript"
20
+ charset="utf-8"></script>
21
+ </head>
22
+
23
+ <body class="file">
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="./index.html">Home</a>
29
+ <a href="./index.html#classes">Classes</a>
30
+ <a href="./index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="project-metadata">
36
+
37
+
38
+ <div id="fileindex-section" class="section project-section">
39
+ <h3 class="section-header">Files</h3>
40
+ <ul>
41
+
42
+ <li class="file"><a href="./Gemfile.html">Gemfile</a></li>
43
+
44
+ <li class="file"><a href="./LICENSE_txt.html">LICENSE.txt</a></li>
45
+
46
+ <li class="file"><a href="./Rakefile.html">Rakefile</a></li>
47
+
48
+ </ul>
49
+ </div>
50
+
51
+
52
+ <div id="classindex-section" class="section project-section">
53
+ <h3 class="section-header">Class Index
54
+ <span class="search-toggle"><img src="./images/find.png"
55
+ height="16" width="16" alt="[+]"
56
+ title="show/hide quicksearch" /></span></h3>
57
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
58
+ <fieldset>
59
+ <legend>Quicksearch</legend>
60
+ <input type="text" name="quicksearch" value=""
61
+ class="quicksearch-field" />
62
+ </fieldset>
63
+ </form>
64
+
65
+ <ul class="link-list">
66
+
67
+ <li><a href="./Fraccion.html">Fraccion</a></li>
68
+
69
+ <li><a href="./Matriz.html">Matriz</a></li>
70
+
71
+ <li><a href="./Matriz_Dispersa.html">Matriz_Dispersa</a></li>
72
+
73
+ <li><a href="./Matriz_densa.html">Matriz_densa</a></li>
74
+
75
+ <li><a href="./Object.html">Object</a></li>
76
+
77
+ <li><a href="./SparseMatrix.html">SparseMatrix</a></li>
78
+
79
+ <li><a href="./SparseVector.html">SparseVector</a></li>
80
+
81
+ <li><a href="./T50MatrizDispersaDensa.html">T50MatrizDispersaDensa</a></li>
82
+
83
+ <li><a href="./TestMatrix.html">TestMatrix</a></li>
84
+
85
+ </ul>
86
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
87
+ </div>
88
+
89
+
90
+ </div>
91
+ </div>
92
+
93
+ <div id="documentation">
94
+
95
+ <p>require “bundler/gem_tasks”</p>
96
+
97
+ <p>task :default =&gt; :test</p>
98
+
99
+ <p>desc “Ejecutar test” task :test do</p>
100
+
101
+ <pre>sh &quot;ruby -Ilib -Itest test/tc_matrix.rb&quot;</pre>
102
+
103
+ <p>end</p>
104
+
105
+ </div>
106
+
107
+ <div id="validator-badges">
108
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
109
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
110
+ Rdoc Generator</a> 2</small>.</p>
111
+ </div>
112
+ </body>
113
+ </html>
114
+
@@ -0,0 +1,775 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: SparseMatrix</title>
9
+
10
+ <link rel="stylesheet" href="./rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="./js/jquery.js" type="text/javascript" charset="utf-8"></script>
13
+ <script src="./js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
14
+ <script src="./js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="./js/darkfish.js" type="text/javascript" charset="utf-8"></script>
16
+
17
+ </head>
18
+ <body id="top" class="class">
19
+
20
+ <div id="metadata">
21
+ <div id="home-metadata">
22
+ <div id="home-section" class="section">
23
+ <h3 class="section-header">
24
+ <a href="./index.html">Home</a>
25
+ <a href="./index.html#classes">Classes</a>
26
+ <a href="./index.html#methods">Methods</a>
27
+ </h3>
28
+ </div>
29
+ </div>
30
+
31
+ <div id="file-metadata">
32
+ <div id="file-list-section" class="section">
33
+ <h3 class="section-header">In Files</h3>
34
+ <div class="section-body">
35
+ <ul>
36
+
37
+ <li><a href="./lib/matriz_dispersa_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
38
+ class="thickbox" title="lib/matriz_dispersa.rb">lib/matriz_dispersa.rb</a></li>
39
+
40
+ </ul>
41
+ </div>
42
+ </div>
43
+
44
+
45
+ </div>
46
+
47
+ <div id="class-metadata">
48
+
49
+ <!-- Parent Class -->
50
+ <div id="parent-class-section" class="section">
51
+ <h3 class="section-header">Parent</h3>
52
+
53
+ <p class="link"><a href="Matriz.html">Matriz</a></p>
54
+
55
+ </div>
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+ <!-- Method Quickref -->
64
+ <div id="method-list-section" class="section">
65
+ <h3 class="section-header">Methods</h3>
66
+ <ul class="link-list">
67
+
68
+ <li><a href="#method-c-new">::new</a></li>
69
+
70
+ <li><a href="#method-i-2A">#*</a></li>
71
+
72
+ <li><a href="#method-i-2B">#+</a></li>
73
+
74
+ <li><a href="#method-i-2D">#-</a></li>
75
+
76
+ <li><a href="#method-i-5B-5D">#[]</a></li>
77
+
78
+ <li><a href="#method-i-coerce">#coerce</a></li>
79
+
80
+ <li><a href="#method-i-col">#col</a></li>
81
+
82
+ <li><a href="#method-i-comprobar">#comprobar</a></li>
83
+
84
+ <li><a href="#method-i-max">#max</a></li>
85
+
86
+ <li><a href="#method-i-min">#min</a></li>
87
+
88
+ <li><a href="#method-i-mostrar">#mostrar</a></li>
89
+
90
+ </ul>
91
+ </div>
92
+
93
+
94
+
95
+ </div>
96
+
97
+ <div id="project-metadata">
98
+
99
+
100
+ <div id="fileindex-section" class="section project-section">
101
+ <h3 class="section-header">Files</h3>
102
+ <ul>
103
+
104
+ <li class="file"><a href="./Gemfile.html">Gemfile</a></li>
105
+
106
+ <li class="file"><a href="./LICENSE_txt.html">LICENSE.txt</a></li>
107
+
108
+ <li class="file"><a href="./Rakefile.html">Rakefile</a></li>
109
+
110
+ </ul>
111
+ </div>
112
+
113
+
114
+ <div id="classindex-section" class="section project-section">
115
+ <h3 class="section-header">Class/Module Index
116
+ <span class="search-toggle"><img src="./images/find.png"
117
+ height="16" width="16" alt="[+]"
118
+ title="show/hide quicksearch" /></span></h3>
119
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
120
+ <fieldset>
121
+ <legend>Quicksearch</legend>
122
+ <input type="text" name="quicksearch" value=""
123
+ class="quicksearch-field" />
124
+ </fieldset>
125
+ </form>
126
+
127
+ <ul class="link-list">
128
+
129
+ <li><a href="./Fraccion.html">Fraccion</a></li>
130
+
131
+ <li><a href="./Matriz.html">Matriz</a></li>
132
+
133
+ <li><a href="./Matriz_Dispersa.html">Matriz_Dispersa</a></li>
134
+
135
+ <li><a href="./Matriz_densa.html">Matriz_densa</a></li>
136
+
137
+ <li><a href="./Object.html">Object</a></li>
138
+
139
+ <li><a href="./SparseMatrix.html">SparseMatrix</a></li>
140
+
141
+ <li><a href="./SparseVector.html">SparseVector</a></li>
142
+
143
+ <li><a href="./T50MatrizDispersaDensa.html">T50MatrizDispersaDensa</a></li>
144
+
145
+ <li><a href="./TestMatrix.html">TestMatrix</a></li>
146
+
147
+ </ul>
148
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
149
+ </div>
150
+
151
+
152
+ </div>
153
+ </div>
154
+
155
+ <div id="documentation">
156
+ <h1 class="class">SparseMatrix</h1>
157
+
158
+ <div id="description" class="description">
159
+
160
+ <p>Clase que se encarga de crear el hash</p>
161
+
162
+ </div><!-- description -->
163
+
164
+
165
+
166
+
167
+ <div id="5Buntitled-5D" class="documentation-section">
168
+
169
+
170
+
171
+
172
+
173
+
174
+
175
+ <!-- Attributes -->
176
+ <div id="attribute-method-details" class="method-section section">
177
+ <h3 class="section-header">Attributes</h3>
178
+
179
+
180
+ <div id="matrix-attribute-method" class="method-detail">
181
+ <a name="matrix"></a>
182
+
183
+ <div class="method-heading attribute-method-heading">
184
+ <span class="method-name">matrix</span><span
185
+ class="attribute-access-type">[R]</span>
186
+ </div>
187
+
188
+ <div class="method-description">
189
+
190
+
191
+
192
+ </div>
193
+ </div>
194
+
195
+ </div><!-- attribute-method-details -->
196
+
197
+
198
+ <!-- Methods -->
199
+
200
+ <div id="public-class-method-details" class="method-section section">
201
+ <h3 class="section-header">Public Class Methods</h3>
202
+
203
+
204
+ <div id="new-method" class="method-detail ">
205
+ <a name="method-c-new"></a>
206
+
207
+
208
+ <div class="method-heading">
209
+ <span class="method-name">new</span><span
210
+ class="method-args">(h = {})</span>
211
+ <span class="method-click-advice">click to toggle source</span>
212
+ </div>
213
+
214
+
215
+ <div class="method-description">
216
+
217
+ <p>Inicializador propio de la clase</p>
218
+
219
+
220
+
221
+ <div class="method-source-code" id="new-source">
222
+ <pre>
223
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 28</span>
224
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">h</span> = {})
225
+ <span class="ruby-ivar">@matrix</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>({})
226
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">k</span> <span class="ruby-keyword">in</span> <span class="ruby-identifier">h</span>.<span class="ruby-identifier">keys</span> <span class="ruby-keyword">do</span>
227
+ <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-keyword">if</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">SparseVector</span>
228
+ <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>]
229
+ <span class="ruby-keyword">else</span>
230
+ <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-constant">SparseVector</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>])
231
+ <span class="ruby-keyword">end</span>
232
+ <span class="ruby-keyword">end</span>
233
+ <span class="ruby-keyword">end</span></pre>
234
+ </div><!-- new-source -->
235
+
236
+ </div>
237
+
238
+
239
+
240
+
241
+ </div><!-- new-method -->
242
+
243
+
244
+ </div><!-- public-class-method-details -->
245
+
246
+ <div id="public-instance-method-details" class="method-section section">
247
+ <h3 class="section-header">Public Instance Methods</h3>
248
+
249
+
250
+ <div id="2A-method" class="method-detail ">
251
+ <a name="method-i-2A"></a>
252
+
253
+
254
+ <div class="method-heading">
255
+ <span class="method-name">*</span><span
256
+ class="method-args">(other)</span>
257
+ <span class="method-click-advice">click to toggle source</span>
258
+ </div>
259
+
260
+
261
+ <div class="method-description">
262
+
263
+ <p>Operacion de la multiplicacion en la matriz dispersa. Realiza la operacion
264
+ entre dos matrices dispersa y una dispersa con una densa</p>
265
+
266
+
267
+
268
+ <div class="method-source-code" id="2A-source">
269
+ <pre>
270
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 158</span>
271
+ <span class="ruby-keyword">def</span> *(<span class="ruby-identifier">other</span>)
272
+
273
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">other</span>
274
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Matriz_Dispersa</span>
275
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;Las columnas de una matriz no coinciden con las filas de la otra.&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">matrix</span>.<span class="ruby-identifier">size</span>
276
+ <span class="ruby-identifier">sumatotal</span> = <span class="ruby-value">0</span>
277
+ <span class="ruby-identifier">mul</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
278
+
279
+ <span class="ruby-comment">#for i in @matrix.keys do</span>
280
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">keys</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
281
+ <span class="ruby-identifier">mul_f</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
282
+ <span class="ruby-comment">#for j in @matrix[i].vector.keys do</span>
283
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">keys</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
284
+ <span class="ruby-comment">#for k in @matrix[i].vector.keys do</span>
285
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">keys</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
286
+ <span class="ruby-identifier">suma</span> = <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">k</span>] * <span class="ruby-identifier">other</span>.<span class="ruby-identifier">matrix</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>]
287
+ <span class="ruby-identifier">sumatotal</span> = <span class="ruby-identifier">sumatotal</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">suma</span>;
288
+ <span class="ruby-keyword">end</span>
289
+ <span class="ruby-identifier">mul_f</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">sumatotal</span>
290
+ <span class="ruby-identifier">sumatotal</span> = <span class="ruby-value">0</span>
291
+ <span class="ruby-keyword">end</span>
292
+ <span class="ruby-identifier">mul</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">mul_f</span>
293
+ <span class="ruby-keyword">end</span>
294
+ <span class="ruby-comment"> for r in @matrix.keys do
295
+ for j in @matrix[r].vector.keys do
296
+ print &quot; #{mul[r][j]} &quot;
297
+ end
298
+ puts
299
+ end
300
+ </span> <span class="ruby-keyword">return</span> <span class="ruby-identifier">mul</span>
301
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Matriz_densa</span>
302
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;Las columnas de una matriz no coinciden con las filas de la otra.&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">f</span>
303
+ <span class="ruby-identifier">sumatotal</span> = <span class="ruby-value">0</span>
304
+ <span class="ruby-identifier">mul</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
305
+
306
+ <span class="ruby-comment">#for i in @matrix.keys do</span>
307
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">size</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
308
+ <span class="ruby-identifier">mul_f</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
309
+ <span class="ruby-comment">#for j in @matrix[i].vector.keys do</span>
310
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
311
+ <span class="ruby-comment">#for k in @matrix[i].vector.keys do</span>
312
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
313
+ <span class="ruby-identifier">suma</span> = <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">k</span>] * <span class="ruby-identifier">other</span>.<span class="ruby-identifier">m</span>[<span class="ruby-identifier">k</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>][<span class="ruby-identifier">j</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
314
+ <span class="ruby-identifier">sumatotal</span> = <span class="ruby-identifier">sumatotal</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">suma</span>;
315
+ <span class="ruby-keyword">end</span>
316
+ <span class="ruby-identifier">mul_f</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">sumatotal</span>
317
+ <span class="ruby-identifier">sumatotal</span> = <span class="ruby-value">0</span>
318
+ <span class="ruby-keyword">end</span>
319
+ <span class="ruby-identifier">mul</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">mul_f</span>
320
+ <span class="ruby-keyword">end</span>
321
+ <span class="ruby-comment"> for r in @matrix.keys do
322
+ for j in @matrix[r].vector.keys do
323
+ print &quot; #{mul[r][j]} &quot;
324
+ end
325
+ puts
326
+ end
327
+ </span> <span class="ruby-keyword">return</span> <span class="ruby-identifier">mul</span>
328
+ <span class="ruby-keyword">else</span>
329
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;No se puede pasar #{other.inspect} a Matriz&quot;</span>)
330
+ <span class="ruby-keyword">end</span>
331
+ <span class="ruby-keyword">end</span></pre>
332
+ </div><!-- 2A-source -->
333
+
334
+ </div>
335
+
336
+
337
+
338
+
339
+ </div><!-- 2A-method -->
340
+
341
+
342
+ <div id="2B-method" class="method-detail ">
343
+ <a name="method-i-2B"></a>
344
+
345
+
346
+ <div class="method-heading">
347
+ <span class="method-name">+</span><span
348
+ class="method-args">(other)</span>
349
+ <span class="method-click-advice">click to toggle source</span>
350
+ </div>
351
+
352
+
353
+ <div class="method-description">
354
+
355
+ <p>Operacion de la suma en la matriz dispersa. Realiza la operacion entre dos
356
+ matrices dispersa y una dispersa con una densa</p>
357
+
358
+
359
+
360
+ <div class="method-source-code" id="2B-source">
361
+ <pre>
362
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 80</span>
363
+ <span class="ruby-keyword">def</span> <span class="ruby-operator">+</span>(<span class="ruby-identifier">other</span>)
364
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">other</span>
365
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Matriz_Dispersa</span>
366
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;Las matrices no son iguales en longitud.&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">matrix</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">matrix</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span>
367
+ <span class="ruby-identifier">resul</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
368
+ <span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
369
+ <span class="ruby-identifier">r</span> = <span class="ruby-identifier">r</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
370
+ <span class="ruby-comment">#for r in @matrix.keys do</span>
371
+ <span class="ruby-identifier">resul_f</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
372
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">keys</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
373
+ <span class="ruby-comment">#for j in @matrix[r].vector.keys do </span>
374
+ <span class="ruby-comment">#print &quot; #{@matrix[r].vector[j] + other.matrix[r].vector[j]} &quot;</span>
375
+ <span class="ruby-identifier">resul_f</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>]
376
+ <span class="ruby-keyword">end</span>
377
+ <span class="ruby-comment">#puts</span>
378
+ <span class="ruby-identifier">resul</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">resul_f</span>
379
+ <span class="ruby-keyword">end</span>
380
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">resul</span>
381
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Matriz_densa</span>
382
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;Las matrices no son iguales en longitud.&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">f</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">c</span>
383
+ <span class="ruby-identifier">resul</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
384
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">other</span>.<span class="ruby-identifier">f</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
385
+ <span class="ruby-comment">#for r in 1..other.f do</span>
386
+ <span class="ruby-identifier">resul_f</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
387
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">other</span>.<span class="ruby-identifier">c</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
388
+ <span class="ruby-comment">#for j in 1..other.c do</span>
389
+ <span class="ruby-comment">#print &quot; #{@matrix[r].vector[j] + other.m[r - 1][j - 1]}&quot;</span>
390
+ <span class="ruby-identifier">resul_f</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">m</span>[<span class="ruby-identifier">r</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>][<span class="ruby-identifier">j</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
391
+ <span class="ruby-keyword">end</span>
392
+ <span class="ruby-comment">#puts</span>
393
+ <span class="ruby-identifier">resul</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">resul_f</span>
394
+ <span class="ruby-keyword">end</span>
395
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">resul</span>
396
+ <span class="ruby-keyword">else</span>
397
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;No se puede pasar #{other.inspect} a Matriz&quot;</span>)
398
+ <span class="ruby-keyword">end</span>
399
+ <span class="ruby-keyword">end</span></pre>
400
+ </div><!-- 2B-source -->
401
+
402
+ </div>
403
+
404
+
405
+
406
+
407
+ </div><!-- 2B-method -->
408
+
409
+
410
+ <div id="2D-method" class="method-detail ">
411
+ <a name="method-i-2D"></a>
412
+
413
+
414
+ <div class="method-heading">
415
+ <span class="method-name">-</span><span
416
+ class="method-args">(other)</span>
417
+ <span class="method-click-advice">click to toggle source</span>
418
+ </div>
419
+
420
+
421
+ <div class="method-description">
422
+
423
+ <p>Operacion de la resta en la matriz dispersa. Realiza la operacion entre dos
424
+ matrices dispersa y una dispersa con una densa</p>
425
+
426
+
427
+
428
+ <div class="method-source-code" id="2D-source">
429
+ <pre>
430
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 119</span>
431
+ <span class="ruby-keyword">def</span> <span class="ruby-operator">-</span>(<span class="ruby-identifier">other</span>)
432
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">other</span>
433
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Matriz_Dispersa</span>
434
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;Las matrices no son iguales en longitud.&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">matrix</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">matrix</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span>
435
+ <span class="ruby-identifier">resul</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
436
+ <span class="ruby-comment">#for r in @matrix.keys do</span>
437
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">keys</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
438
+ <span class="ruby-identifier">resul_f</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
439
+ <span class="ruby-comment">#for j in @matrix[r].vector.keys do </span>
440
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">keys</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
441
+ <span class="ruby-comment">#print &quot; #{@matrix[r].vector[j] - other.matrix[r].vector[j]} &quot;</span>
442
+ <span class="ruby-identifier">resul_f</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">-</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>]
443
+ <span class="ruby-keyword">end</span>
444
+ <span class="ruby-comment">#puts</span>
445
+ <span class="ruby-identifier">resul</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">resul_f</span>
446
+ <span class="ruby-keyword">end</span>
447
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">resul</span>
448
+ <span class="ruby-keyword">when</span> <span class="ruby-constant">Matriz_densa</span>
449
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-string">&quot;Las matrices no son iguales en longitud.&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">f</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">c</span>
450
+ <span class="ruby-identifier">resul</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
451
+ <span class="ruby-comment">#for r in 1..other.f do</span>
452
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">other</span>.<span class="ruby-identifier">f</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
453
+ <span class="ruby-identifier">resul_f</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
454
+ <span class="ruby-comment">#for j in 1..other.c do</span>
455
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-identifier">other</span>.<span class="ruby-identifier">c</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
456
+ <span class="ruby-comment">#print &quot; #{@matrix[r].vector[j] - other.m[r - 1][j - 1]}&quot;</span>
457
+ <span class="ruby-identifier">resul_f</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">-</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">m</span>[<span class="ruby-identifier">r</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>][<span class="ruby-identifier">j</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>]
458
+ <span class="ruby-keyword">end</span>
459
+ <span class="ruby-comment">#puts</span>
460
+ <span class="ruby-identifier">resul</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">resul_f</span>
461
+ <span class="ruby-keyword">end</span>
462
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">resul</span>
463
+ <span class="ruby-keyword">else</span>
464
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;No se puede pasar #{other.inspect} a Matriz&quot;</span>)
465
+ <span class="ruby-keyword">end</span>
466
+
467
+ <span class="ruby-keyword">end</span></pre>
468
+ </div><!-- 2D-source -->
469
+
470
+ </div>
471
+
472
+
473
+
474
+
475
+ </div><!-- 2D-method -->
476
+
477
+
478
+ <div id="5B-5D-method" class="method-detail ">
479
+ <a name="method-i-5B-5D"></a>
480
+
481
+
482
+ <div class="method-heading">
483
+ <span class="method-name">[]</span><span
484
+ class="method-args">(i)</span>
485
+ <span class="method-click-advice">click to toggle source</span>
486
+ </div>
487
+
488
+
489
+ <div class="method-description">
490
+
491
+ <p>Obtener un valor de la matriz dada una posicion</p>
492
+
493
+
494
+
495
+ <div class="method-source-code" id="5B-5D-source">
496
+ <pre>
497
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 40</span>
498
+ <span class="ruby-keyword">def</span> <span class="ruby-operator">[]</span>(<span class="ruby-identifier">i</span>)
499
+ <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>]
500
+ <span class="ruby-keyword">end</span></pre>
501
+ </div><!-- 5B-5D-source -->
502
+
503
+ </div>
504
+
505
+
506
+
507
+
508
+ </div><!-- 5B-5D-method -->
509
+
510
+
511
+ <div id="coerce-method" class="method-detail ">
512
+ <a name="method-i-coerce"></a>
513
+
514
+
515
+ <div class="method-heading">
516
+ <span class="method-name">coerce</span><span
517
+ class="method-args">(other)</span>
518
+ <span class="method-click-advice">click to toggle source</span>
519
+ </div>
520
+
521
+
522
+ <div class="method-description">
523
+
524
+
525
+
526
+
527
+
528
+ <div class="method-source-code" id="coerce-source">
529
+ <pre>
530
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 269</span>
531
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">coerce</span>(<span class="ruby-identifier">other</span>)
532
+ [<span class="ruby-identifier">other</span>,<span class="ruby-keyword">self</span>]
533
+ <span class="ruby-keyword">end</span></pre>
534
+ </div><!-- coerce-source -->
535
+
536
+ </div>
537
+
538
+
539
+
540
+
541
+ </div><!-- coerce-method -->
542
+
543
+
544
+ <div id="col-method" class="method-detail ">
545
+ <a name="method-i-col"></a>
546
+
547
+
548
+ <div class="method-heading">
549
+ <span class="method-name">col</span><span
550
+ class="method-args">(j)</span>
551
+ <span class="method-click-advice">click to toggle source</span>
552
+ </div>
553
+
554
+
555
+ <div class="method-description">
556
+
557
+
558
+
559
+
560
+
561
+ <div class="method-source-code" id="col-source">
562
+ <pre>
563
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 44</span>
564
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">col</span>(<span class="ruby-identifier">j</span>)
565
+ <span class="ruby-identifier">c</span> = {}
566
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">r</span> <span class="ruby-keyword">in</span> <span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">keys</span> <span class="ruby-keyword">do</span>
567
+ <span class="ruby-identifier">c</span>[<span class="ruby-identifier">r</span>] = <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>] <span class="ruby-keyword">if</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">j</span>
568
+ <span class="ruby-keyword">end</span>
569
+ <span class="ruby-constant">SparseVector</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">c</span>
570
+ <span class="ruby-keyword">end</span></pre>
571
+ </div><!-- col-source -->
572
+
573
+ </div>
574
+
575
+
576
+
577
+
578
+ </div><!-- col-method -->
579
+
580
+
581
+ <div id="comprobar-method" class="method-detail ">
582
+ <a name="method-i-comprobar"></a>
583
+
584
+
585
+ <div class="method-heading">
586
+ <span class="method-name">comprobar</span><span
587
+ class="method-args">()</span>
588
+ <span class="method-click-advice">click to toggle source</span>
589
+ </div>
590
+
591
+
592
+ <div class="method-description">
593
+
594
+
595
+
596
+
597
+
598
+ <div class="method-source-code" id="comprobar-source">
599
+ <pre>
600
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 52</span>
601
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">comprobar</span>
602
+ <span class="ruby-identifier">contar</span> = <span class="ruby-value">0</span>
603
+ <span class="ruby-identifier">contartotal</span> = <span class="ruby-value">0</span>
604
+ <span class="ruby-identifier">result</span> = <span class="ruby-value">0</span>
605
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">r</span> <span class="ruby-keyword">in</span> <span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">keys</span> <span class="ruby-keyword">do</span>
606
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">j</span> <span class="ruby-keyword">in</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">keys</span> <span class="ruby-keyword">do</span>
607
+ <span class="ruby-identifier">contartotal</span> = <span class="ruby-identifier">contartotal</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
608
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
609
+ <span class="ruby-identifier">contar</span> = <span class="ruby-identifier">contar</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
610
+ <span class="ruby-keyword">end</span>
611
+ <span class="ruby-keyword">end</span>
612
+ <span class="ruby-keyword">end</span>
613
+ <span class="ruby-identifier">result</span> = (<span class="ruby-identifier">contar</span> * <span class="ruby-value">100</span>) <span class="ruby-operator">/</span> <span class="ruby-identifier">contartotal</span>
614
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value">60</span>
615
+ <span class="ruby-string">&quot;La matriz no es dispersa&quot;</span>
616
+ <span class="ruby-keyword">end</span>
617
+ <span class="ruby-keyword">end</span></pre>
618
+ </div><!-- comprobar-source -->
619
+
620
+ </div>
621
+
622
+
623
+
624
+
625
+ </div><!-- comprobar-method -->
626
+
627
+
628
+ <div id="max-method" class="method-detail ">
629
+ <a name="method-i-max"></a>
630
+
631
+
632
+ <div class="method-heading">
633
+ <span class="method-name">max</span><span
634
+ class="method-args">()</span>
635
+ <span class="method-click-advice">click to toggle source</span>
636
+ </div>
637
+
638
+
639
+ <div class="method-description">
640
+
641
+ <p>Obtención del maximo de una matriz dispersa</p>
642
+
643
+
644
+
645
+ <div class="method-source-code" id="max-source">
646
+ <pre>
647
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 226</span>
648
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">max</span>
649
+
650
+ <span class="ruby-identifier">maximo</span> = <span class="ruby-ivar">@matrix</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-value">1</span>]
651
+
652
+ <span class="ruby-comment">#for i in @matrix.keys do</span>
653
+ <span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">size</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
654
+ <span class="ruby-identifier">i</span> = <span class="ruby-identifier">i</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
655
+ <span class="ruby-comment">#for j in @matrix[i].vector.keys do</span>
656
+ <span class="ruby-comment">#@matrix[i].vector.keys do |j|</span>
657
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
658
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">&gt;</span> <span class="ruby-identifier">maximo</span>
659
+ <span class="ruby-identifier">maximo</span> = <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>]
660
+ <span class="ruby-keyword">end</span>
661
+ <span class="ruby-keyword">end</span>
662
+ <span class="ruby-keyword">end</span>
663
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">maximo</span>
664
+ <span class="ruby-keyword">end</span></pre>
665
+ </div><!-- max-source -->
666
+
667
+ </div>
668
+
669
+
670
+
671
+
672
+ </div><!-- max-method -->
673
+
674
+
675
+ <div id="min-method" class="method-detail ">
676
+ <a name="method-i-min"></a>
677
+
678
+
679
+ <div class="method-heading">
680
+ <span class="method-name">min</span><span
681
+ class="method-args">()</span>
682
+ <span class="method-click-advice">click to toggle source</span>
683
+ </div>
684
+
685
+
686
+ <div class="method-description">
687
+
688
+ <p>Obtención del maximo de una matriz dispersa</p>
689
+
690
+
691
+
692
+ <div class="method-source-code" id="min-source">
693
+ <pre>
694
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 251</span>
695
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">min</span>
696
+
697
+ <span class="ruby-identifier">minimo</span> = <span class="ruby-ivar">@matrix</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-value">1</span>]
698
+
699
+ <span class="ruby-comment">#for i in @matrix.keys do</span>
700
+ <span class="ruby-value">1</span>.<span class="ruby-identifier">upto</span>(<span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">size</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
701
+ <span class="ruby-comment">#for j in @matrix[i].vector.keys do</span>
702
+ <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">size</span>.<span class="ruby-identifier">times</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">j</span><span class="ruby-operator">|</span>
703
+ <span class="ruby-identifier">j</span> = <span class="ruby-identifier">j</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>
704
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>] <span class="ruby-operator">&lt;</span> <span class="ruby-identifier">minimo</span>
705
+ <span class="ruby-identifier">minimo</span> = <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">i</span>].<span class="ruby-identifier">vector</span>[<span class="ruby-identifier">j</span>]
706
+ <span class="ruby-keyword">end</span>
707
+ <span class="ruby-keyword">end</span>
708
+ <span class="ruby-keyword">end</span>
709
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">minimo</span>
710
+
711
+ <span class="ruby-keyword">end</span></pre>
712
+ </div><!-- min-source -->
713
+
714
+ </div>
715
+
716
+
717
+
718
+
719
+ </div><!-- min-method -->
720
+
721
+
722
+ <div id="mostrar-method" class="method-detail ">
723
+ <a name="method-i-mostrar"></a>
724
+
725
+
726
+ <div class="method-heading">
727
+ <span class="method-name">mostrar</span><span
728
+ class="method-args">()</span>
729
+ <span class="method-click-advice">click to toggle source</span>
730
+ </div>
731
+
732
+
733
+ <div class="method-description">
734
+
735
+
736
+
737
+
738
+
739
+ <div class="method-source-code" id="mostrar-source">
740
+ <pre>
741
+ <span class="ruby-comment"># File lib/matriz_dispersa.rb, line 70</span>
742
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">mostrar</span>
743
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">r</span> <span class="ruby-keyword">in</span> <span class="ruby-ivar">@matrix</span>.<span class="ruby-identifier">keys</span> <span class="ruby-keyword">do</span>
744
+ <span class="ruby-keyword">for</span> <span class="ruby-identifier">j</span> <span class="ruby-keyword">in</span> <span class="ruby-ivar">@matrix</span>[<span class="ruby-identifier">r</span>].<span class="ruby-identifier">vector</span>.<span class="ruby-identifier">keys</span> <span class="ruby-keyword">do</span>
745
+ <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;#{@matrix[r].vector[j]} &quot;</span>
746
+ <span class="ruby-keyword">end</span>
747
+ <span class="ruby-identifier">puts</span>
748
+ <span class="ruby-keyword">end</span>
749
+ <span class="ruby-keyword">end</span></pre>
750
+ </div><!-- mostrar-source -->
751
+
752
+ </div>
753
+
754
+
755
+
756
+
757
+ </div><!-- mostrar-method -->
758
+
759
+
760
+ </div><!-- public-instance-method-details -->
761
+
762
+ </div><!-- 5Buntitled-5D -->
763
+
764
+
765
+ </div><!-- documentation -->
766
+
767
+ <div id="validator-badges">
768
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
769
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
770
+ Rdoc Generator</a> 2</small>.</p>
771
+ </div>
772
+
773
+ </body>
774
+ </html>
775
+