gckohaku / gckohaku/cpp-neural-network

memo: 行列の加減算および要素積においての型の対応

Open
#6 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## 型の対応
|A\B |`MatrixStatic`|`MatrixRowStatic`|`MatrixColumnStatic`|`MatrixDynamic`|
|----------------------------------|----------------------------|------------------------------|-------------------------------|-----------------------|
|`MatrixStatic`|`MatrixStatic`|`MatrixStatic`|`MatrixStatic`|`MatrixStatic`|
|`MatrixRowStatic`|`MatrixStatic`|`MatrixRowStatic`|`MatrixStatic`|`MatrixRowStatic`|
|`MatrixColumnStatic`|`MatrixStatic`|`MatrixStatic`|`MatrixColumnStatic`|`MatrixColumnStatic`|
|`MatrixDynamic` |`MatrixStatic`|`MatrixRowStatic`|`MatrixColumnStatic`|`MatrixDynamic`|

## 複合代入演算子を定義する上の注意点
$a, b$ が演算の対象、$\ast$ を任意の二項演算子とする時の $a \ast b$ の演算について、その複合代入演算子は $a \ast= b$ となるが、この時結果型が $a$ の型とは異なる場合は、複合代入演算子は定義できない (少なくとも今回の行列演算においてはそう) 。この場合は、別途二項演算子を定義する必要がある。

## 例外が発生するかを確認する必要がある組み合わせ
|A\B |`MatrixStatic` |`MatrixRowStatic` |`MatrixColumnStatic`|`MatrixDynamic`|
|----------------------------------|:-:|:-:|:-:|:-:|
|`MatrixStatic`|不要|**必要**|**必要**|**必要**|
|`MatrixRowStatic`|**必要**|**必要**|**必要**|**必要**|
|`MatrixColumnStatic`|**必要**|**必要**|**必要**|**必要**|
|`MatrixDynamic` |**必要**|**必要**|**必要**|**必要**|

## 実装進捗
|A\B |`MatrixStatic` |`MatrixRowStatic` |`MatrixColumnStatic`|`MatrixDynamic`|
|--------------------------------|:-------------------------------:|:------------------------------:|:-----------------------------:|:---------------------:|
|`MatrixStatic`|

  • [x] ロジック
|
  • [ ] ロジック
  • [ ] 例外
|
  • [ ] ロジック
  • [ ] 例外
|
  • [ ] ロジック
  • [ ] 例外
|
|`MatrixRowStatic`|
  • [ ] ロジック
  • [ ] 例外
|
  • [x] ロジック
  • [x] 例外
|
  • [ ] ロジック
  • [ ] 例外
|
  • [ ] ロジック
  • [ ] 例外
|
|`MatrixColumnStatic`|
  • [ ] ロジック
  • [ ] 例外
|
  • [ ] ロジック
  • [ ] 例外
|
  • [x] ロジック
  • [x] 例外
|
  • [ ] ロジック
  • [ ] 例外
|
|`MatrixDynamic` |
  • [ ] ロジック
  • [ ] 例外
|
  • [ ] ロジック
  • [ ] 例外
|
  • [ ] ロジック
  • [ ] 例外
|
  • [x] ロジック
  • [x] 例外
|

Contributor guide

No contributing guide indexed for this repository

Research direction

No source files or tests are named. Start by locating the implementations of MatrixStatic, MatrixRowStatic, MatrixColumnStatic, and MatrixDynamic arithmetic operators. Work through the unchecked combinations in the progress table, including required exceptions, and verify that result types and invalid-dimension behavior match the type-compatibility tables.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
machine-learning
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.