## 1545 Reputation

19 years, 147 days

## My own code...

I believe this code is satisfactory for this task:

 F := proc () local S, E, L, Lexc, Linc, i, s; E, S := selectremove(type, {args}, identical({})); L := [op](S); S := NULL; for i to nops(L) do    Linc, Lexc := selectremove(member, L[i], `union`(S));    if Linc = {} then S := S, Lexc       else S := seq(          proc ()             local X;             X := [`intersect`, `minus`](s, Linc);             if X[1] = {} then E := {{}} end if;             op(remove(type, X, identical({})))          end proc(),          s = [S]), `if`(Lexc <> {}, Lexc, NULL)    end if end do; op(`union`({S},E)) end proc;

But I still am wondering if there is existing Maple function to carry out calculation of this combinatorial problem.

## In two steps....

I would attempt this:

 Sol[1] := {solve}(sys, vars, explicit = false): Sol[2] := factor(map(proc(E, S) solve(E union {b <> c, 0 < a^2 - b^2 + c^2}, vars, useassumptions = true, tryhard = false, explicit = true) assuming b::real, a::real, c::real, b <> c, 0 < a^2 - b^2 + c^2; end proc, Sol[1])): Cases := Sol[2]: for j do td := Cases; for i in Cases do td := map(proc(S, T) if evalb((S intersect T) = {}) then S else S intersect T, S minus T end if; end proc, td, i) end do; if td = Cases then break else Cases := td end if; print(j); end do: print(nops(Cases)); for j from 3 by -1 to 1 do print(op(select(nops = j, Cases))) end do;

Every subcase statement is a selection from these 90 statements.

Thumb if you like.

## Maple valuation rules....

You should familiarize yourself with Maple's evaluation rules first. B(4) is a function call. The result of a call (or the assignment) will be respresented without further valuation. To see this in action inject this print command before the fsolve:

 print(B(4) = eval(B(4))); A(p) := fsolve(B(4), x, ':-complex');

Replace B(4) with eval(B(4)).

Thumb if you like.

## Alias....

I think what you are trying to do is:

restart;
S := seq(u[k] = u[k](x,y,t),k = 1 .. 4), seq(a[k] = a[k](x,y,t),k = 1 .. 4);
alias(S);
op(a[1]);

Observe the contents of S.

Thumb if You like.

## Lookup ?surd....

Also, you may want to take a look at
evalc(x^(1/3)); #and
solve(evalc(Im(x^(1/3))), {x});

## Real algebra....

Since the result is clearly a real number I presume you seek an algebraic computation on real values only:

`(64*abs(b)^4+4*(a-2)*((a-2)*abs(sinh(c))^2-8*Im(b)*Re(sinh(c))+8*Re(b)*Im(sinh(c)))*abs(b)^2+a^2*(16*Im(b)^2-4*Im(b)*(a-2)*Re(sinh(c))-16*Re(b)^2-4*Re(b)*(a-2)*Im(sinh(c))+a^2))/(4*abs(b)^2*abs(sinh(c))^2+a*(-4*Im(b)*Re(sinh(c))-4*Re(b)*Im(sinh(c))+a));`

Thumb if You like.

## See ?lprint...

If you are trying to view text form of your formula then lprint it.
lprint(expand(Q(h)));

## A different form....

Can you verify this formula?

```((product(q^i - 1, i = n + 1 - r .. n - 1))^2*((-(q^n - q - 1)^2 + q + 1)/(q^r)
+ ((q^n - 1)^2*(q^n - q)^2)/((q^r - 1)*(q^n)^2) - ((q^n)^2)/((q^r)^2))*
q^(1/2*r^2)*q^(- 1/2*r)*(q^n)^2)/((product(q^i - 1, i = 1 .. r - 1))*q^2);
```

Thumb if You like.

## Missing eval....

I think your second code is equivalent to the following;
evalf(''Pi'');
eval(evalf(''Pi''));
evalf(eval(evalf(''Pi'')));

It should have been:
evalf(''Pi''):
evalf('"');

## Solve....

If you want to use solve in your example then you can simply use this option:
[solve]({0 < 272*c^3-213*c^2+52*c-4}, c, real, explicit = false); evalf(%); evalc(convert(%%, radical));

Thumb if You like.

## Partial fractions....

Is this form more acceptable:

## Roots....

Your expression is always a root (in lambda) of one of these:

3*lambda^2+(l^4+36)*lambda+3*l^4+108
-3*lambda^4+((3/2)*l^4+18)*lambda^3+(l^8+(141/4)*l^4+81)*lambda^2+(3/2)*(l^4-12)*(l^4+18)*lambda+81*l^4-972
162+2*lambda^4+(l^4+24)*lambda^3+((7/2)*l^4+108)*lambda^2+(3*l^4+216)*lambda
l^4*lambda+3*l^4-3*lambda^2

Thumb if You like.

## One attempt:...

```sys := {w = -2*Pi*i*k_2*v + 2*Pi*i*k_2*(4*K^2)/(5*Pi)*u, z = -2*Pi*i*k_1*v + 2*Pi*i*k_1*(4*K^2)/(5*Pi)*u, p*s*x = -2*Pi*i*k_1*u - 4*Pi^2*(k_1^2 + k_2^2)*x + a_1, p*s*y = -2*Pi*i*k_2*u - 4*Pi^2*(k_1^2 + k_2^2)*y + a_2, k_1*z + k_2*w = 0, k_1*x + k_2*y = 0};
sys union {-RootOf(_Z^2+1)*z-w, RootOf(_Z^2+1)*x+y};
solve(% union {w<>0});
map2(remove, evalb, [%]);
eliminate(%[1], {x, y, z, u, v, w});
collect(%, [Pi, K], factor);
```

## See ?combinat,partition...

In the title.

## Complete the problem first......

First look at this:

```(() -> solve({args}, indets({args}, name) minus {t}))(eq || (`\$`(1 .. 4))); subs(t = 0, %); allvalues(%);```