{"id":27198138,"url":"https://github.com/zakarialaoui10/zikomatrix","last_synced_at":"2025-04-09T20:32:44.072Z","repository":{"id":153536324,"uuid":"629027433","full_name":"zakarialaoui10/ZikoMatrix","owner":"zakarialaoui10","description":"Arduino library for creating and manipulating matrices of arbitrary size and data type. The library provides a Matrix class that can be used to create matrices, perform basic matrix operations","archived":false,"fork":false,"pushed_at":"2025-04-02T23:58:31.000Z","size":334,"stargazers_count":37,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T00:28:03.453Z","etag":null,"topics":["arduino","cpp","data-processing","esp32","esp8266","hardware","library","morocco","std"],"latest_commit_sha":null,"homepage":"https://www.arduino.cc/reference/en/libraries/zikomatrix/","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/zakarialaoui10.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-17T13:24:21.000Z","updated_at":"2025-04-02T23:58:35.000Z","dependencies_parsed_at":"2024-01-13T00:40:43.718Z","dependency_job_id":"62d17bdd-7394-404d-bd88-0bce24c928e5","html_url":"https://github.com/zakarialaoui10/ZikoMatrix","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakarialaoui10%2FZikoMatrix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakarialaoui10%2FZikoMatrix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakarialaoui10%2FZikoMatrix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zakarialaoui10%2FZikoMatrix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zakarialaoui10","download_url":"https://codeload.github.com/zakarialaoui10/ZikoMatrix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248107678,"owners_count":21048978,"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":["arduino","cpp","data-processing","esp32","esp8266","hardware","library","morocco","std"],"created_at":"2025-04-09T20:32:43.985Z","updated_at":"2025-04-09T20:32:44.059Z","avatar_url":"https://github.com/zakarialaoui10.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- rename \nfix map\n??\n --\u003e \n## Get Started              \n``` C++   \n // 1  \n int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};\n Matrix\u003c2,3,int\u003e M1(arr);\n // 2\n int arr[] = {1.6, 2.2, 3.9 , 4.7, 5.3, 6.8};\n Matrix\u003c2,3,float\u003e M2(arr);\n // 3\n Matrix\u003c5,5,int\u003e // A 5x5 Matrix filled by zeros\n```\n## Print to the terminal \n``` C++ \n  M1.print();\n```\n## Acces And Set Data\n|Mehode|Acces|Set|\n|-|--|--|\n|1|`M[i][j]`|`M[i][j]=4`|\n|2|`M(i,j)`|`M(i,j)=4`|\n|2|`M.at(i,j)`|`M.at(i,j)=4`|\n## Static Methodes \n``` C++\n  int r=2,c=3;\n  Matrix\u003cr, c\u003e Z = Matrix\u003cr, c\u003e::Zeros();\n  Matrix\u003cr, c\u003e O = Matrix\u003cr, c\u003e::Ones();\n  Matrix\u003c3\u003e Id = Matrix\u003c3\u003e::Id();\n  Matrix\u003c4,5\u003e Nums = Matrix\u003c4,5,double\u003e::Nums(6.7);\n```\n## Operators \n  ### List\nM1: Matrix\n|Operator |Operande|Syntax|\n|--|--|--|\n|+|M2:Matrix|`Matrix\u003cr,c,type\u003e M3=M1+M2;`|\n|+|a:Scalar|`Matrix\u003cr,c,type\u003e M3=M1+a;`|\n|-|M2:Matrix|`Matrix\u003cr,c,type\u003e M3=M1-M2;`|\n|-|a:Scalar|`Matrix\u003cr,c,type\u003e M3=M1-a;`|\n|*|M2:Matrix|`Matrix\u003cr,c,type\u003e M3=M1*M2;`|\n|*|a:Scalar|`Matrix\u003cr,c,type\u003e M3=M1*a;`|\n|/|a:Scalar|`Matrix\u003cr,c,type\u003e M3=M1/a;`|\n|=|a:Matrix|`Matrix\u003cr,c,type\u003e M3=M1;`|\n|%|a:Integer|`Matrix\u003cr,c,type\u003e M3=M1ùa;`|\n|+=|M2:Matrix|`M1+=M2;`|\n|+=|a:Scalar|`M1+=a;`|\n|-=|M2:Matrix|`M1-=M2;`|\n|-=|a:Scalar|`M1-=a;`|\n|*=|M2:Matrix|`M1*=M2;`|\n|*=|a:Scalar|`M1+=a;`|\n|/=|a:Scalar|`M1/=a;`|\n|%=|a:Integer|`M1%=a;`|\n  ### Examples\n``` C++\n   int arr1[2][3] = {{1, 2, 3},{4, 5, 6}};\n   int arr2[2][3] = {{2, 3, 4},{5, 6, 7}};\n   Matrix\u003c2,3,int\u003e M1(arr1);\n   Matrix\u003c2,3,int\u003e M2(arr2);\n   Matrix\u003c2,3,int\u003e M3=M1+M2;\n   Matrix\u003c2,3,int\u003e M4=M1-M2;\n   M3+=M3;\n   M4-=M3;\n```\n## Void Methodes \n|Methode|Description|Example|Condition|\n|-|--|-|--|\n|`.clone()`|||-|\n|`.print()`|||-|\n|`.at(i,j)`|Acces and set data||-|\n|`.det()`|The determinant of the given matrix|[View](https://github.com/zakarialaoui10/ZikoMatrix/edit/main/examples/2-0-Determinant)|should be a square matrix|\n|`.transpose()`|Transposes the given matrix |[View](https://github.com/zakarialaoui10/ZikoMatrix/edit/main/examples/2-1-Transpose)|-|\n|`.comatrice()`| |[View](https://github.com/zakarialaoui10/ZikoMatrix/edit/main/examples/Comatrice/comatrice.ino)|-|\n|`.reshape(r,c)`|Reshapes the given matrix|[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/2-5-Reshape)|The size of the new Matrix should be equal to the old one|\n|`.slice(r0,c0,r1,c1)`|Extracts a sub-matrix from the original matrix,|[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/2-4-Slice)|-|\n|`.deleteRow(i)`|Remove a specific row from the original matrix.|[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/2-6-DeleteRow/)|-|\n|`.deleteCol(j)`|Remove a specific column from the original matrix.|[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/2-7-DeleteCol/)|-|\n|`.hstack(M)`|Stacks the original matrix horizontally with the matrix M|[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/2-8-Hstack)|The number of cols in both matrices should be the same,|\n|`.vstack(M)`|Stacks the original matrix vertically with the matrix M|[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/2-9-Vstack/)|The number of rows in both matrices should be the same,|\n|`.foreach(lambda_func)`|Higher-order function that takes a function as an argument and applies it to each element of the Matrix.|[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/3-0-Foreach)|-|\n|`.clamp(min,max)`|clamp all matrix elements between min and max|[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/3-3-Norm)|-|\n|`.lerp(min,max)`||[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/3-4-Lerp)|-|\n|`.norm(min,max)`|Normalize the values in a matrix to a range between 0 and 1|[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/3-3-Norm)|-|\n|`.map(a1,b1,a2,b2)`|Map the values of a matrix from one range to another.|[View](https://github.com/zakarialaoui10/ZikoMatrix/blob/main/examples/3-2-Map)|-|\n|`.count(n)`|||-|\n## Testers\n|Methode|description|\n|-|---|\n|`isId()`|determines whether a given matrix is identity matrix or not|\n|`isSquare()`|determines whether a given matrix is square or not|\n|`isSym()`|determines whether a given matrix is symmetric or not|\n|`isAntiSym()`|determines whether a given matrix is antisymmetric or not|\n|`isInv()`|determines whether a given matrix is inversible or not|\n|`isZeros()`|determines whether a given matrix is filled by zeros or not|\n|`isOnes()`|determines whether a given matrix is filled by ones or not|\n\n# License \n This projet is licensed under the terms of MIT License \u003c/br\u003e\u003c/br\u003e![MIT](https://img.shields.io/github/license/zakarialaoui10/ZikoMatrix?color=rgb%2820%2C21%2C169%29)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzakarialaoui10%2Fzikomatrix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzakarialaoui10%2Fzikomatrix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzakarialaoui10%2Fzikomatrix/lists"}