Hi There,

I want to make a predicate that do the following:

poly([1,2,3],2,Z).

Z= [2,4,6].

so it multiply the 2 with the list.

and another predicate that do the following:

prod_poly([1,2,3],[3,2,1],Z).

Z= [3,9,4,8,3]

this one see the elements in the list as 1 number so in this example

it will multiply 123 * 321 and return the answer in list Z. this

one is hard i hope someone can tell me how.

Thanks in advance

Kimos

ezze thanks for replay but this isnt what i want. my poly is with 3 inputs

poly([],[],[]).

Bill Spight i dont get your hint. how do you multiply polynomials ?

hope someone can help im realy stuck with thos 2 predicates

Dear kimos,

Example:

(5x^2 + 3x + 2) * (-4x^2 - 2x + 1) = y

prod_poly([5, 3, 2], [-4, -2, 1], Y).

Now the example you gave is not exactly that, but appears to assume that

x = 10, and carries partial products. However, given the name,

"prod_poly", I suspect that the meat of your assignment is to write a

program to multiply polynomials, represented as lists. That is something

that you learned to do in high school, I suspect.

Best wishes,

Bill

Example:

(5x^2 + 3x + 2) * (-4x^2 - 2x + 1) = y

prod_poly([5, 3, 2], [-4, -2, 1], Y).

Now the example you gave is not exactly that, but appears to assume that

x = 10, and carries partial products. However, given the name,

"prod_poly", I suspect that the meat of your assignment is to write a

program to multiply polynomials, represented as lists. That is something

that you learned to do in high school, I suspect.

Best wishes,

Bill

sure,

poly([],_,[]).

poly([X|L],V,[X2|L2]):-

X2 is X*V,

poly(L,V,L2).

its the first predicate youre looking for (in your first message)

Dear Bill

thanks for the replay.

i solved the first predicate afer hard work

poly([],N,[]).

poly([X|L],N,[X2|L2]):-

X2 is X*N,

poly(L,L2).

but im still stuck with the second one as u mention "multiply

polynomials, represented as lists" they didnt learned prolog im doing

this for my graduation project.

Dear kimos,

Did you take algebra, and learn how to multiply (x^2 - x + 3) and (2X^2

+ 3x - 10)? What steps did you take to do that multiplication?

If you did not take algebra, think back to when you learned arithmetic.

What steps did you take to multiply 234 and 637? They are equvalent to

(2x^2 + 3x + 4) times (6x^2 + 3x + 7), where x = 10.

Good luck!

Bill

Did you take algebra, and learn how to multiply (x^2 - x + 3) and (2X^2

+ 3x - 10)? What steps did you take to do that multiplication?

If you did not take algebra, think back to when you learned arithmetic.

What steps did you take to multiply 234 and 637? They are equvalent to

(2x^2 + 3x + 4) times (6x^2 + 3x + 7), where x = 10.

Good luck!

Bill

It could be a little bit easier to solve the problem by representing

(2x^2 + 3x + 4) with [4,3,2] ...

Thats true and thats what im trying to do represent it as [4,3,2].

but i cant find any answer for it

You can generate already (from the example above)

[28,21,14] (= [4,3,2] * 7) and

[12, 9, 6] (= [4,3,2] * 3)

You have to add them together only. Just don't forget, they mean

28 + 21x + 14x^2

_0_+ 12x + 9x^2 + 6x^3 ...

HTH

Thus, I thong you have to posible strategies:

a) The one the teachers doesn't like, but usually the best one:

convert your list to integer, multiply them, and convert the integer

to list

(it is perfect if your prolog has no limitation in integer's size).

b) Implement a multiply algorithm:

- a) Revert the order of list elements.

- b) Take first digit of one list and multiply the other list by it

("poly" can be now used).

- c) Do a recursive call.

- d) Add the result of "b)" to "c)", shiting "c)" (in order to

multiply by 10). Ruquirement, you need to implement an "addition"

rule:

1. List quastion -- polynomial arithmetic operations

2. Quastion about Process in C#

3. PrivateFontCollection Quastion

4. Quastion on selecting a JTAG emulator

5. Possibly a really dumb quastion about Quark...

6. Quastion on selecting a JTAG emulator

9. Related quastions. Question 2

10. Quastion about shared object

12. Some quastions about Webby

14. MySQL quastion

15. Followup quastion: Problem with parallel evaluation of integrals depending on a parameter