Macaulay2 Engine
Loading...
Searching...
No Matches

◆ identity()

Matrix * Matrix::identity ( const FreeModule * F)
static

Definition at line 380 of file matrix.cpp.

381{
382 const Ring *R = F->get_ring();
383 const ring_elem one = R->from_long(1);
384 MatrixConstructor mat(F, F, nullptr);
385 for (int i = 0; i < F->rank(); i++) mat.set_entry(i, i, R->copy(one));
386 return mat.to_matrix();
387}
const Ring * get_ring() const
Definition freemod.hpp:102
int rank() const
Definition freemod.hpp:105
friend class MatrixConstructor
Definition matrix.hpp:76
virtual ring_elem from_long(long n) const =0
virtual ring_elem copy(const ring_elem f) const =0

References Ring::copy(), FreeModule, Ring::from_long(), FreeModule::get_ring(), identity(), Matrix(), MatrixConstructor, FreeModule::rank(), MatrixConstructor::set_entry(), and MatrixConstructor::to_matrix().

Referenced by identity().