2026a

# *


符号矩阵乘法

函数库: TySymbolicMath

# 语法

A * B
* (A, B)

# 说明

A * B 返回 A 和 B 的矩阵乘积。如果 A 是一个 m×p 而 B 是一个 p×n 矩阵,那么结果是一个 m×n 矩阵 C,定义为

对于非标量 A 和 B,A 的列数必须等于 B 的行数。矩阵乘法对于非标量的输入一般不是可交换的。也就是说,通常 A*B 不等于 B*A。 如果至少一个输入是标量,则 A*B 等价于 A.*B 并且是可交换的。 示例


*(A, B) 是 A * B 的替代用法。

# 示例

两个向量相乘

创建一个 1×5 行向量和一个 5×1 列向量。求这两个向量的矩阵乘积,即求 A 和 B 的内积。

using TySymbolicMath
@variables x
A = [x, 2*x^2, 3*x^3, 4*x^4]'
B = [1/x, 2/x^2, 3/x^3, 4/x^4]
A*B
30
两个矩阵相乘

创建一个 4×3 矩阵和一个 3×2 矩阵,并将两矩阵相乘,结果为一个 4×2 矩阵。

using TySymbolicMath
@variables a[1:4,1:3]
a=scalarize(a)
@variables b[1:3,1:2]
b=scalarize(b)
a*b
4×2 Matrix{Num}:
a[1, 1]*b[1, 1] + a[1, 2]*b[2, 1] + a[1, 3]*b[3, 1]  …  a[1, 1]*b[1, 2] + a[1, 2]*b[2, 2] + a[1, 3]*b[3, 2]
a[2, 1]*b[1, 1] + a[2, 2]*b[2, 1] + a[2, 3]*b[3, 1]     a[2, 1]*b[1, 2] + a[2, 2]*b[2, 2] + a[2, 3]*b[3, 2]
a[3, 1]*b[1, 1] + a[3, 2]*b[2, 1] + a[3, 3]*b[3, 1]     a[3, 1]*b[1, 2] + a[3, 2]*b[2, 2] + a[3, 3]*b[3, 2]
a[4, 1]*b[1, 1] + a[4, 2]*b[2, 1] + a[4, 3]*b[3, 1]     a[4, 1]*b[1, 2] + a[4, 2]*b[2, 2] + a[4, 3]*b[3, 2]
矩阵与标量相乘

创建一个 4×4 希尔伯特矩阵 H。

using TySymbolicMath
using TyMath
@variables H
H = hilb(4)
4×4 Matrix{Float64}:
1.0       0.5       0.333333  0.25
0.5       0.333333  0.25      0.2
0.333333  0.25      0.2       0.166667
0.25      0.2       0.166667  0.142857

将矩阵 H 与标量 x 相乘,即矩阵中每一个元素乘以 x。

@variables x
H * x
4×4 Matrix{Num}:
x          0.5x       0.333333x  0.25x
0.5x       0.333333x  0.25x      0.2x
0.333333x  0.25x      0.2x       0.166667x
0.25x      0.2x       0.166667x  0.142857x

# 输入参数

A, B - 输入符号
符号变量 | 符号表达式 | 符号函数 | 符号向量 | 符号矩阵

输入符号,指定为符号变量、表达式或函数,或符号变量、表达式或函数的向量或矩阵。输入 A 的行数必须等于 B 的列数,除非其中一个是标量。标量值扩展为与其他输入相同大小的数组。

# 另请参阅

+ | - | / | \ | ^ | transpose