From eb92efcf66112f1665d8f6e98e38fb0c114060b1 Mon Sep 17 00:00:00 2001
From: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Date: Tue, 13 May 2025 20:51:45 -0700
Subject: [PATCH 1/3] fix tensor docs

---
 .../System/Numerics/Tensors/netcore/Tensor.cs | 52 +++++++++----------
 1 file changed, 26 insertions(+), 26 deletions(-)

diff --git a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs
index ee2fa5a382f44a..a542dfd38e08db 100644
--- a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs
+++ b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs
@@ -4203,7 +4203,7 @@ public static ref readonly TensorSpan<T> LogP1<T>(scoped in ReadOnlyTensorSpan<T
 
         #region Max
         /// <summary>Searches for the largest number in the specified tensor.</summary>
-        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param>
+        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param>
         public static T Max<T>(scoped in ReadOnlyTensorSpan<T> x)
             where T : INumber<T>
         {
@@ -4266,7 +4266,7 @@ public static ref readonly TensorSpan<T> Max<T>(scoped in ReadOnlyTensorSpan<T>
 
         #region MaxMagnitude
         /// <summary>Searches for the number with the largest magnitude in the specified tensor.</summary>
-        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param>
+        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param>
         public static T MaxMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x)
             where T : INumber<T>
         {
@@ -4329,7 +4329,7 @@ public static ref readonly TensorSpan<T> MaxMagnitude<T>(scoped in ReadOnlyTenso
 
         #region MaxMagnitudeNumber
         /// <summary>Searches for the number with the largest magnitude in the specified tensor.</summary>
-        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param>
+        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param>
         public static T MaxMagnitudeNumber<T>(scoped in ReadOnlyTensorSpan<T> x)
             where T : INumberBase<T>
         {
@@ -4392,7 +4392,7 @@ public static ref readonly TensorSpan<T> MaxMagnitudeNumber<T>(scoped in ReadOnl
 
         #region MaxNumber
         /// <summary>Searches for the largest number in the specified tensor.</summary>
-        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param>
+        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param>
         public static T MaxNumber<T>(scoped in ReadOnlyTensorSpan<T> x)
             where T : INumber<T>
         {
@@ -4455,7 +4455,7 @@ public static ref readonly TensorSpan<T> MaxNumber<T>(scoped in ReadOnlyTensorSp
 
         #region Min
         /// <summary>Searches for the largest number in the specified tensor.</summary>
-        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param>
+        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param>
         public static T Min<T>(scoped in ReadOnlyTensorSpan<T> x)
             where T : INumber<T>
         {
@@ -4469,7 +4469,7 @@ public static T Min<T>(scoped in ReadOnlyTensorSpan<T> x)
             return result;
         }
 
-        /// <summary>Computes the element-wise Minimum of the numbers in the specified tensors.</summary>
+        /// <summary>Computes the element-wise minimum of the numbers in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         public static Tensor<T> Min<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y)
@@ -4480,7 +4480,7 @@ public static Tensor<T> Min<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan
             return output;
         }
 
-        /// <summary>Computes the element-wise Minimum of the numbers in the specified tensors.</summary>
+        /// <summary>Computes the element-wise minimum of the numbers in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         /// <param name="destination">The destination tensor, represented as a span.</param>
@@ -4492,7 +4492,7 @@ public static ref readonly TensorSpan<T> Min<T>(scoped in ReadOnlyTensorSpan<T>
             return ref destination;
         }
 
-        /// <summary>Computes the element-wise Minimum of the numbers in the specified tensors.</summary>
+        /// <summary>Computes the element-wise minimum of the numbers in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         public static Tensor<T> Min<T>(in ReadOnlyTensorSpan<T> x, T y)
@@ -4503,7 +4503,7 @@ public static Tensor<T> Min<T>(in ReadOnlyTensorSpan<T> x, T y)
             return destination;
         }
 
-        /// <summary>Computes the element-wise Minimum of the numbers in the specified tensors.</summary>
+        /// <summary>Computes the element-wise minimum of the numbers in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         /// <param name="destination">The destination tensor, represented as a span.</param>
@@ -4517,8 +4517,8 @@ public static ref readonly TensorSpan<T> Min<T>(scoped in ReadOnlyTensorSpan<T>
         #endregion
 
         #region MinMagnitude
-        /// <summary>Searches for the number with the largest magnitude in the specified tensor.</summary>
-        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param>
+        /// <summary>Searches for the number with the smallest magnitude in the specified tensor.</summary>
+        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param>
         public static T MinMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x)
             where T : INumber<T>
         {
@@ -4532,7 +4532,7 @@ public static T MinMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x)
             return result;
         }
 
-        /// <summary>Computes the element-wise number with the largest magnitude in the specified tensors.</summary>
+        /// <summary>Computes the element-wise number with the smallest magnitude in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         public static Tensor<T> MinMagnitude<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y)
@@ -4543,7 +4543,7 @@ public static Tensor<T> MinMagnitude<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyT
             return destination;
         }
 
-        /// <summary>Computes the element-wise number with the largest magnitude in the specified tensors.</summary>
+        /// <summary>Computes the element-wise number with the smallest magnitude in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         /// <param name="destination">The destination tensor, represented as a span.</param>
@@ -4555,7 +4555,7 @@ public static ref readonly TensorSpan<T> MinMagnitude<T>(scoped in ReadOnlyTenso
             return ref destination;
         }
 
-        /// <summary>Computes the element-wise number with the largest magnitude in the specified tensors.</summary>
+        /// <summary>Computes the element-wise number with the smallest magnitude in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         public static Tensor<T> MinMagnitude<T>(in ReadOnlyTensorSpan<T> x, T y)
@@ -4566,7 +4566,7 @@ public static Tensor<T> MinMagnitude<T>(in ReadOnlyTensorSpan<T> x, T y)
             return destination;
         }
 
-        /// <summary>Computes the element-wise number with the largest magnitude in the specified tensors.</summary>
+        /// <summary>Computes the element-wise number with the smallest magnitude in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         /// <param name="destination">The destination tensor, represented as a span.</param>
@@ -4580,8 +4580,8 @@ public static ref readonly TensorSpan<T> MinMagnitude<T>(scoped in ReadOnlyTenso
         #endregion
 
         #region MinMagnitudeNumber
-        /// <summary>Searches for the number with the largest magnitude in the specified tensor.</summary>
-        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param>
+        /// <summary>Searches for the number with the smallest magnitude in the specified tensor.</summary>
+        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param>
         public static T MinMagnitudeNumber<T>(scoped in ReadOnlyTensorSpan<T> x)
             where T : INumberBase<T>
         {
@@ -4595,7 +4595,7 @@ public static T MinMagnitudeNumber<T>(scoped in ReadOnlyTensorSpan<T> x)
             return result;
         }
 
-        /// <summary>Computes the element-wise number with the largest magnitude in the specified tensors.</summary>
+        /// <summary>Computes the element-wise number with the smallest magnitude in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         public static Tensor<T> MinMagnitudeNumber<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y)
@@ -4606,7 +4606,7 @@ public static Tensor<T> MinMagnitudeNumber<T>(in ReadOnlyTensorSpan<T> x, in Rea
             return destination;
         }
 
-        /// <summary>Computes the element-wise number with the largest magnitude in the specified tensors.</summary>
+        /// <summary>Computes the element-wise number with the smallest magnitude in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         /// <param name="destination">The destination tensor, represented as a span.</param>
@@ -4618,7 +4618,7 @@ public static ref readonly TensorSpan<T> MinMagnitudeNumber<T>(scoped in ReadOnl
             return ref destination;
         }
 
-        /// <summary>Computes the element-wise number with the largest magnitude in the specified tensors.</summary>
+        /// <summary>Computes the element-wise number with the smallest magnitude in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         public static Tensor<T> MinMagnitudeNumber<T>(in ReadOnlyTensorSpan<T> x, T y)
@@ -4629,7 +4629,7 @@ public static Tensor<T> MinMagnitudeNumber<T>(in ReadOnlyTensorSpan<T> x, T y)
             return destination;
         }
 
-        /// <summary>Computes the element-wise number with the largest magnitude in the specified tensors.</summary>
+        /// <summary>Computes the element-wise number with the smallest magnitude in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         /// <param name="destination">The destination tensor, represented as a span.</param>
@@ -4644,7 +4644,7 @@ public static ref readonly TensorSpan<T> MinMagnitudeNumber<T>(scoped in ReadOnl
 
         #region MinNumber
         /// <summary>Searches for the largest number in the specified tensor.</summary>
-        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param>
+        /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param>
         public static T MinNumber<T>(scoped in ReadOnlyTensorSpan<T> x)
             where T : INumber<T>
         {
@@ -4658,7 +4658,7 @@ public static T MinNumber<T>(scoped in ReadOnlyTensorSpan<T> x)
             return result;
         }
 
-        /// <summary>Computes the element-wise Minimum of the numbers in the specified tensors.</summary>
+        /// <summary>Computes the element-wise minimum of the numbers in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         public static Tensor<T> MinNumber<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y)
@@ -4669,7 +4669,7 @@ public static Tensor<T> MinNumber<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTens
             return destination;
         }
 
-        /// <summary>Computes the element-wise Minimum of the numbers in the specified tensors.</summary>
+        /// <summary>Computes the element-wise minimum of the numbers in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         /// <param name="destination">The destination tensor, represented as a span.</param>
@@ -4681,7 +4681,7 @@ public static ref readonly TensorSpan<T> MinNumber<T>(scoped in ReadOnlyTensorSp
             return ref destination;
         }
 
-        /// <summary>Computes the element-wise Minimum of the numbers in the specified tensors.</summary>
+        /// <summary>Computes the element-wise minimum of the numbers in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         public static Tensor<T> MinNumber<T>(in ReadOnlyTensorSpan<T> x, T y)
@@ -4692,7 +4692,7 @@ public static Tensor<T> MinNumber<T>(in ReadOnlyTensorSpan<T> x, T y)
             return destination;
         }
 
-        /// <summary>Computes the element-wise Minimum of the numbers in the specified tensors.</summary>
+        /// <summary>Computes the element-wise minimum of the numbers in the specified tensors.</summary>
         /// <param name="x">The first tensor, represented as a span.</param>
         /// <param name="y">The second tensor, represented as a span.</param>
         /// <param name="destination">The destination tensor, represented as a span.</param>

From 82ddfce166807fa77bfcbe5bf4e820f80754dfd4 Mon Sep 17 00:00:00 2001
From: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Date: Tue, 13 May 2025 20:54:20 -0700
Subject: [PATCH 2/3] fix a couple more from Copilot review

---
 .../src/System/Numerics/Tensors/netcore/Tensor.cs             | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs
index a542dfd38e08db..9362dfa795aadd 100644
--- a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs
+++ b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs
@@ -4454,7 +4454,7 @@ public static ref readonly TensorSpan<T> MaxNumber<T>(scoped in ReadOnlyTensorSp
         #endregion
 
         #region Min
-        /// <summary>Searches for the largest number in the specified tensor.</summary>
+        /// <summary>Searches for the smallest number in the specified tensor.</summary>
         /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param>
         public static T Min<T>(scoped in ReadOnlyTensorSpan<T> x)
             where T : INumber<T>
@@ -4643,7 +4643,7 @@ public static ref readonly TensorSpan<T> MinMagnitudeNumber<T>(scoped in ReadOnl
         #endregion
 
         #region MinNumber
-        /// <summary>Searches for the largest number in the specified tensor.</summary>
+        /// <summary>Searches for the smallest number in the specified tensor.</summary>
         /// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param>
         public static T MinNumber<T>(scoped in ReadOnlyTensorSpan<T> x)
             where T : INumber<T>

From 578baf228e376ce0eeb4ec3dbda40e3eebee3d79 Mon Sep 17 00:00:00 2001
From: Genevieve Warren <24882762+gewarren@users.noreply.github.com>
Date: Wed, 14 May 2025 07:11:38 -0700
Subject: [PATCH 3/3] exception verbiage

---
 .../Tensors/netcore/IReadOnlyTensor.cs        |  6 +-
 .../Tensors/netcore/IReadOnlyTensor_1.cs      |  6 +-
 .../Numerics/Tensors/netcore/ITensor.cs       |  6 +-
 .../Tensors/netcore/ReadOnlyTensorSpan_1.cs   | 98 +++++++++----------
 .../System/Numerics/Tensors/netcore/Tensor.cs |  2 +-
 5 files changed, 59 insertions(+), 59 deletions(-)

diff --git a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/IReadOnlyTensor.cs b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/IReadOnlyTensor.cs
index 5472f389b96c3a..81e8b1dcf4f4c8 100644
--- a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/IReadOnlyTensor.cs
+++ b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/IReadOnlyTensor.cs
@@ -14,9 +14,9 @@ public interface IReadOnlyTensor
         /// <param name="indexes">The index of the element for which to get.</param>
         /// <returns>The element that exists at <paramref name="indexes" />.</returns>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="indexes" /> does not contain <see cref="Rank" /> elements
-        ///   * <paramref name="indexes" /> contains an element that is negative or greater than or equal to the corresponding dimension length
+        ///   One of the following conditions is met:
+        ///   * <paramref name="indexes" /> does not contain <see cref="Rank" /> elements.
+        ///   * <paramref name="indexes" /> contains an element that is negative or greater than or equal to the corresponding dimension length.
         /// </exception>
         object? this[params scoped ReadOnlySpan<nint> indexes] { get; }
 
diff --git a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/IReadOnlyTensor_1.cs b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/IReadOnlyTensor_1.cs
index c7159b33b05fcd..5a6a3cbc10e735 100644
--- a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/IReadOnlyTensor_1.cs
+++ b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/IReadOnlyTensor_1.cs
@@ -21,9 +21,9 @@ public interface IReadOnlyTensor<TSelf, T> : IReadOnlyTensor, IEnumerable<T>
         /// <param name="indexes">The index of the element for which to get a reference.</param>
         /// <returns>A reference to the element that exists at <paramref name="indexes" />.</returns>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="indexes" /> does not contain <see cref="IReadOnlyTensor.Rank" /> elements
-        ///   * <paramref name="indexes" /> contains an element that is negative or greater than or equal to the corresponding dimension length
+        ///   One of the following conditions is met:
+        ///   * <paramref name="indexes" /> does not contain <see cref="IReadOnlyTensor.Rank" /> elements.
+        ///   * <paramref name="indexes" /> contains an element that is negative or greater than or equal to the corresponding dimension length.
         /// </exception>
         new ref readonly T this[params scoped ReadOnlySpan<nint> indexes] { get; }
 
diff --git a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/ITensor.cs b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/ITensor.cs
index f1adace43cb916..9d8162e51ddb45 100644
--- a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/ITensor.cs
+++ b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/ITensor.cs
@@ -14,9 +14,9 @@ public interface ITensor : IReadOnlyTensor
         /// <param name="indexes">The index of the element for which to get.</param>
         /// <returns>The element that exists at <paramref name="indexes" />.</returns>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="indexes" /> does not contain <see cref="IReadOnlyTensor.Rank" /> elements
-        ///   * <paramref name="indexes" /> contains an element that is negative or greater than or equal to the corresponding dimension length
+        ///   One of the following conditions is met:
+        ///   * <paramref name="indexes" /> does not contain <see cref="IReadOnlyTensor.Rank" /> elements.
+        ///   * <paramref name="indexes" /> contains an element that is negative or greater than or equal to the corresponding dimension length.
         /// </exception>
         new object? this[params scoped ReadOnlySpan<nint> indexes] { get; set; }
 
diff --git a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/ReadOnlyTensorSpan_1.cs b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/ReadOnlyTensorSpan_1.cs
index b070c5242da062..56c2d1a1469ade 100644
--- a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/ReadOnlyTensorSpan_1.cs
+++ b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/ReadOnlyTensorSpan_1.cs
@@ -48,10 +48,10 @@ public ReadOnlyTensorSpan(T[]? array)
         /// <param name="lengths">The lengths of the dimensions. If an empty span is provided, the created tensor will have a single dimension that is the same length as <paramref name="array" />.</param>
         /// <remarks>Returns default when <paramref name="array"/> is null.</remarks>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="array" /> is null and <paramref name="lengths" /> is not empty
-        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative
-        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="array" />.Length
+        ///   One of the following conditions is met:
+        ///   * <paramref name="array" /> is null and <paramref name="lengths" /> is not empty.
+        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative.
+        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="array" />.Length.
         /// </exception>
         public ReadOnlyTensorSpan(T[]? array, scoped ReadOnlySpan<nint> lengths)
         {
@@ -67,13 +67,13 @@ public ReadOnlyTensorSpan(T[]? array, scoped ReadOnlySpan<nint> lengths)
         /// <param name="strides">The strides of each dimension. If an empty span is provided, then strides will be automatically calculated from <paramref name="lengths" />.</param>
         /// <remarks>Returns default when <paramref name="array"/> is null.</remarks>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="array" /> is null and <paramref name="lengths" /> or <paramref name="strides" /> is not empty
-        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative
-        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="array" />.Length
-        ///   * <paramref name="strides" /> is not empty and has a length different from <paramref name="lengths"/>
-        ///   * <paramref name="strides" /> is not empty and contains an element that is negative
-        ///   * <paramref name="strides" /> is not empty and contains an element that is zero in a non leading position
+        ///   One of the following conditions is met:
+        ///   * <paramref name="array" /> is null and <paramref name="lengths" /> or <paramref name="strides" /> is not empty.
+        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative.
+        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="array" />.Length.
+        ///   * <paramref name="strides" /> is not empty and has a length different from <paramref name="lengths"/>.
+        ///   * <paramref name="strides" /> is not empty and contains an element that is negative.
+        ///   * <paramref name="strides" /> is not empty and contains an element that is zero in a non leading position.
         /// </exception>
         public ReadOnlyTensorSpan(T[]? array, scoped ReadOnlySpan<nint> lengths, scoped ReadOnlySpan<nint> strides)
         {
@@ -90,14 +90,14 @@ public ReadOnlyTensorSpan(T[]? array, scoped ReadOnlySpan<nint> lengths, scoped
         /// <param name="strides">The strides of each dimension. If an empty span is provided, then strides will be automatically calculated from <paramref name="lengths" />.</param>
         /// <remarks>Returns default when <paramref name="array"/> is null.</remarks>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="array" /> is null and <paramref name="lengths" /> or <paramref name="strides" /> is not empty
-        ///   * <paramref name="start" /> is not in range of <paramref name="array" />
-        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative
-        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="array" />.Length
-        ///   * <paramref name="strides" /> is not empty and has a length different from <paramref name="lengths"/>
-        ///   * <paramref name="strides" /> is not empty and contains an element that is negative
-        ///   * <paramref name="strides" /> is not empty and contains an element that is zero in a non leading position
+        ///   One of the following conditions is met:
+        ///   * <paramref name="array" /> is null and <paramref name="lengths" /> or <paramref name="strides" /> is not empty.
+        ///   * <paramref name="start" /> is not in range of <paramref name="array" />.
+        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative.
+        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="array" />.Length.
+        ///   * <paramref name="strides" /> is not empty and has a length different from <paramref name="lengths"/>.
+        ///   * <paramref name="strides" /> is not empty and contains an element that is negative.
+        ///   * <paramref name="strides" /> is not empty and contains an element that is zero in a non leading position.
         /// </exception>
         public ReadOnlyTensorSpan(T[]? array, int start, scoped ReadOnlySpan<nint> lengths, scoped ReadOnlySpan<nint> strides)
         {
@@ -121,9 +121,9 @@ public ReadOnlyTensorSpan(ReadOnlySpan<T> span)
         /// <param name="span">The target span.</param>
         /// <param name="lengths">The lengths of the dimensions. If an empty span is provided, the created tensor span will have a single dimension that is the same length as <paramref name="span" />.</param>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative
-        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="span" />.Length
+        ///   One of the following conditions is met:
+        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative.
+        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="span" />.Length.
         /// </exception>
         public ReadOnlyTensorSpan(ReadOnlySpan<T> span, scoped ReadOnlySpan<nint> lengths)
         {
@@ -137,12 +137,12 @@ public ReadOnlyTensorSpan(ReadOnlySpan<T> span, scoped ReadOnlySpan<nint> length
         /// <param name="lengths">The lengths of the dimensions. If an empty span is provided, the created tensor span will have a single dimension that is the same length as <paramref name="span" />.</param>
         /// <param name="strides">The strides of each dimension. If an empty span is provided, then strides will be automatically calculated from <paramref name="lengths" />.</param>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative
-        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="span" />.Length
-        ///   * <paramref name="strides" /> is not empty and has a length different from <paramref name="lengths"/>
-        ///   * <paramref name="strides" /> is not empty and contains an element that is negative
-        ///   * <paramref name="strides" /> is not empty and contains an element that is zero in a non leading position
+        ///   One of the following conditions is met:
+        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative.
+        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="span" />.Length.
+        ///   * <paramref name="strides" /> is not empty and has a length different from <paramref name="lengths"/>.
+        ///   * <paramref name="strides" /> is not empty and contains an element that is negative.
+        ///   * <paramref name="strides" /> is not empty and contains an element that is zero in a non leading position.
         /// </exception>
         public ReadOnlyTensorSpan(ReadOnlySpan<T> span, scoped ReadOnlySpan<nint> lengths, scoped ReadOnlySpan<nint> strides)
         {
@@ -175,14 +175,14 @@ public ReadOnlyTensorSpan(Array? array)
         ///   <para></para>
         /// </remarks>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="array" /> is null and <paramref name="lengths" /> or <paramref name="strides" /> is not empty
-        ///   * <paramref name="start" /> is not in range of <paramref name="array" />
-        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative
-        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="array" />.Length
-        ///   * <paramref name="strides" /> is not empty and has a length different from <paramref name="lengths"/>
-        ///   * <paramref name="strides" /> is not empty and contains an element that is negative
-        ///   * <paramref name="strides" /> is not empty and contains an element that is zero in a non leading position
+        ///   One of the following conditions is met:
+        ///   * <paramref name="array" /> is null and <paramref name="lengths" /> or <paramref name="strides" /> is not empty.
+        ///   * <paramref name="start" /> is not in range of <paramref name="array" />.
+        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative.
+        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="array" />.Length.
+        ///   * <paramref name="strides" /> is not empty and has a length different from <paramref name="lengths"/>.
+        ///   * <paramref name="strides" /> is not empty and contains an element that is negative.
+        ///   * <paramref name="strides" /> is not empty and contains an element that is zero in a non leading position.
         /// </exception>
         public ReadOnlyTensorSpan(Array? array, scoped ReadOnlySpan<int> start, scoped ReadOnlySpan<nint> lengths, scoped ReadOnlySpan<nint> strides)
         {
@@ -211,11 +211,11 @@ public unsafe ReadOnlyTensorSpan(T* data, nint dataLength)
         /// <param name="lengths">The lengths of the dimensions. If an empty span is provided, the created tensor span will have a single dimension that is the same length as <paramref name="dataLength" />.</param>
         /// <remarks>Returns default when <paramref name="data" /> is null.</remarks>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="data" /> is <c>null</c> and <paramref name="dataLength" /> is not zero
-        ///   * <paramref name="data" /> is null and <paramref name="lengths" />
-        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative
-        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="dataLength" />
+        ///   One of the following conditions is met:
+        ///   * <paramref name="data" /> is <c>null</c> and <paramref name="dataLength" /> is not zero.
+        ///   * <paramref name="data" /> is null and <paramref name="lengths" />.
+        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative.
+        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="dataLength" />.
         /// </exception>
         [CLSCompliant(false)]
         public unsafe ReadOnlyTensorSpan(T* data, nint dataLength, scoped ReadOnlySpan<nint> lengths)
@@ -231,14 +231,14 @@ public unsafe ReadOnlyTensorSpan(T* data, nint dataLength, scoped ReadOnlySpan<n
         /// <param name="strides">The strides of each dimension. If an empty span is provided, then strides will be automatically calculated from <paramref name="lengths" />.</param>
         /// <remarks>Returns default when <paramref name="data" /> is null.</remarks>
         /// <exception cref="ArgumentOutOfRangeException">
-        ///   Thrown when one of the following conditions is met:
-        ///   * <paramref name="data" /> is <c>null</c> and <paramref name="dataLength" /> is not zero
-        ///   * <paramref name="data" /> is null and <paramref name="lengths" /> or <paramref name="strides" /> is not empty
-        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative
-        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="dataLength" />
-        ///   * <paramref name="strides" /> is not empty and has a length different from <paramref name="lengths"/>
-        ///   * <paramref name="strides" /> is not empty and contains an element that is negative
-        ///   * <paramref name="strides" /> is not empty and contains an element that is zero in a non leading position
+        ///   One of the following conditions is met:
+        ///   * <paramref name="data" /> is <c>null</c> and <paramref name="dataLength" /> is not zero.
+        ///   * <paramref name="data" /> is null and <paramref name="lengths" /> or <paramref name="strides" /> is not empty.
+        ///   * <paramref name="lengths" /> is not empty and contains an element that is either zero or negative.
+        ///   * <paramref name="lengths" /> is not empty and has a flattened length greater than <paramref name="dataLength" />.
+        ///   * <paramref name="strides" /> is not empty and has a length different from <paramref name="lengths"/>.
+        ///   * <paramref name="strides" /> is not empty and contains an element that is negative.
+        ///   * <paramref name="strides" /> is not empty and contains an element that is zero in a non leading position.
         /// </exception>
         [CLSCompliant(false)]
         public unsafe ReadOnlyTensorSpan(T* data, nint dataLength, scoped ReadOnlySpan<nint> lengths, scoped ReadOnlySpan<nint> strides)
diff --git a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs
index 9362dfa795aadd..233c2d5103492a 100644
--- a/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs
+++ b/src/libraries/System.Numerics.Tensors/src/System/Numerics/Tensors/netcore/Tensor.cs
@@ -67,7 +67,7 @@ public static Tensor<T> Broadcast<T>(scoped in ReadOnlyTensorSpan<T> source, sco
         /// </summary>
         /// <param name="source">Input <see cref="Tensor{T}"/>.</param>
         /// <param name="lengths"><see cref="ReadOnlySpan{T}"/> of the desired new shape.</param>
-        /// <exception cref="ArgumentException">Thrown when the shapes are not broadcast compatible.</exception>
+        /// <exception cref="ArgumentException">The shapes are not broadcast compatible.</exception>
         public static Tensor<T> Broadcast<T>(scoped in ReadOnlyTensorSpan<T> source, scoped ReadOnlySpan<nint> lengths)
         {
             TensorOperation.ValidateCompatibility<T>(source, lengths);
