Files
cppdraft_translate/cppdraft/linalg/reqs/val.md
2025-10-25 03:02:53 +03:00

41 lines
1.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[linalg.reqs.val]
# 29 Numerics library [[numerics]](./#numerics)
## 29.9 Basic linear algebra algorithms [[linalg]](linalg#reqs.val)
### 29.9.4 Requirements [[linalg.reqs]](linalg.reqs#val)
#### 29.9.4.1 Linear algebra value types [linalg.reqs.val]
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L11788)
Throughout [[linalg]](linalg "29.9Basic linear algebra algorithms"),
the following types are[*linear algebra value types*](#def:value_type,linear_algebra "29.9.4.1Linear algebra value types[linalg.reqs.val]"):
- [(1.1)](#1.1)
the value_type type alias of
any input or output mdspan parameter(s) of
any function in [[linalg]](linalg "29.9Basic linear algebra algorithms"); and
- [(1.2)](#1.2)
the Scalar template parameter (if any) of
any function or class in [[linalg]](linalg "29.9Basic linear algebra algorithms")[.](#1.sentence-1)
[2](#2)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L11802)
Linear algebra value types shall model [semiregular](concepts.object#concept:semiregular "18.6Object concepts[concepts.object]")[.](#2.sentence-1)
[3](#3)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/numerics.tex#L11805)
A value-initialized object of linear algebra value type
shall act as the additive identity[.](#3.sentence-1)