{"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/pista-preconditioned-iterative-soft","title":"pISTA: preconditioned Iterative Soft Thresholding Algorithm for Graphical Lasso","arxiv_id":"2205.10027","date":"2022-05-20","proceeding":null,"authors":["Gal Shalom","Eran Treister","Irad Yavneh"],"abstract":"We propose a novel quasi-Newton method for solving the sparse inverse covariance estimation problem also known as the graphical least absolute shrinkage and selection operator (GLASSO). This problem is often solved using a second-order quadratic approximation. However, in such algorithms the Hessian term is complex and computationally expensive to handle. Therefore, our method uses the inverse of the Hessian as a preconditioner to simplify and approximate the quadratic element at the cost of a more complex \\(\\ell_1\\) element. The variables of the resulting preconditioned problem are coupled only by the \\(\\ell_1\\) sub-derivative of each other, which can be guessed with minimal cost using the gradient itself, allowing the algorithm to be parallelized and implemented efficiently on GPU hardware accelerators. Numerical results on synthetic and real data demonstrate that our method is competitive with other state-of-the-art approaches.","url_abs":"https://arxiv.org/abs/2205.10027v2","url_pdf":"https://arxiv.org/pdf/2205.10027v2.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"pista-preconditioned-iterative-soft","repo_url":"https://github.com/galsha/glasso_framework","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2205.10027","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2205.10027"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/galsha/glasso_framework","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"unverified":4},"by_repo_kind":{"official":{"samples":4,"ran":0,"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":"ea9e19bc9b3762ce","entry":"objective_Q","repo":"galsha/glasso_framework","repo_kind":"official","path":"algos/GLASSO/GISTA.py","file_url":"https://github.com/galsha/glasso_framework/blob/HEAD/algos/GLASSO/GISTA.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"ea9e19bc9b3762ce"}},{"code_sha256_prefix":"24a17f0a3e5baadb","entry":"objective_Q","repo":"galsha/glasso_framework","repo_kind":"official","path":"algos/GLASSO/NL_fista.py","file_url":"https://github.com/galsha/glasso_framework/blob/HEAD/algos/GLASSO/NL_fista.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"24a17f0a3e5baadb"}},{"code_sha256_prefix":"f670853cdb887eeb","entry":"objective_Q","repo":"galsha/glasso_framework","repo_kind":"official","path":"algos/GLASSO/cuda_GISTA.py","file_url":"https://github.com/galsha/glasso_framework/blob/HEAD/algos/GLASSO/cuda_GISTA.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f670853cdb887eeb"}},{"code_sha256_prefix":"83141709adb8f69e","entry":"objective_Q","repo":"galsha/glasso_framework","repo_kind":"official","path":"algos/GLASSO/cuda_NL_fista.py","file_url":"https://github.com/galsha/glasso_framework/blob/HEAD/algos/GLASSO/cuda_NL_fista.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"83141709adb8f69e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}