Help me about loop invariant of LCM

  • Thread starter Thread starter flying2000
  • Start date Start date
  • Tags Tags
    Invariant Loop
flying2000
Messages
40
Reaction score
0
please help me, i was stuck in here 2 days!
algorithm to prove lcm:

a:=m
b:=n
while a != b
if a < b
a:= a + m
else
b:= b + n

//postcondition: a is the lcm(m,n)

what's the loop invariant?I thought it is(not sure):
lcm(ak, bk) = lcm(ak/m, bk/n) *lcm(m,n)
I am not sure and also impossible to prove my loop invariant...
 
Physics news on Phys.org
Forget it! problem soloved ...

Forget it! problem soloved ... :smile:
 


The loop invariant in this algorithm is the fact that at each iteration, the value of a is a multiple of m and the value of b is a multiple of n. This can be proven by induction.

At the beginning of the loop, a and b are initialized to m and n respectively, which are both multiples of themselves. So the invariant holds true for the first iteration.

Assuming the invariant holds true for the kth iteration, we can show that it also holds true for the (k+1)th iteration. If a < b, then a will be incremented by m, which is a multiple of m. Similarly, if b < a, then b will be incremented by n, which is a multiple of n. So in both cases, the invariant holds true for the (k+1)th iteration.

Finally, when the loop terminates, we have a = lcm(m,n), which is a multiple of both m and n. Therefore, the loop invariant also holds true for the postcondition.

Regarding the loop invariant that you have suggested, lcm(ak, bk) = lcm(ak/m, bk/n) * lcm(m,n), it is not a valid invariant for this algorithm. This is because at each iteration, the values of a and b are not necessarily equal to ak/m and bk/n respectively. They are only incremented by m and n, but their initial values are still m and n. Therefore, the original loop invariant holds true in this case.
 
##\textbf{Exercise 10}:## I came across the following solution online: Questions: 1. When the author states in "that ring (not sure if he is referring to ##R## or ##R/\mathfrak{p}##, but I am guessing the later) ##x_n x_{n+1}=0## for all odd $n$ and ##x_{n+1}## is invertible, so that ##x_n=0##" 2. How does ##x_nx_{n+1}=0## implies that ##x_{n+1}## is invertible and ##x_n=0##. I mean if the quotient ring ##R/\mathfrak{p}## is an integral domain, and ##x_{n+1}## is invertible then...
The following are taken from the two sources, 1) from this online page and the book An Introduction to Module Theory by: Ibrahim Assem, Flavio U. Coelho. In the Abelian Categories chapter in the module theory text on page 157, right after presenting IV.2.21 Definition, the authors states "Image and coimage may or may not exist, but if they do, then they are unique up to isomorphism (because so are kernels and cokernels). Also in the reference url page above, the authors present two...
When decomposing a representation ##\rho## of a finite group ##G## into irreducible representations, we can find the number of times the representation contains a particular irrep ##\rho_0## through the character inner product $$ \langle \chi, \chi_0\rangle = \frac{1}{|G|} \sum_{g\in G} \chi(g) \chi_0(g)^*$$ where ##\chi## and ##\chi_0## are the characters of ##\rho## and ##\rho_0##, respectively. Since all group elements in the same conjugacy class have the same characters, this may be...
Back
Top