- As discussed earlier they kind of work like numpy arrays, so here's an example to kick start
 
from manim import *
class MatrixExamples(Scene):
    def construct(self):
        m0 = Matrix([[2, "\pi"]])
        m1 = Matrix([[2, 0, 4]],
            v_buff=1.3,
            h_buff=0.8,
            bracket_h_buff=SMALL_BUFF,
            bracket_v_buff=SMALL_BUFF,
            left_bracket="\{",
            right_bracket="\}")
        m1.add(SurroundingRectangle(m1.get_columns()[1]))
        m2 = Matrix([[2, 1]],
            element_alignment_corner=UL,
            left_bracket="(",
            right_bracket=")")
        m3 = Matrix([[2, 1]],
            left_bracket="\\langle",
            right_bracket="\\rangle")
        m4 = Matrix([[2, 1]],
        ).set_column_colors(RED, GREEN)
        m5 = Matrix([[2, 1]],
        ).set_row_colors(RED, GREEN)
        g = Group(
            m0,m1,m2,m3,m4,m5
        ).arrange_in_grid(buff=2)
        self.add(g)

from manim import *
  
class ExampleArrow3D(ThreeDScene):
def construct(self):
axes = ThreeDAxes()
arrow = Arrow3D(
start=np.array([0, 0, 0]),
end=np.array([2, 2, 2]),
resolution=8,
color=BLUE,
)
self.set_camera_orientation(phi=75 * DEGREES, theta=30 * DEGREES)
self.play(Create(axes))
self.play(Create(arrow))
label = Text("2i+2j+2k",font_size=20).next_to(arrow.get_end())
self.add_fixed_in_frame_mobjects(label)
self.play(FadeIn(label))
self.remove(label)
icap = Arrow3D(
start=np.array([0, 0, 0]),
end=np.array([1, 0, 0]),
resolution=8,
color=GREEN,
)
jcap = Arrow3D(
start=np.array([0, 0, 0]),
end=np.array([0, 1, 0]),
resolution=8,
color=TEAL,
)
kcap = Arrow3D(
start=np.array([0, 0, 0]),
end=np.array([0, 0, 1]),
resolution=8,
color=RED,
)
matrix = [[-1, 2, 0]]
group = VGroup(arrow, icap, jcap, kcap)
self.play(ApplyMatrix(matrix, group),run_time=5)
label = Text("8i+12j-2k",font_size=20).next_to(arrow.get_end())
self.add_fixed_in_frame_mobjects(label)
self.play(FadeIn(label))