22 lines
366 B
Raku
22 lines
366 B
Raku
sub linear-combination(@coeff) {
|
|
(@coeff Z=> map { "e($_)" }, 1 .. *)
|
|
.grep(+*.key)
|
|
.map({ .key ~ '*' ~ .value })
|
|
.join(' + ')
|
|
.subst('+ -', '- ', :g)
|
|
.subst(/<|w>1\*/, '', :g)
|
|
|| '0'
|
|
}
|
|
|
|
say linear-combination($_) for
|
|
[1, 2, 3],
|
|
[0, 1, 2, 3],
|
|
[1, 0, 3, 4],
|
|
[1, 2, 0],
|
|
[0, 0, 0],
|
|
[0],
|
|
[1, 1, 1],
|
|
[-1, -1, -1],
|
|
[-1, -2, 0, -3],
|
|
[-1 ]
|
|
;
|