Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chebyshev bound function #3

Open
zhouyiqi91 opened this issue May 27, 2021 · 2 comments
Open

Chebyshev bound function #3

zhouyiqi91 opened this issue May 27, 2021 · 2 comments

Comments

@zhouyiqi91
Copy link

zhouyiqi91 commented May 27, 2021

According to VMLS:
cheb_bound = lambda x,a: npl.norm(x)**2//a**2

But in python companions,the denominator is not squared:
cheb_bound = lambda x,a: npl.norm(x)**2//a

Is this a mistake?

@vbartle
Copy link
Owner

vbartle commented May 27, 2021

Hi! Can you share where you see //a**2 in VMLS? I agree that in the book on 47 and 48, the authors describe squaring the whole RHS. I believe it was written as you describe in the notebooks though, because
in the Julia companion, found here, on 24 and 25, the authors describe floor(...//a) as an improvement in notation.

If this number is, say, 12.15, we can conclude that no more than 12 entries have absolute value at least a, since the number of entries is an integer. So the Chebyshev bound can be improved to be floor(‖x‖2/a), where floor(u) is the integer part of a positive number.

Curious what you think. And please let me know if you find anything else that might be incorrect!

@adricortes
Copy link

I came here to report the same. The mistake is still there in the VMLS Python Ch. 03 Norm.ipynb, in the cell where you have

cheb_bound = lambda x,a: npl.norm(x)**2//a

Thxs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants