[WIP] GenericTensor 2.0 API Design
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Es werden keine Quelldateien oder Tests genannt. Beginne mit der Prüfung der vorgeschlagenen GenericTensor.Core-Schnittstellen und Tensor-Signaturen, insbesondere der Namenswahl und des Widerspruchs zwischen Tensor und Tensor; als abgeschlossen gilt die Aufgabe erst, wenn ein abgestimmtes, intern konsistentes API-Design vorliegt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Name of the type
For now we will assume it's Tensor. However it's opionated, because it might be useful to avoid calling it the same name as other libs.
Operations
Namespace: GenericTensor.Core.
Interfaces with method Invoke: () -> A
IAdditiveIdentity<A>
IMultiplicativeIdentity<A>
Interfaces with method Invoke: A -> B
INegate<A, B>
Interfaces with method Invoke: A x B -> C
IAdd<A, B, C>
ISubtract<A, B, C>
IMultiply<A, B, C>
IDivide<A, B, C>
Interfaces with method Invoke: A -> bool
IEqualsAdditiveIdentity<A>
Interfaces with method Invoke: A x B -> bool
IAreEqual<A, B>
Interfaces with method Invoke: A -> string
IToString<A>
Interfaces with method Invoke: A -> byte[]
ISerialize<A>
Interfaces with method Invoke: byte[] -> A
IDeserialize<A>
Tensor
The main type where all these methods will be is Tensor (but not Tensor<T>!).
Composition
static Tensor<T> Concat<T>(params Tensor<T>[] ts, int axis = -1);
byte[] Serialize<T, TSerializer>() where TSerializer : ISerialize<T>;
Tensor<T> Slice<T>(params Either<int, Index, Range>[] dims);
static Tensor<T> Stack<T>(params Tensor<T>[] ts);
Tensor<T> Transpose<T>(Tensor<T> a);
Tensor<T> Transpose<T>(Tensor<T> a, int axis1, int axis2);
void TransposeInplace(Tensor<T> a);
void TransposeInplace(Tensor<T> a, int axis1, int axis2);
Math operations
...
Elementwise:
void AddPointwise<A, B, C, TAdder>(Tensor<A> a, Tensor<B> b, Tensor<C> destination) where TAdder : struct, IAdder<A, B, C>;
Tensor<C> AddPointwise<A, B, C, TAdder>(Tensor<A> a, Tensor<B> b) where TAdder : struct, IAdder<A, B, C>;
- Vorherrschende Sprache
- C#
- Sterne
- 52
- Forks
- 6
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus ASC-Community/GenericTensor
-
Determinant and Inverse return wrong values when called from more than one threadEvtl. vergeben @Rafael-SOWNet hat das vor 40 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
-
good first issue
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
-
proposal
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
ASC-Community/GenericTensor#36 · 1 Kommentar ·
-
Will this package support MKL or OpenBlas as backend to accelerate matrix inverse computing speedOffen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
ASC-Community/GenericTensor#30 · 1 Kommentar ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
ASC-Community/GenericTensor#29 · 1 Kommentar ·
Alle Issues in ASC-Community/GenericTensor
Ähnliche Issues
-
bug priority: P2
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
Maintainer antworten meist innerhalb von 1 Tag
-
[Docs] README/PRIVACY still name AppCenter although v1.5.6.0+ uses the Microsoft Store Services SDKOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
needs-triage
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Azure/azure-sdk-tools#17317 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
swisstopo/swissgeol-boreholes-suite#3086 ·
Maintainer antworten meist innerhalb von 1 Tag