{"id":25441427,"url":"https://github.com/bertcarnell/oa","last_synced_at":"2026-04-19T23:11:43.442Z","repository":{"id":4079457,"uuid":"5184977","full_name":"bertcarnell/oa","owner":"bertcarnell","description":"Orthogonal Arrays based on Owen from Statlib","archived":false,"fork":false,"pushed_at":"2026-04-17T02:19:43.000Z","size":2226,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-17T03:37:24.330Z","etag":null,"topics":["c-plus-plus","orthogonal-arrays","r","rcpp"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bertcarnell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE_LGPLv3.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2012-07-25T21:48:06.000Z","updated_at":"2026-04-17T02:19:47.000Z","dependencies_parsed_at":"2022-08-28T03:30:40.065Z","dependency_job_id":null,"html_url":"https://github.com/bertcarnell/oa","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bertcarnell/oa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertcarnell%2Foa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertcarnell%2Foa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertcarnell%2Foa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertcarnell%2Foa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bertcarnell","download_url":"https://codeload.github.com/bertcarnell/oa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bertcarnell%2Foa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32025834,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["c-plus-plus","orthogonal-arrays","r","rcpp"],"created_at":"2025-02-17T12:28:03.947Z","updated_at":"2026-04-19T23:11:43.421Z","avatar_url":"https://github.com/bertcarnell.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"oa\n==\n\nOrthogonal Arrays based on Owen from Statlib.  Still available [here](http://ftp.uni-bayreuth.de/math/statlib/designs/)\n\n### Status\n\n|\u003csub\u003eCode Coverage\u003c/sub\u003e|\u003csub\u003eActions\u003c/sub\u003e|\u003csub\u003eCodeQL\u003c/sub\u003e|\u003csub\u003eLinter\u003c/sub\u003e|\n|:---:|:---:|:---:|:---:|\n|[![codecov](https://codecov.io/gh/bertcarnell/oa/branch/master/graph/badge.svg)](https://codecov.io/gh/bertcarnell/oa)|[![CMake](https://github.com/bertcarnell/oa/workflows/CMake/badge.svg)](https://github.com/bertcarnell/oa/actions)|[![CodeQL](https://github.com/bertcarnell/oa/workflows/CodeQL/badge.svg)](https://github.com/bertcarnell/oa/actions)|[![CppLinter](https://github.com/bertcarnell/oa/workflows/CppLinter/badge.svg)](https://github.com/bertcarnell/oa/actions)|\n\n### Documentation\n\n[Doxygen](http://bertcarnell.github.io/oa/html/index.html) code documentation\n\n### Examples\n\nNotes on each orthogonal array are from [Owen](http://ftp.uni-bayreuth.de/math/statlib/designs/).\n\n#### Addelman-Kempthorne (addelkemp)\n\nThe `addelkemp` program produces `OA( 2q^2, k, q, 2 )`,  `k \u003c= 2q+1`,\nfor odd prime powers `q`.  Even prime powers may be produced using\n`bosebush`.\n\n```c\nint q = 2;\nint ncol = 2*q;\nint n = 2*q*q;\noacpp::COrthogonalArray coa;\ncoa.addelkemp(q, ncol, \u0026n);\ncoa.getoa();\n```\n\n#### Addelman-Kempethorn (addelkemp3)\n\nThe `addelkemp3` program produces `OA( 2\\*q^3, k, q, 2 )`,  `k \u003c= 2q^2+2q+1`,\nfor prime powers `q`.  `q` may be an odd prime power, or `q` may\nbe `2` or `4`.\n\n```c\nint q = 3;\nint ncol = 2*q*q + 2*q + 1;\nint n;\noacpp::COrthogonalArray coa;\ncoa.addelkemp3(q, ncol, \u0026n);\ncoa.getoa();\n```\n\n#### Bose\n\nThe `bose` program produces `OA( q^2, k, q, 2 )`,  `k \u003c= q+1`\nfor prime powers `q`.\n\n```c\nint q = 2;\nint ncol = q;\nint n = 0;\noacpp::COrthogonalArray coa;\ncoa.bose(q, ncol, \u0026n);\ncoa.getoa();\n```\n\n#### Bose-Bush\n\nThe `bosebush` program produces `OA( 2q^2, k, q, 2 )`,  `k \u003c= 2q+1`,\nfor powers of `2`, `q=2^r`.\n\n```c\nint q = 8;\nint ncol = 5;\nint n = 0;\noacpp::COrthogonalArray coa;\ncoa.bosebush(q, ncol, \u0026n);\ncoa.getoa();\n```\n\n#### Bush\n\nThe `bush` program produces `OA( q^3, k, q, 3 )`,  `k \u003c= q+1`\nfor prime powers `q`.\n\n```c\nint q = 3;\nint ncol = 3;\nint n = 0;\noacpp::COrthogonalArray coa;\ncoa.bush(q, ncol, \u0026n);\ncoa.getoa();\n```\n\n#### Bose-Bush lambda\n\nThe `bosebushl` program produces `OA( lambda*q^2, k, q, 2 )`,  \n`k \u003c= lambda*q+1`, for prime powers `q` and `lambda \u003e 1`.  Both `q` and \n`lambda` must be powers of the same prime.\n\n```c\nint q = 2;\nint ncol = q;\nint lambda = 2;\nint n = 0;\noacpp::COrthogonalArray coa;\ncoa.bosebushl(lambda, q, ncol, \u0026n);\ncoa.getoa();\n```\n\n#### Bush t\n\nThe `bush` program produces `OA( q^t, k, q, t )`,  `k \u003c= q+1`, `t\u003e=3`,\nfor prime powers `q`.\n\n```c\nint q = 3;\nint ncol = 3;\nint str = 2;\nint n = 0;\noacpp::COrthogonalArray coa;\ncoa.busht(str, q, ncol, \u0026n);\ncoa.getoa();\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertcarnell%2Foa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbertcarnell%2Foa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbertcarnell%2Foa/lists"}