{"id":27637673,"url":"https://github.com/d-roberts/lq-backprop","last_synced_at":"2026-04-29T17:03:09.779Z","repository":{"id":112085858,"uuid":"281967821","full_name":"D-Roberts/lq-backprop","owner":"D-Roberts","description":"TensorFlow implementation of differentiable LQ matrix decomposition for all matrix orders.","archived":false,"fork":false,"pushed_at":"2024-08-02T17:39:10.000Z","size":27,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-23T21:18:25.171Z","etag":null,"topics":["autodiff","computer-vision","linear-algebra","normalization","orthogonality","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/D-Roberts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-07-23T14:03:49.000Z","updated_at":"2024-08-02T17:39:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"936b39a1-cb0c-49fe-adbc-f4e206c84c67","html_url":"https://github.com/D-Roberts/lq-backprop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/D-Roberts/lq-backprop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D-Roberts%2Flq-backprop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D-Roberts%2Flq-backprop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D-Roberts%2Flq-backprop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D-Roberts%2Flq-backprop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/D-Roberts","download_url":"https://codeload.github.com/D-Roberts/lq-backprop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/D-Roberts%2Flq-backprop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32435122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T13:34:34.882Z","status":"ssl_error","status_checked_at":"2026-04-29T13:34:29.830Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autodiff","computer-vision","linear-algebra","normalization","orthogonality","tensorflow"],"created_at":"2025-04-23T21:18:23.670Z","updated_at":"2026-04-29T17:03:09.774Z","avatar_url":"https://github.com/D-Roberts.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## LQ Matrix Backpropagation Algorithm Implementation\n\nTensorFlow implementation of differentiable LQ matrix decomposition for square, wide and deep tensors. This is in addition to the differentiable decompositions implemented by the authors in TensorFlow Core, PyTorch, and MXNet (and part of the official distributions).\n\n### To Cite [TODO@DR Update: oral presentation in the 8th International Conferance on Algorithmic Differentation (AD2024) and the SIAM proceedings in 2025]\n\nIf you use this implementation in your research please cite (QR and LQ Decomposition Matrix Backpropagation Algorithms for Square, Wide, and Deep - Real or Complex - Matrices and Their Software Implementation)[https://arxiv.org/pdf/2009.10071.pdf]:\n\n```\n@article{roberts2020qr,\n  title={QR and LQ Decomposition Matrix Backpropagation Algorithms for Square, Wide, and Deep - Real or Complex - Matrices and Their Software Implementation},\n  author={Roberts, Denisa AO and Roberts, Lucas R},\n  journal={arXiv preprint arXiv:2009.10071},\n  year={2020}\n}\n```\n\n\n## To Use\n```\nRequirements: tf \u003ev1; Python \u003e 3.6.\n\nRecommended: install Anaconda. \nCreate a tensorflow environment.\n\n\n# tf cpu only; v2 by default at this time.\n\nconda create -n tf tensorflow\nconda activate tf\n# conda install numpy\ngit clone https://github.com/D-Roberts/lq-backprop.git\ncd lq-backprop\n\n# to run tests\nconda install nose # new terminal may be necessary\nnosetests -v test_lq_op_grad.py \n\n# to use\n\n# Example:\n\nimport tensorflow as tf \nimport numpy as np \nfrom lq_op_grad import lq, LqGrad\n\nnp.random.seed(42)\na_np = np.random.uniform(-1, 1, (3, 2)).astype(np.float32)\na = tf.convert_to_tensor(a_np)\nl, q = lq(a)\ngrad = LqGrad(a, l, q, tf.ones_like(l), tf.ones_like(q))\nprint(grad)\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-roberts%2Flq-backprop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd-roberts%2Flq-backprop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd-roberts%2Flq-backprop/lists"}