---
title: "applyMatrixMultiplication(inputA:transposed:inputB:transposed:output:alpha:workspace:filterParameters:)"
framework: accelerate
role: symbol
role_heading: Type Method
path: "accelerate/bnns/applymatrixmultiplication(inputa:transposed:inputb:transposed:output:alpha:workspace:filterparameters:)"
---

# applyMatrixMultiplication(inputA:transposed:inputB:transposed:output:alpha:workspace:filterParameters:)

Performs a matrix multiplication operation directly on two input matrices.

## Declaration

```swift
static func applyMatrixMultiplication(inputA: BNNSNDArrayDescriptor, transposed transposeA: Bool, inputB: BNNSNDArrayDescriptor, transposed transposeB: Bool, output: BNNSNDArrayDescriptor, alpha: Float, workspace: UnsafeMutableRawBufferPointer?, filterParameters: BNNSFilterParameters? = nil) throws
```

## Parameters

- `inputA`: The descriptor of matrix A.
- `transposeA`: A Boolean value that indicates whether the function transposes the last two dimensions of matrix A.
- `inputB`: The descriptor of matrix B.
- `transposeB`: A Boolean value that indicates whether the function transposes the last two dimensions of matrix B.
- `output`: The descriptor of the output.
- `alpha`: A scalar value that scales the result.
- `workspace`: A pointer to a memory region that the function uses as scratch space. This must have a size no less than the value that doc://com.apple.accelerate/documentation/Accelerate/BNNS/matrixMultiplicationWorkspaceSize(inputA:transposed:inputB:transposed:output:alpha:filterParameters:) returns.
- `filterParameters`: The filter runtime parameters.

## See Also

### Matrix multiplication

- [BNNSDirectApplyBroadcastMatMul(_:_:_:_:_:_:_:)](accelerate/bnnsdirectapplybroadcastmatmul(_:_:_:_:_:_:_:).md)
- [BNNS.BroadcastMatrixMultiplyLayer](accelerate/bnns/broadcastmatrixmultiplylayer.md)
- [BNNSLayerParametersBroadcastMatMul](accelerate/bnnslayerparametersbroadcastmatmul.md)
- [BNNSFilterCreateLayerBroadcastMatMul(_:_:)](accelerate/bnnsfiltercreatelayerbroadcastmatmul(_:_:).md)
- [BNNSMatMulWorkspaceSize(_:_:_:_:_:_:_:)](accelerate/bnnsmatmulworkspacesize(_:_:_:_:_:_:_:).md)
- [BNNSMatMul(_:_:_:_:_:_:_:_:)](accelerate/bnnsmatmul(_:_:_:_:_:_:_:_:).md)
- [matrixMultiplicationWorkspaceSize(inputA:transposed:inputB:transposed:output:alpha:filterParameters:)](accelerate/bnns/matrixmultiplicationworkspacesize(inputa:transposed:inputb:transposed:output:alpha:filterparameters:).md)
