fricas
choose(a,n) ==
j:=[i for i in 1..n]
r:=[[a(j(i)) for i in 1..n]]
k:=n
while k>0 and j(k)+n-k<#a repeat
j(k):=j(k)+1
for i in k..n-1 repeat j(i+1):=j(i)+1
r:=concat(r,[a(j(i)) for i in 1..n])
k:=n; while j(k)+n-k>=#a and k>1 repeat k:=k-1
if binomial(#a,n)~=#r then error "error in choose"
return r
Type: Void
fricas
f(i,j)==reduce(+,map((x:List Expression Integer):Expression Integer +-> reduce(*,x,1),choose([r[q] for q in 1..n|q~=j],n-i-1)))
Type: Void
fricas
n:=2
fricas
f(0,1)
fricas
Compiling function choose with type (List(Symbol),Integer) -> List(
List(Symbol))
fricas
Compiling function f with type (NonNegativeInteger,PositiveInteger)
-> Expression(Integer)
Type: Expression(Integer)
fricas
f(0,2)
Type: Expression(Integer)
fricas
f(1,1)
fricas
Compiling function f with type (PositiveInteger,PositiveInteger) ->
Expression(Integer)
Type: Expression(Integer)
fricas
f(1,2)
Type: Expression(Integer)
fricas
n:=3
fricas
f(0,1)
Type: Expression(Integer)
fricas
f(0,2)
Type: Expression(Integer)
fricas
f(0,3)
Type: Expression(Integer)
fricas
f(1,1)
Type: Expression(Integer)
fricas
f(1,2)
Type: Expression(Integer)
fricas
f(1,3)
Type: Expression(Integer)
fricas
f(2,1)
Type: Expression(Integer)
fricas
f(2,2)
Type: Expression(Integer)
fricas
f(2,3)
Type: Expression(Integer)
fricas
reduce(+,[exp(r[j])/reduce(*,[r[j]-r[m] for m in 1..3 | j~=m]) for j in 1..3])
Type: Expression(Integer)
one
fricas
eq42 := _
-r2*r3*r4*exp(r1)/((r1-r2)*(r1-r3)*(r1-r4)) + _
-r1*r3*r4*exp(r2)/((r2-r1)*(r2-r3)*(r2-r4)) + _
-r1*r2*r4*exp(r3)/((r3-r1)*(r3-r2)*(r3-r4)) + _
-r1*r2*r3*exp(r4)/((r4-r1)*(r4-r2)*(r4-r3))
Type: Expression(Integer)
three
fricas
htrigs eval(eq42, [r3=-r1,r4=-r2])
Type: Expression(Integer)
fricas
htrigs limit(%,r2=r1)
Type: Expression(Integer)
fricas
eq43 :=
(r2*r3 + r3*r4 + r4*r2)*exp(r1)/((r1-r2)*(r1-r3)*(r1-r4)) + _
(r1*r3 + r3*r4 + r4*r1)*exp(r2)/((r2-r1)*(r2-r3)*(r2-r4)) + _
(r1*r2 + r2*r4 + r4*r1)*exp(r3)/((r3-r1)*(r3-r2)*(r3-r4)) + _
(r1*r2 + r2*r3 + r3*r1)*exp(r4)/((r4-r1)*(r4-r2)*(r4-r3))
Type: Expression(Integer)
fricas
htrigs eval(eq43, [r3=-r1,r4=-r2])
Type: Expression(Integer)
fricas
htrigs limit(%,r2=r1)
Type: Expression(Integer)