user: Explain M in complete detail according to the official Blender documentation.

assistant: y_matrix() (in module gpu.matrix)](gpu.matrix.html#gpu.matrix.multiply_matrix) - [MultiplyStrip (class in bpy.types)](bpy.types.MultiplyStrip.html#bpy.types.MultiplyStrip) - [MultiplyStrip.input_count (in module bpy.types)](bpy.types.MultiplyStrip.html#bpy.types.MultiplyStrip.input_count) - [multires_base_apply() (in module bpy.ops.object)](bpy.ops.object.html#bpy.ops.object.multires_base_apply) - [multires_external_pack() (in module bpy.ops.object)](bpy.ops.object.html#bpy.ops.object.multires_external_pack) - [multires_external_save() (in module bpy.ops.object)](bpy.ops.object.html#bpy.ops.object.multires_external_save) - [multires_higher_levels_delete() (in module bpy.ops.object)](bpy.ops.object.html#bpy.ops.object.multires_higher_levels_delete) - [multires_rebuild_subdiv() (in module bpy.ops.object)](bpy.ops.object.html#bpy.ops.object.multires_rebuild_subdiv) - [multires_reshape() (in module bpy.ops.object)](bpy.ops.object.html#bpy.ops.object.multires_reshape) - [multires_subdivide() (in module bpy.ops.object)](bpy.ops.object.html#bpy.ops.object.multires_subdivide) - [multires_unsubdivide() (in module bpy.ops.object)](bpy.ops.object.html#bpy.ops.object.multires_unsubdivide) - [MultiresModifier (class in bpy.types)](bpy.types.MultiresModifier.html#bpy.types.MultiresModifier) - [MultiresModifier.is_external (in module bpy.types)](bpy.types.MultiresModifier.html#bpy.types.MultiresModifier.is_external) - [MultiresModifier.total_levels (in module bpy.types)](bpy.types.MultiresModifier.html#bpy.types.MultiresModifier.total_levels) - [musgrave_type (bpy.types.MusgraveTexture attribute)](bpy.types.MusgraveTexture.html#bpy.types.MusgraveTexture.musgrave_type) - [MusgraveTexture (class in bpy.types)](bpy.types.MusgraveTexture.html#bpy.types.MusgraveTexture) - [MusgraveTexture.users_material (in module bpy.types)](bpy.types.MusgraveTexture.html#bpy.types.MusgraveTexture.users_material) - [MusgraveTexture.users_object_modifier (in module bpy.types)](bpy.types.MusgraveTexture.html#bpy.types.MusgraveTexture.users_object_modifier) - [mutable() (aud.aud.Sound method)](aud.html#aud.aud.Sound.mutable) - [mute (bpy.types.ActionGroup attribute)](bpy.types.ActionGroup.html#bpy.types.ActionGroup.mute)   - [(bpy.types.Constraint attribute)](bpy.types.Constraint.html#bpy.types.Constraint.mute)   - [(bpy.types.FCurve attribute)](bpy.types.FCurve.html#bpy.types.FCurve.mute)   - [(bpy.types.FModifier attribute)](bpy.types.FModifier.html#bpy.types.FModifier.mute)   - [(bpy.types.MovieTrackingMarker attribute)](bpy.types.MovieTrackingMarker.html#bpy.types.MovieTrackingMarker.mute)   - [(bpy.types.MovieTrackingPlaneMarker attribute)](bpy.types.MovieTrackingPlaneMarker.html#bpy.types.MovieTrackingPlaneMarker.mute)   - [(bpy.types.NlaStrip attribute)](bpy.types.NlaStrip.html#bpy.types.NlaStrip.mute)   - [(bpy.types.NlaTrack attribute)](bpy.types.NlaTrack.html#bpy.types.NlaTrack.mute)   - [(bpy.types.Node attribute)](bpy.types.Node.html#bpy.types.Node.mute)   - [(bpy.types.SequenceTimelineChannel attribute)](bpy.types.SequenceTimelineChannel.html#bpy.types.SequenceTimelineChannel.mute)   - [(bpy.types.ShapeKey attribute)](bpy.types.ShapeKey.html#bpy.types.ShapeKey.mute)   - [(bpy.types.Strip attribute)](bpy.types.Strip.html#bpy.types.Strip.mute)   - [(bpy.types.StripModifier attribute)](bpy.types.StripModifier.html#bpy.types.StripModifier.mute) - [mute() (in module bpy.ops.sequencer)](bpy.ops.sequencer.html#bpy.ops.sequencer.mute) - [mute_toggle() (in module bpy.ops.nla)](bpy.ops.nla.html#bpy.ops.nla.mute_toggle)   - [(in module bpy.ops.node)](bpy.ops.node.html#bpy.ops.node.mute_toggle) - [muted (aud.aud.Sequence attribute)](aud.html#aud.aud.Sequence.muted)   - [(aud.aud.SequenceEntry attribute)](aud.html#aud.aud.SequenceEntry.muted)   - [(bpy.types.Speaker attribute)](bpy.types.Speaker.html#bpy.types.Speaker.muted) - [muxrate (bpy.types.FFmpegSettings attribute)](bpy.types.FFmpegSettings.html#bpy.types.FFmpegSettings.muxrate) |