linmeric 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/Rakefile +31 -0
  4. data/bin/linmeric +6 -3
  5. data/doc/Archive.html +3 -2
  6. data/doc/Calculator.html +2 -1
  7. data/doc/Calculator/Evaluator.html +3 -2
  8. data/doc/Calculator/Lexer.html +3 -2
  9. data/doc/Calculator/Token.html +3 -2
  10. data/doc/Dim.html +6 -5
  11. data/doc/Filename.html +5 -4
  12. data/doc/Fixnum.html +13 -152
  13. data/doc/Float.html +6 -5
  14. data/doc/Function.html +3 -2
  15. data/doc/InputError.html +2 -1
  16. data/doc/IntNum.html +249 -0
  17. data/doc/Integer.html +114 -0
  18. data/doc/Integrators.html +2 -1
  19. data/doc/LU.html +2 -1
  20. data/doc/Lexer.html +3 -2
  21. data/doc/Linmeric.html +2 -1
  22. data/doc/Listener.html +3 -2
  23. data/doc/Matrix.html +37 -36
  24. data/doc/MyArgError.html +2 -1
  25. data/doc/NilClass.html +5 -4
  26. data/doc/Numeric.html +6 -5
  27. data/doc/Object.html +117 -0
  28. data/doc/Parser.html +9 -8
  29. data/doc/PrintError.html +2 -1
  30. data/doc/README_md.html +16 -14
  31. data/doc/Scp.html +3 -2
  32. data/doc/Sizer.html +9 -5
  33. data/doc/String.html +12 -11
  34. data/doc/Token.html +3 -2
  35. data/doc/Tool.html +2 -1
  36. data/doc/created.rid +18 -18
  37. data/doc/css/fonts.css +6 -6
  38. data/doc/index.html +22 -14
  39. data/doc/js/darkfish.js +7 -7
  40. data/doc/js/jquery.js +4 -9404
  41. data/doc/js/navigation.js.gz +0 -0
  42. data/doc/js/search_index.js +1 -1
  43. data/doc/js/search_index.js.gz +0 -0
  44. data/doc/js/searcher.js +3 -2
  45. data/doc/js/searcher.js.gz +0 -0
  46. data/doc/table_of_contents.html +23 -13
  47. data/lib/linmeric/CnGal_Matrix_class.rb +11 -5
  48. data/lib/linmeric/CnGal_new_classes.rb +14 -2
  49. data/lib/linmeric/Parser.rb +6 -6
  50. data/lib/linmeric/Sizer.rb +3 -0
  51. data/lib/linmeric/version.rb +1 -1
  52. data/lib/linmeric_bin.rb +2 -1
  53. metadata +9 -6
  54. data/doc/Instructions_en.txt +0 -207
  55. data/doc/Instructions_it.txt +0 -211
@@ -1,211 +0,0 @@
1
-
2
- LINMERIC: progettato e sviluppato da Massimiliano Dal Mas
3
-
4
- Email: max.codeware@gmail.com
5
-
6
- Richiede la libreria 'io/console'
7
-
8
- ## Simbologia usata in questa guida: ##
9
-
10
- <testo> : tipologia di elemento da sostituire
11
- #=> : output del programma
12
- // : commenti o specificazioni
13
- => : da..a
14
- <> : diverso
15
-
16
- ####################################
17
- # ISTRUZIONI #
18
- ####################################
19
- __________________________________
20
- #_ASSEGNAZIONE AD UNA VARIABILE:_#
21
- **********************************
22
-
23
- <nome_variabile> = <valore>
24
- oppure
25
- <nome_variabile> = <espressione>
26
-
27
- Esempi: v1 = 13
28
- e1 = 3*4^2 #=> 48
29
- e2 = a*b+c // a,b,c definite
30
-
31
- (operazioni consentite: +,-,*,/,^)
32
-
33
- L'interprete fa differenza tra lettere minuscole e lettere maiuscole per le variabili.
34
-
35
- _____________________________________
36
- #_VISUALIZZAZIONE DI UNA VARIABILE:_#
37
- *************************************
38
-
39
- shw: <nome variabile> oppure <nome_variabile>
40
-
41
- Esempi: // v1 = 13
42
- shw: v1 #=> 13
43
- v1 #=> 13
44
-
45
- Visualizzazione di tutte le variabili inserite tramite parola chiave 'shwvar:' (argomento non richiesto).
46
-
47
- Esempio: // v1 = 13, v2 = 22
48
- shwvar: #=> v1 = 13, #=> v2 = 22
49
-
50
- _________________
51
- #_COMPARAZIONI:_#
52
- *****************
53
-
54
- <espressione> = <espressione>
55
-
56
- Esempi: 12+7 = 10+9 #=> true
57
- 12*8 = 20^123 #=> false
58
-
59
- a/b = c*f #=> true/false
60
-
61
- ______________________________
62
- #_CREAZIONE DI UNA FUNZIONE:_#
63
- ******************************
64
-
65
- <nome_funzione> = f: "<definizione_funzione>"
66
-
67
- Esempi: fx = f: "x*log(x)"
68
- gx = f: "y^z"
69
-
70
- Funzioni algebriche momentaneamente supportate: log, sin, cos, exp, tan;
71
- Costanti: PI (pigreco)
72
-
73
- Vincoli: i parametri devono essere composti da una sola lettera (x,y,k,a...).
74
-
75
- Attenzione: l'interprete fa uso dei metodi risolutivi delle funzioni di ruby.
76
- Pertanto, le divisioni con numeri restituiscono un numero nel formato corrispondente al
77
- quello del denominatore. Esempio: 1/2 #=> 0 (integer => integer); 1/2.0 #=> 0.5 (float => float)
78
-
79
- _____________________________
80
- #_CREAZIONE DI UNA MATRICE:_#
81
- *****************************
82
-
83
- Matrice inserita da terminale:
84
-
85
- <nome_matrice> = mx: "<n_righe>,<n_colonne>"
86
-
87
- Martice secondo una certa funzione righe-colonne (o numero):
88
-
89
- <nome_matrice> = mx: "<n_righe>,<n_colonne>" as: "<definizione_funzione>"
90
-
91
- oppure:
92
-
93
- <nome_matrice> = mx: "<n_righe>,<n_colonne>" as: <nome_funzione>
94
-
95
- Matrice caricata da file:
96
-
97
- <nome_matrice> = mx: from: "<percorso_file>"
98
-
99
- Metrice identità:
100
-
101
- <nome_matrice> = id_mx: <grandezza>
102
-
103
- Esempi: m1 = mx: "4,4" // creazione di una matrice 4x4 con valori inseriti dall'utente
104
- m2 = mx: "4,4" as: "r*c" // creazione matrice 4x4 dove ogni elemento è dato dal prodoto riga*colonna
105
-
106
- // kx = f: "r*c"
107
-
108
- m4 = mx: "4,4" as: kx // analogo all'esempio precedente
109
- m5 = mx: from: "/home/usr/Desktop/matrice.csv" // carica la matrice scritta nel file .csv
110
- id = id_mx: 5 // Crea una matrice identità 5x5
111
-
112
- Operazioni consentite: +,-,*,/ (per uno scalare),^ (per uno scalare)
113
-
114
- E' possibile inserire come valori in una matrice semplici operazioni come 3/4, 10^5;
115
-
116
- _________________________
117
- #_OPERAZIONI SU MATRICI_#
118
- *************************
119
-
120
- Trasposizione: t: <nome_matrice>
121
- Esempio:
122
- // m1: matrice 4x7
123
- t: m1 #=> matrice 7x4
124
-
125
- Norma: norm: <nome_matrice>
126
- Esempio:
127
- norm: m1
128
-
129
- Determinante: det: <nome_matrice>
130
- Esempio:
131
- // m0: matrice 6x6
132
- det: m0
133
-
134
- // Si possono assegnare i risultati ad una variabile
135
-
136
- ________________________________
137
- #_INTEGRAZIONE DI UNA FUNZIONE_#
138
- ********************************
139
-
140
- integ: "<definizione_funzione>" "<intervallo>" <numero_inervalli_quadratura> ("<metodo_integrazione>")
141
- E' possibile sostituire la definizione della funzione con il nome di una variabile contenente una funzione.
142
- Si può assegnare il risultato ad una variabile.
143
-
144
- Esempi: integ: "x*log(x^2)" "3,10" 50 // integrazione della funzione 'x*log(x^2)' sull'intervallo 3-10 su 50 intervalli
145
- integ: "x*log(x^2)" "3,10" 50 "midpoint"
146
- // sx = f: "x*log(x^2)"
147
- integ: sx "3,10" 50
148
-
149
- Metodi di integrazione: trapezes // metodo dei trapezi
150
- rectl // metodo dei rettangoli sinistri
151
- rectr // metodo dei rettangoli destri
152
- midpoint // metodo dei rettangoli medi
153
- simpson // metodo di simpson (default)
154
- boole // metodo di boole
155
-
156
- ______________________
157
- #_FATTORIZZAZIONE LU_#
158
- **********************
159
-
160
- solve: <nome_matrice> ~ <nome_matrice_soluzione>
161
- oppure
162
- solve: <espressione_matrici> ~ <espressione_matrici>
163
-
164
- E' possibile assegnare il risultato ad una variabile
165
-
166
- Esempi:
167
- a,b,c: matrici 3x3
168
- d : matrice 3x1
169
-
170
- solve: a ~ d // restituisce il vettore soluzione x (d: vettore dei termini noti delle equazioni del sistema)
171
- solve: a*b ~ c*d // restituisce il vettore soluzione della matrice risultante da a*b
172
-
173
- Fattorizzazione LU con inserimento diretto delle matrici:
174
-
175
- solve: (mx: "4,4") ~ (mx: "4,1")
176
-
177
- Le matrici L e U vengono salvate come variabili con i rispettivi nomi (L,U)
178
-
179
- _______________________________
180
- #_SCRITTURA DI VALORI SU FILE_#
181
- *******************************
182
-
183
- <valore> > "<percorso_file>"
184
- oppure
185
- <espressione> > "<percorso_file>"
186
- oppure
187
- <nome_variabile> > "<percorso_file>"
188
-
189
- Esempi: 23 > "/home/usr/Desktop/val.txt" // scrive il numero 23 sul file indicato. Se non esiste il file viene creato
190
- s*q0+1 > "/home/usr/Desktop/val.txt" // scrive il risultato dell'espressione sul file indicato
191
- // mk: matrice 8x8
192
- mk > "/home/usr/Desktop/matrice.csv" // scrive la matrice 'mk' sul file csv indicato.
193
-
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
-
202
-
203
-
204
-
205
-
206
-
207
-
208
-
209
-
210
-
211
-