## 260 Reputation

10 years, 139 days

## It is not enough...

Unfortunately, it does't resolve my problem. Actually I have much more complicated expression where your approach does't work. I'll present two simple problems. The first one can be resolved by your approach (after simple modification) but the second problem can't.

1)

> z:=a^4*conjugate(a^4);
> z:=simplify(z);
> # Here we get z:=|a|8

>z:=applyrule(abs(A::algebraic)2=A*conjugate(A),z);

># Here we get z:=|a|8 again!

This problem can be easily resolved:

....

>z:=applyrule(abs(A::algebraic)=sqrt(A*conjugate(A)),z);

># Here we get z:=a4*cojugate(a)4 (exactly what we need).

2)

> z := (a*b)2*conjugate((a*b)2);
> z := simplify(z);
> # Here we get z:=|a4*b4|
>z1:=applyrule(abs(A::algebraic)2=A*conjugate(A),z);
># Here we get z1:=|a4*b4|
> z2 := applyrule(abs(A::algebraic) = sqrt(A*conjugate(A)), z)

># We get z2:=sqrt(a4*b4*a4*b4) ! The result is wrong!?

Do you have any ideas how to derive a^2*conjugate(a)^2*b^2*conjugate(b)^2?

Thank you!

## It is not enough...

Unfortunately, it does't resolve my problem. Actually I have much more complicated expression where your approach does't work. I'll present two simple problems. The first one can be resolved by your approach (after simple modification) but the second problem can't.

1)

> z:=a^4*conjugate(a^4);
> z:=simplify(z);
> # Here we get z:=|a|8

>z:=applyrule(abs(A::algebraic)2=A*conjugate(A),z);

># Here we get z:=|a|8 again!

This problem can be easily resolved:

....

>z:=applyrule(abs(A::algebraic)=sqrt(A*conjugate(A)),z);

># Here we get z:=a4*cojugate(a)4 (exactly what we need).

2)

> z := (a*b)2*conjugate((a*b)2);
> z := simplify(z);
> # Here we get z:=|a4*b4|
>z1:=applyrule(abs(A::algebraic)2=A*conjugate(A),z);
># Here we get z1:=|a4*b4|
> z2 := applyrule(abs(A::algebraic) = sqrt(A*conjugate(A)), z)

># We get z2:=sqrt(a4*b4*a4*b4) ! The result is wrong!?

Do you have any ideas how to derive a^2*conjugate(a)^2*b^2*conjugate(b)^2?

Thank you!

## Cases...

I've got the following:

Example1

restart;
assume(d <> 0);
#assume(d::complex);
z := t = a/d;
z := z*d

result
z:=d~t=a

+++++++++++++++
Example2

restart;
#assume(d <> 0);
assume(d::complex);
z := t = a/d;
z := z*d

result
z:=d~t=a

++++++++++++++++
Example3

restart;
assume(d <> 0);
#assume(d::complex);
z := t = a/d;
z := z*d

result
z:=d~t=d~a/d~

++++++++++++++++
Example4

restart;
#assume(d <> 0);
assume(d::complex);
z := t = a/d;
z := z*d

result
z:=d~t=d~a/d~

## Cases...

I've got the following:

Example1

restart;
assume(d <> 0);
#assume(d::complex);
z := t = a/d;
z := z*d

result
z:=d~t=a

+++++++++++++++
Example2

restart;
#assume(d <> 0);
assume(d::complex);
z := t = a/d;
z := z*d

result
z:=d~t=a

++++++++++++++++
Example3

restart;
assume(d <> 0);
#assume(d::complex);
z := t = a/d;
z := z*d

result
z:=d~t=d~a/d~

++++++++++++++++
Example4

restart;
#assume(d <> 0);
assume(d::complex);
z := t = a/d;
z := z*d

result
z:=d~t=d~a/d~

## Maple defect?...

Ok. Maybe there are some reasons to make several copies of the variable. But Maple developers should create a tool allowing urers to combine all copies of the variable togeather into a single one. Maybe it  already exists but we don't know about it? Thank you.

## Maple defect?...

Ok. Maybe there are some reasons to make several copies of the variable. But Maple developers should create a tool allowing urers to combine all copies of the variable togeather into a single one. Maybe it  already exists but we don't know about it? Thank you.

## It works...

It works. Thank you!

## It works...

It works. Thank you!

 First 8 9 10 Page 10 of 10
﻿