35 lines
1.4 KiB
Text
35 lines
1.4 KiB
Text
;Task:
|
|
Display a finite [[wp:linear combination|linear combination]] in an infinite vector basis <big><math>(e_1, e_2,\ldots)</math></big>.
|
|
|
|
Write a function that, when given a finite list of scalars <big><math>(\alpha^1,\alpha^2,\ldots)</math></big>, <br>creates a string representing the linear combination <big><math>\sum_i\alpha^i e_i</math></big> in an explicit format often used in mathematics, that is:
|
|
|
|
:<big><math>\alpha^{i_1}e_{i_1}\pm|\alpha^{i_2}|e_{i_2}\pm|\alpha^{i_3}|e_{i_3}\pm\ldots</math></big>
|
|
|
|
where <big><math>\alpha^{i_k}\neq 0</math></big>
|
|
|
|
|
|
<br>
|
|
The output must comply to the following rules:
|
|
* don't show null terms, unless the whole combination is null.
|
|
::::::: '''e(1)''' is fine, '''e(1) + 0*e(3)''' or '''e(1) + 0''' is wrong.
|
|
* don't show scalars when they are equal to one or minus one.
|
|
::::::: '''e(3)''' is fine, '''1*e(3)''' is wrong.
|
|
* don't prefix by a minus sign if it follows a preceding term. Instead you use subtraction.
|
|
::::::: '''e(4) - e(5)''' is fine, '''e(4) + -e(5)''' is wrong.
|
|
|
|
<br>
|
|
Show here output for the following lists of scalars:
|
|
<pre>
|
|
1) 1, 2, 3
|
|
2) 0, 1, 2, 3
|
|
3) 1, 0, 3, 4
|
|
4) 1, 2, 0
|
|
5) 0, 0, 0
|
|
6) 0
|
|
7) 1, 1, 1
|
|
8) -1, -1, -1
|
|
9) -1, -2, 0, -3
|
|
10) -1
|
|
</pre>
|
|
<br><br>
|
|
|