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.
- checksums.yaml +4 -4
- data/README.md +5 -5
- data/Rakefile +31 -0
- data/bin/linmeric +6 -3
- data/doc/Archive.html +3 -2
- data/doc/Calculator.html +2 -1
- data/doc/Calculator/Evaluator.html +3 -2
- data/doc/Calculator/Lexer.html +3 -2
- data/doc/Calculator/Token.html +3 -2
- data/doc/Dim.html +6 -5
- data/doc/Filename.html +5 -4
- data/doc/Fixnum.html +13 -152
- data/doc/Float.html +6 -5
- data/doc/Function.html +3 -2
- data/doc/InputError.html +2 -1
- data/doc/IntNum.html +249 -0
- data/doc/Integer.html +114 -0
- data/doc/Integrators.html +2 -1
- data/doc/LU.html +2 -1
- data/doc/Lexer.html +3 -2
- data/doc/Linmeric.html +2 -1
- data/doc/Listener.html +3 -2
- data/doc/Matrix.html +37 -36
- data/doc/MyArgError.html +2 -1
- data/doc/NilClass.html +5 -4
- data/doc/Numeric.html +6 -5
- data/doc/Object.html +117 -0
- data/doc/Parser.html +9 -8
- data/doc/PrintError.html +2 -1
- data/doc/README_md.html +16 -14
- data/doc/Scp.html +3 -2
- data/doc/Sizer.html +9 -5
- data/doc/String.html +12 -11
- data/doc/Token.html +3 -2
- data/doc/Tool.html +2 -1
- data/doc/created.rid +18 -18
- data/doc/css/fonts.css +6 -6
- data/doc/index.html +22 -14
- data/doc/js/darkfish.js +7 -7
- data/doc/js/jquery.js +4 -9404
- data/doc/js/navigation.js.gz +0 -0
- data/doc/js/search_index.js +1 -1
- data/doc/js/search_index.js.gz +0 -0
- data/doc/js/searcher.js +3 -2
- data/doc/js/searcher.js.gz +0 -0
- data/doc/table_of_contents.html +23 -13
- data/lib/linmeric/CnGal_Matrix_class.rb +11 -5
- data/lib/linmeric/CnGal_new_classes.rb +14 -2
- data/lib/linmeric/Parser.rb +6 -6
- data/lib/linmeric/Sizer.rb +3 -0
- data/lib/linmeric/version.rb +1 -1
- data/lib/linmeric_bin.rb +2 -1
- metadata +9 -6
- data/doc/Instructions_en.txt +0 -207
- data/doc/Instructions_it.txt +0 -211
data/doc/Instructions_it.txt
DELETED
|
@@ -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
|
-
|