{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/effcient-projection-onto-the-nonconvex-ell-p","title":"Towards An Efficient Approach for the Nonconvex $\\ell_p$ Ball Projection: Algorithm and Analysis","arxiv_id":"2101.01350","date":"2021-01-05","proceeding":null,"authors":["Xiangyu Yang","Jiashan Wang","Hao Wang"],"abstract":"This paper primarily focuses on computing the Euclidean projection of a vector onto the $\\ell_{p}$ ball in which $p\\in(0,1)$. Such a problem emerges as the core building block in statistical machine learning and signal processing tasks because of its ability to promote the sparsity of the desired solution. However, efficient numerical algorithms for finding the projections are still not available, particularly in large-scale optimization. To meet this challenge, we first derive the first-order necessary optimality conditions of this problem. Based on this characterization, we develop a novel numerical approach for computing the stationary point by solving a sequence of projections onto the reweighted $\\ell_{1}$-balls. This method is practically simple to implement and computationally efficient. Moreover, the proposed algorithm is shown to converge uniquely under mild conditions and has a worst-case $O(1/\\sqrt{k})$ convergence rate. Numerical experiments demonstrate the efficiency of our proposed algorithm.","url_abs":"https://arxiv.org/abs/2101.01350v6","url_pdf":"https://arxiv.org/pdf/2101.01350v6.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"effcient-projection-onto-the-nonconvex-ell-p","repo_url":"https://github.com/optimizater/lp-ball-projection","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"effcient-projection-onto-the-nonconvex-ell-p","repo_url":"https://github.com/optmizator/lp-ball-projection","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}},{"paper_slug":"effcient-projection-onto-the-nonconvex-ell-p","repo_url":"https://github.com/won-j/lpballprojection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"unanswered"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2101.01350","atlas_url":"https://app.syntology.ai/?focus=2101.01350","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2101.01350"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/optimizater/lp-ball-projection","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/optmizator/lp-ball-projection","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/won-j/lpballprojection","reach":{"status":"unanswered"}}],"summary":{"ran_honours":1,"ran_fixture":1},"by_repo_kind":{"official":{"samples":2,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"70d6269a2b1a58a6","entry":"get_hyperplane_projection","repo":"optimizater/lp-ball-projection","repo_kind":"official","path":"alternating_proj_lib.py","file_url":"https://github.com/optimizater/lp-ball-projection/blob/HEAD/alternating_proj_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"70d6269a2b1a58a6"}},{"code_sha256_prefix":"276c3f229be220fe","entry":"get_weightedl1_ball_projection","repo":"optimizater/lp-ball-projection","repo_kind":"official","path":"alternating_proj_lib.py","file_url":"https://github.com/optimizater/lp-ball-projection/blob/HEAD/alternating_proj_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"276c3f229be220fe"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}