SYMV[ul,α,a,x,β,y]
computes the symmetric matrix-vector multiplication α a.x+β y and resets y to the result.
SYMV
SYMV[ul,α,a,x,β,y]
computes the symmetric matrix-vector multiplication α a.x+β y and resets y to the result.
詳細とオプション
- To use SYMV, you first need to load the BLAS Package using Needs["LinearAlgebra`BLAS`"].
- The following arguments must be given:
-
ul input string upper/lower triangular string α input expression scalar mutliple a input expression square symmetric matrix x input expression vector β input expression scalar multiple y input/output symbol vector; the symbol value is modified in place - The matrix is assumed symmetric, and only the upper or lower triangular part of a is used.
- The upper/lower triangular string ul may be specified as:
-
"U" the upper triangular part of a is to be used "L" the lower triangular part of a is to be used - Dimensions of the matrix and vector arguments must be such that the dot product and addition are well defined.
例題
すべて開く すべて閉じる例 (1)
Scope (4)
Real symmetric matrix and vectors:
y = {2.3, 1.2, 3.9};
a = {{2.1, 0, 1.4}, {3.5, 2.4, 0.4}, {0, 2.7, 1.3}};
x = {0, 1.2, -1.3};
SYMV["U", 2, a, x, 1, y];
yComplex symmetric matrix and vectors:
y = {2.3 + 3.I, 1.2 I};
a = {{2.1, 1.4 I}, {1.4 I, 0.4}};
x = {1.2, -1.3 - 2.I};
SYMV["U", 2, a, x, 1, y];
yArbitrary-precision symmetric matrix and vectors:
y = {-2`20, 1};
a = {{1`20, 3}, {3, 4}};
x = {1`20, 2};
SYMV["U", -1, a, x, 2, y];
ySymbolic symmetric matrix and vectors:
y = {y1, y2};
a = {{m11, m12}, {m12, m22}};
x = {x1, x2};
SYMV["U", α, a, x, β, y];
yProperties & Relations (3)
SYMV["U",α,a,x,β,y] is equivalent to y=α a.x+β y if a is symmetric:
y = y1 = RandomReal[1, {5}];
a = RandomReal[1, {5, 5}];
a = (a + Transpose[a]) / 2.; (* symmetrize a *)
x = RandomReal[1, {5}];
SYMV["U", 3, a, x, -2, y];
y == 3 a.x - 2 y1For a symmetric matrix, using the upper or lower triangular part generally produces the same result:
y = y1 = {v, w};
x = {s, t};
a = {{1, 2}, {2, 1}};
SYMV["U", α, a, x, β, y]
ySYMV["L", α, a, x, β, y1]
y1SYMV works with a non-symmetric matrices:
y = yU = yL = RandomReal[1, {5}];
x = RandomReal[1, {5}];
a = RandomReal[1, {5, 5}];
SYMV["U", 3, a, x, -2, yU];
yUHowever, the upper and lower parts give different results:
SYMV["L", 3, a, x, -2, yL];
yLThe effective computation of yU is the following:
sa = Block[{lta = LowerTriangularize[a, -1]}, lta + Transpose[lta] + DiagonalMatrix[Diagonal[a]]];
yU == 3 sa.x - 2 y関連するガイド
テキスト
Wolfram Research (2017), SYMV, Wolfram言語関数, https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/SYMV.html.
CMS
Wolfram Language. 2017. "SYMV." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/SYMV.html.
APA
Wolfram Language. (2017). SYMV. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/SYMV.html
BibTeX
@misc{reference.wolfram_2026_symv, author="Wolfram Research", title="{SYMV}", year="2017", howpublished="\url{https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/SYMV.html}", note=[Accessed: 11-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_symv, organization={Wolfram Research}, title={SYMV}, year={2017}, url={https://reference.wolfram.com/language/LowLevelLinearAlgebra/ref/SYMV.html}, note=[Accessed: 11-August-2026]}