{"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/arxiv-2606-17584","title":"Root-Selecting Fixed-Point Inversion for Rectified Flows via Trajectory Straightness","arxiv_id":"2606.17584","date":"2026-06-16","proceeding":null,"authors":["Semin Kim","Jihwan Yoon","Seunghoon Hong"],"abstract":"Finding the initial noise that generates a given data sample, known as inversion, is a key component for downstream applications such as training-free image editing. Existing fixed-point inversion methods improve inversion accuracy by formulating each inversion step as a fixed-point problem, but they lack a principled mechanism for selecting among multiple fixed-point solutions that can arise in practice. We observe that different selections induce different inversion trajectories, leading to substantial variation in reconstruction and editing quality. For rectified flows, we further find that this variation is closely associated with trajectory straightness, motivating straightness as a principled selection criterion. We propose SelFix, a fixed-point inversion method that selects fixed-point solutions inducing straighter inverse trajectories while retaining convergence to an exact inverse root under standard local assumptions. Experiments on FLUX.1-dev and PIE-Bench show that SelFix improves fixed-point inversion, achieving stronger real-image reconstruction and better source-preserving prompt-based editing than prior inversion baselines. The code is available at https://github.com/seminkim/selfix.","url_abs":"https://arxiv.org/abs/2606.17584","url_pdf":"https://arxiv.org/pdf/2606.17584","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2606.17584","atlas_url":"https://app.syntology.ai/?focus=2606.17584","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2606.17584"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/seminkim/selfix","reach":null}],"summary":{"ran":1,"ran_fixture":3,"ran_draft_wrong":1,"ran_honours":1,"unverified":8},"by_repo_kind":{"found_in_text":{"samples":14,"ran":6,"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":"5178fdd6859e13c2","entry":"EmbedND","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5178fdd6859e13c2"}},{"code_sha256_prefix":"9bdc709d18d53c26","entry":"build_selfix_anchor","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9bdc709d18d53c26"}},{"code_sha256_prefix":"47b22f016f97675d","entry":"ensure_trajectory_trace","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"47b22f016f97675d"}},{"code_sha256_prefix":"002c583990a22f88","entry":"rope","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"002c583990a22f88"}},{"code_sha256_prefix":"1cf7c50df1445c34","entry":"selfix_alpha","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1cf7c50df1445c34"}},{"code_sha256_prefix":"a9582679966b70d1","entry":"update_trajectory_straightness","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a9582679966b70d1"}},{"code_sha256_prefix":"d65024541e358923","entry":"DoubleStreamBlock","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d65024541e358923"}},{"code_sha256_prefix":"3df4544ac81c813f","entry":"Flux","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3df4544ac81c813f"}},{"code_sha256_prefix":"0b8453ea4488f39a","entry":"SelfAttention","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"0b8453ea4488f39a"}},{"code_sha256_prefix":"509e32cf1aee04b7","entry":"SingleStreamBlock","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"509e32cf1aee04b7"}},{"code_sha256_prefix":"9060f70adf38d1aa","entry":"attention","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9060f70adf38d1aa"}},{"code_sha256_prefix":"a80fa6c7644f1679","entry":"denoise_selfix","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a80fa6c7644f1679"}},{"code_sha256_prefix":"d3ce3416d7783d35","entry":"record_latent_trajectory","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d3ce3416d7783d35"}},{"code_sha256_prefix":"ed9c768b107b4796","entry":"timestep_embedding","repo":"seminkim/selfix","repo_kind":"found_in_text","path":"src/flux/sampling.py","file_url":"https://github.com/seminkim/selfix/blob/HEAD/src/flux/sampling.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ed9c768b107b4796"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,885 of the 9,623 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9623,"papers_checked":6885},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}