{"id":17862532,"url":"https://github.com/krdlab/lisys","last_synced_at":"2025-03-20T23:32:11.448Z","repository":{"id":2182919,"uuid":"3130366","full_name":"krdlab/lisys","owner":"krdlab","description":"LAPACK wrapper for C# + Matrix/Vector + Some well-known statistical techniques","archived":false,"fork":false,"pushed_at":"2013-04-01T12:23:26.000Z","size":208,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-11T03:43:24.688Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krdlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-01-08T15:16:53.000Z","updated_at":"2023-01-12T17:10:57.000Z","dependencies_parsed_at":"2022-07-10T03:31:34.166Z","dependency_job_id":null,"html_url":"https://github.com/krdlab/lisys","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krdlab%2Flisys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krdlab%2Flisys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krdlab%2Flisys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krdlab%2Flisys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krdlab","download_url":"https://codeload.github.com/krdlab/lisys/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221810196,"owners_count":16884063,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-28T08:53:10.042Z","updated_at":"2024-10-28T08:53:10.753Z","avatar_url":"https://github.com/krdlab.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lisys (Japanese)\n\n## What is it?\n\nLisys = LAPACK wrapper for C# + Matrix/Vector + Some well-known statistical techniques\n\n## Features\n\n* Vector, RowVector, ColumnVector\n* Matrix\n* Eigenvalues/vectors\n* Singular Value Decomposition\n* LU Decomposition\n* Solver\n* Linear Discriminant Analysis\n* ...etc\n\n## Build \u0026 Run\n\n1.  LAPACK と Mingw の lib/dll を取得\n\n    次のサイトを参考に Windows 用の lib/dll をダウンロード\n\n    \u003chttp://icl.cs.utk.edu/lapack-for-windows/lapack/#librairies\u003e\n\n    (Section: \"Prebuilt dynamic libraries using Mingw\")\n\n2.  \"law\" プロジェクトを以下のように設定\n\n    \u003chttp://icl.cs.utk.edu/lapack-for-windows/lapack/#librairies\u003e\n\n    Section: \"Prebuilt dynamic libraries using Mingw\" の Instructions に従って設定する．\n\n3.  \"law\" -\u003e \"lisys\" の順番でプロジェクトをビルド\n\n4.  自身のプロジェクトにおける「参照の追加」で以下のファイルを設定\n    * `lisys.dll`\n    * `law.dll`\n\n    一緒に `*.xml` がコピーされ，Visual Studio 上でパラメータヒントが出るようになります．\n\n5.  Windows のルールに従って LAPACK 関連の DLL を配置\n    * `liblapack.dll`\n    * `libblas.dll`\n    * `libgcc_s_dw2-1.dll`\n    * `libgfortran-3.dll`\n    * `libquadmath-0.dll`\n\n## Test\n\nNUnit を利用しています．\n\n1. NUnit をインストール\n2. test プロジェクトをビルド\n3. test/data フォルダを test/bin/Debug 以下にコピー\n4. NUnit から test/bin/Debug/test.dll を実行\n\n## Sample\n\n### sample 1\n\n```csharp\nconst int C = 3;\nvar data = new Matrix[C];\n\n// input\nfor (int i = 0; i \u003c C; ++i)\n{\n    data[i] =\n        File.ReadAllLines(String.Format(\"data/iris/data_{0}.csv\", i), Encoding.UTF8)\n            .Select(line =\u003e\n                line.Split(',').Select(s =\u003e Double.Parse(s)).ToRow())\n            .ToMatrix();\n}\n\nLda result = Func.Lda(data);\n\n// Coefficients of linear discriminants\nvar ldc1 = new ColumnVector(result.Eigenvectors[0]);\nvar ldc2 = new ColumnVector(result.Eigenvectors[1]);\nvar coef = new Matrix(ldc1, ldc2);\n\nfor (int i = 0; i \u003c C; ++i)\n{\n    var m = data[i] * coef;   // calculate scores\n\n    // output\n    File.WriteAllText(String.Format(\"result_{0}.csv\", i), Matrix.ToCsv(m), Encoding.UTF8);\n}\n```\n\n### sample 2\n\n```csharp\nvar m = new Matrix(new[,] {\n                    {86.0, 67.0},\n\n                    // ...\n\n                    {96.0, 61.0} });\n\n// correlation matrix\nvar cor1 = Func.Correlate(m, Func.Target.EachColumn);\n\nMatrixVisualizer.TestShowVisualizer(cor1);  // test method of DebuggerVisualizer\n\n// normalization -\u003e correlation matrix\nvar n = new Matrix(m);\nn.Columns.ForEach((ci, cv) =\u003e {\n    var avg = cv.Average;\n    var std = Math.Sqrt(cv.UnbiasedVariance);\n    cv.Apply((i, val) =\u003e (val - avg) / std);\n});\n\nvar cor2 = Matrix.T(n) * n / (n.RowSize - 1);\n\nMatrixVisualizer.TestShowVisualizer(cor2);\n```\n\n### other\n\n  その他細かな利用方法は `test` や `sample` プロジェクトを参照してください．\n\n## License\n\nMIT License\n\nCopyright (C) 2007- KrdLab All Rights Reserved.\n\n## TODO\n\n* 64bit 対応\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrdlab%2Flisys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrdlab%2Flisys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrdlab%2Flisys/lists"}